我已要求对运行 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 分区的大小以匹配驱动器的大小?
答案1
您需要扩展sdb1
以覆盖所有可用磁盘空间。然后,您可以pvresize /dev/sdb1
和lvextend -l +100%FREE <your_volume_name>
。
背景信息:在 RHEL6 及之前的版本中,RedHat 建议创建“保护性 MBR”以防止旧操作系统修改 LVM 元数据。这意味着 LVM 物理卷是基于分区的,而不是基于磁盘的(如您的情况)。因此,要扩展物理卷,首先需要扩展分区。
但是fdisk
RHEL6 附带的版本不支持简单的分区调整大小。您需要删除并重新创建分区sdb1
,这需要完全相同与您现在拥有的相比(当然,除了长度/尺寸)。我强烈建议您使用fdisk -u
,它将以扇区号而不是柱面数给出分区大小。
或者,您可以parted
使用应该支持分区调整大小(这个功能依赖于版本,我不记得 RHEL6 附带的版本是否支持它)。
请小心:错误重新创建的分区将导致数据丢失。我建议您在生产中执行此操作之前先在测试虚拟机上进行练习。
答案2
您需要执行 pvresize 以允许 LVM 识别附加磁盘。它很简单,只需 pvrsize /path/to/blockdevice
答案3
@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