40
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

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



这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!

注册即送1000元现金券