我已要求为运行 centos 6.5 的虚拟服务器升级硬盘
我可以看到空间已经增加,因为 /dev/sdb 现在是 214.7GB,以前是 150.3GB
root@webhost [/sys/class/block/sdb/device]# fdisk -l
Disk /dev/sda: 85.9 GB, 85899345920 bytes
64 heads, 32 sectors/track, 81920 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000390ad
Device Boot Start End Blocks Id System
/dev/sda1 * 2 501 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 502 3573 3145728 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 3574 81920 80227328 83 Linux
Disk /dev/sdb: 214.7 GB, 214748364800 bytes
64 heads, 32 sectors/track, 204800 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x796ffff3
Device Boot Start End Blocks Id System
/dev/sdb1 1 143360 146800624 83 Linux
Disk /dev/mapper/backup-lv0: 150.3 GB, 150319661056 bytes
255 heads, 63 sectors/track, 18275 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
root@webhost [/sys/class/block/sdb/device]#
如您所见,当前 lvm 大小为 140GB
--- Volume group ---
VG Name backup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 15
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 140.00 GiB
PE Size 4.00 MiB
Total PE 35839
Alloc PE / Size 35839 / 140.00 GiB
Free PE / Size 0 / 0
VG UUID 9WAEQb-oEXG-QdJ0-MIK9-ZEu1-x176-U76PzS
root@webhost [/sys/class/block/sdb/device]#
如何调整 lvm 分区的大小以匹配驱动器的大小?
您需要扩展
sdb1
以覆盖所有可用的磁盘空间。然后,您可以pvresize /dev/sdb1
和lvextend -l +100%FREE <your_volume_name>
。背景信息:在 RHEL6 和之前的版本中,RedHat 建议创建一个“保护 MBR”以防止旧操作系统修改 LVM 元数据。这意味着 LVM 物理卷基于分区,而不是基于磁盘(如您的情况)。所以,要扩展物理卷,首先需要扩展分区。
但是,
fdisk
RHEL6 附带的版本不支持简单的分区大小调整。您需要删除并重新创建sdb1
分区,该分区必须与您现在拥有的完全相同(当然,长度/大小除外)。我强烈建议您使用fdisk -u
,它将为您提供扇区号而不是柱面的分区大小。或者,您可以使用
parted
which should support partition resize(此功能取决于版本,我不记得 RHEL6 附带的是否支持它)。注意:错误地重新创建的分区会导致数据丢失。我建议您在生产之前先在测试虚拟机上进行练习。
您需要执行 pvresize 以允许 LVM 识别附加磁盘。它就像 pvrsize /path/to/blockdevice 一样简单
@shodanshok 谢谢你指出我正确的方向
不幸的是,我的 lvm 卷是基于分区的,因为我不想删除当前分区来调整它的大小(一旦我丢失了所有数据),我创建了另一个分区并用它来扩展 lvm。所以我所做的是:1)创建了一个新分区
fdisk /dev/sdb
2)我为lvm管理初始化了一个物理卷:
pvcreate /dev/sdb2
3)我将新的物理卷添加到我的 lvm 组中:
lvextend /dev/backup/lv0 /dev/sdb2
4)最后我调整了文件系统的大小:
resize2fs /dev/backup/lv0