调整磁盘卷大小后,Linux扩展文件系统
虚拟机硬盘原来只有100G,扩展到200G,但是还是只能用100G。
如何调整磁盘大小并扩展文件系统以调整磁盘卷大小?
增大磁盘卷的大小(例如,AWS ESB和Google云下的磁盘以及其他服务提供商)后,必须使用特定于文件系统的命令将文件系统扩展到更大的大小。
在本教程中,我将Google Cloud与XFS文件系统结合使用,并且在调整卷大小后将扩展Linux文件系统。
以下说明已在CentOS,RHEL,Ubuntu和Debian Linux上进行了测试,但也应与其他Linux发行版一起使用。
调整磁盘卷大小后,Linux扩展文件系统
首先,您需要找到有关磁盘的信息。
一旦Linux检测到磁盘大小更改,您将使用dmesg命令在日志中看到如下消息:
sudo dmesg sudo dmesg | more
[ 12.834446] bpfilter: Loaded bpfilter_umh pid 1037 [ 12.917195] new mount options do not match the existing superblock, will be ignored [262733.527584] sd 0:0:2:0: [sdb] 838860800 512-byte logical blocks: (429 GB/400 GiB) [262733.527587] sd 0:0:2:0: [sdb] 4096-byte physical blocks [262733.528263] sdb: detected capacity change from 214748364800 to 429496729600
请记下磁盘名称sdb。
警告:执行以下任何命令之前,请备份所有数据。
创建磁盘快照并在其他地方安全备份数据至关重要。
作者和theitroad网站对调整块存储/卷大小后扩展Linux文件系统引起的数据丢失不承担任何责任。
验证新磁盘大小
执行以下fdisk命令:
sudo fdisk -l /dev/sdb
输出示例:
Disk /dev/sdb: 400 GiB, 429496729600 bytes, 838860800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xd3a4f1f7 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 419430399 419428352 200G 83 Linux
如何列出块设备
可以运行以下lsblk命令以显示有关连接到云VM的块设备的信息:
sudo lsblk
运行中的lsblk命令,显示有关连接到我的Linux服务器的块设备的信息
查找当前磁盘大小和分区类型
运行以下df命令和file命令:
df -HT df -HT | grep /backup1 df -HT | grep /dev/sdb1 sudo file -s /dev/sdb*
/dev/sdb: DOS/MBR boot sector; partition 1 : ID=0x83, ... /dev/sdb1: SGI XFS filesystem data
因此,现在我们知道xfs是/dev/sdb1分区的文件系统。
卸载分区(如果已安装)
运行以下命令:
sudo umount /dev/sdb1
扩展Linux分区
由于调整大小后的卷具有分区,并且该分区不反映磁盘卷的新大小(400 GB),因此我们在Linux上使用growpart命令来扩展分区大小。
如何使用growpart调整镜像分区的大小
语法为:
growpart /dev/DEVICE_NAME PARTITION_NUMBER
请注意,DEVICE_NAME和PARTITION_NUMBER之间有一个空格。
例如:
sudo growpart --dry-run /dev/sdb 1
--dry-run
选项仅报告将要执行的操作。
要调整其大小,请运行:
sudo growpart /dev/sdb 1
我们使用了growpart命令来扩展分区
您可以再次使用lsblk命令命令来验证分区大小是否增加:
sudo lsblk
再次挂载文件系统
执行以下命令:
sudo mount /dev/sdb1 /backup1/
验证磁盘大小:
df -H
输出示例:
Filesystem Size Used Avail Use% Mounted on udev 501M 0 501M 0% /dev tmpfs 103M 938k 102M 1% /run /dev/sda1 11G 3.1G 7.2G 30% / tmpfs 515M 0 515M 0% /dev/shm tmpfs 5.3M 0 5.3M 0% /run/lock tmpfs 515M 0 515M 0% /sys/fs/cgroup /dev/sda15 110M 3.8M 106M 4% /boot/efi tmpfs 103M 0 103M 0% /run/user/1001 /dev/sdb1 215G 36G 180G 17% /backup1
扩展文件系统
如您所愿,挂载的文件系统仍显示/dev/sdb1分区的总大小200GB。
如何在Linux上扩展XFS文件系统
语法为:
sudo xfs_growfs /mount_point sudo xfs_growfs /backup1/
如何在Linux上扩展ext4文件系统
语法为:
sudo resize2fs /dev/DEVICE_NAME_PARTITION_NUMBER ## note /dev/sdb1 must be unmouted ## sudo resize2fs /dev/sdb1
验证调整磁盘卷大小后扩展Linux文件系统
只需运行df命令以验证磁盘大小已从200GB增加到400GB:
df -HT