欢迎来到七亿网络,开启您的互联网之旅!

关于linux在虚拟机vps下如何扩展分区大小,比较实用记录下


    Linux-VMware虚拟机云主机扩展Linux根目录磁盘空间(Centos)

    这也是之前遇到的问题,避免每次都去找方法记录一下操作。毕竟如果用的是VPS之类的虚拟机很多情况下是服务商给分好的区大小,如果不够用又不想挂载,或者挂载容易导致程序出错。。就用这个办法吧!

    首先,先要联系服务器商给你把磁盘扩展,当然有很多都是扩展好的。如果你是本地就打开VMware自行扩展,这里不做解释。

    输入指令

    fdisk -l

    显示结果如下

    Disk /dev/loop0: 107.4 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/loop1: 2147 MB, 2147483648 bytes
    255 heads, 63 sectors/track, 261 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/sda: 37.6 GB, 37580963840 bytes
    255 heads, 63 sectors/track, 4568 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000c8278
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          64      512000   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              64        1306     9972736   8e  Linux LVM
    
    Disk /dev/mapper/vg_test001-lv_root: 9135 MB, 9135194112 bytes
    255 heads, 63 sectors/track, 1110 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/mapper/vg_test001-lv_swap: 1073 MB, 1073741824 bytes
    255 heads, 63 sectors/track, 130 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/mapper/docker-253:0-264224-pool: 107.4 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 65536 bytes
    Disk identifier: 0x00000000

    其中,可以看到现在的分区情况如下

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          64      512000   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              64        1306     9972736   8e  Linux LVM

    3、创建分区 sda3

    输入指令

    fdisk /dev/sda

    然后根据命令提示创建分区,具体见以下 # 后面的注释

    WARNING: DOS-compatible mode is deprecated. It s strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): n   # 输入 n 表示创建新分区Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 3   # 输入 3 表示sda3,因为前面已经有两个了First cylinder (1306-4568, default 1306):     # 回车,按默认值Using default value 1306
    Last cylinder, +cylinders or +size{K,M,G} (1306-4568, default 4568):   # 回车,按默认值Using default value 4568
    
    Command (m for help): w     # 输入 w 保存退出 The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.

    再次查看分区情况

    fdisk -l

    这时可以看到

    Disk /dev/loop0: 107.4 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/loop1: 2147 MB, 2147483648 bytes
    255 heads, 63 sectors/track, 261 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/sda: 37.6 GB, 37580963840 bytes
    255 heads, 63 sectors/track, 4568 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000c8278
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          64      512000   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              64        1306     9972736   8e  Linux LVM
    /dev/sda3            1306        4568    26206700   83  Linux
    
    Disk /dev/mapper/vg_test001-lv_root: 9135 MB, 9135194112 bytes
    255 heads, 63 sectors/track, 1110 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/mapper/vg_test001-lv_swap: 1073 MB, 1073741824 bytes
    255 heads, 63 sectors/track, 130 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/mapper/docker-253:0-264224-pool: 107.4 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 65536 bytes
    Disk identifier: 0x00000000

    其中,分区已变为3个了,但这时还没挂载,还不能用

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          64      512000   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              64        1306     9972736   8e  Linux LVM
    /dev/sda3            1306        4568    26206700   83  Linux

    4、重启操作系统

    reboot

    5、格式化新分区为ext3

    输入指令

    mkfs -t ext3 /dev/sda3

    结果为

    mke2fs 1.41.12 (17-May-2010)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    1638400 inodes, 6551675 blocks
    327583 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=4294967296
    200 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    	4096000
    
    Writing inode tables: done                            Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 33 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    6、将物理硬盘分区初始化为物理卷,以便被LVM使用,输入指令

    lvs
    pvcreate /dev/sda3

    7、向卷组中添加物理卷来增加卷组的容量

    查看lvm组名,输入指令 df -h

    [root@test001 ~]# df -hFilesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root
                          8.3G  5.4G  2.5G  69% /
    tmpfs                1001M     0 1001M   0% /dev/shm
    /dev/sda1             477M   54M  394M  12% /boot

    其中,vg_test001 就是 根 所在的组名

    输入指令,增加卷组的容量

    vgextend centos /dev/sda3

    8、查看可扩展的空间大小

    输入指令,显示LNM卷组的元数据信息

    vgdisplay

    结果为

      --- Volume group ---
      VG Name               centos
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               34.50 GiB
      PE Size               4.00 MiB
      Total PE              8831
      Alloc PE / Size       2434 / 9.51 GiB
      Free  PE / Size       6397 / 24.99 GiB
      VG UUID               JuPKc8-Ydps-1bsN-0Wld-fbYS-0Hd2-NgvX1q

    其中 Free PE / Size 就是可供分配的自由空间,最多有 24.99G,在扩展时输入小于该值

    9、扩充磁盘空间

    lvextend -L+24G /dev/mapper/centos-root /dev/sda3

    10、使用e2fsck指令检查文件系统错误

    centos-roote2fsck -a /dev/mapper/centos-root

    11、使用resize2fs指令来增大或者收缩未加载的“ext2/ext3”文件系统的大小

    resize2fs /dev/mapper/centos-root
    
    这里特别注意下:如果报错
    /dev/sdxx is apparently in use by the system; will not make a filesystem here! 解决方法!执行下面的。
    
    xfs_growfs /dev/mapper/centos-root

    12、查看扩展空间后的结果

    [root@test001 ~]# df -hFilesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root
                           32G  5.4G   26G  18% /
    tmpfs                1001M     0 1001M   0% /dev/shm
    /dev/sda1             477M   54M  394M  12% /boot

    可以看出,在根目录下磁盘空间已经扩容了,大功告成!