我有一个带有lvm2格式磁盘的Fedora 16虚拟机,我使用vSphere客户端将磁盘大小从50GB增加到大约250GB.我重新启动了guest虚拟机,它使用fdisk -l / dev / sda正确显示了这个大小.但是,df -H仍然显示旧的大小.
我发现了一些KB articles解释了如何为某些版本的Linux调整分区大小,但对于Fedora和ext4没什么.那篇文章似乎暗示我必须创建一个全新的分区,而且我不能简单地扩展现有的分区.使用Gparted,它还可以防止我简单地调整现有分区的大小.在Linux下这是不可能的吗?
编辑:事实证明驱动器格式化为LVM2,显然大多数Linux工具,如GParted,不支持.
编辑:我需要调整大小的逻辑卷中的分区是根分区.没有LiveCD,有没有办法做到这一点?
解决方法
>以root身份登录到机器或sudo以下每个命令,输入fdisk -l,你应该看到这样的东西;
Disk /dev/sda: 21.1 GB,21xxxxxxxxx bytes 255 heads,63 sectors/track,5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2610 20860402+ 8e Linux LVM
在这种情况下,我已经改变了值,但你可以看到这台机器有一个~20GB的根虚拟磁盘,有两个分区,sda1和sda2,sda2是我们的第一个LVM’物理卷’,看看LVM如何使用分区类型’8E’.
>现在键入pvdisplay,你会看到第一个PV(sda2)的部分,就像这样;
--- Physical volume --- PV Name /dev/sda2 VG Name rootvg PV Size 19.89 GB / not usable 19.30 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 636 Free PE 0 Allocated PE 636 PV UUID PgwRdY-EvCC-b5lO-Qrnx-tkrd-m16k-eQ9beC
这表明第二个分区(sda2)映射到一个名为“rootvg”的“卷组”.
>现在,我们可以使用常用的vSphere VSClient通过选择VM,选择“编辑设置”,然后选择“硬盘1”来增加虚拟磁盘的大小.然后,您可以增加“预配置大小”编号 – 只要没有适当的快照 – 并选择确定.这将需要几秒钟才能完成.
>然后,如果您切换回Linux VM并输入
echo "- - -" > /sys/class/scsi_host/hostX/scan
如果X字符可能为零,它将执行SCSI总线重新扫描,然后运行fdisk -l,你应该看到类似的东西;
Disk /dev/sda: 42.2 GB,42xxxxxxxxx bytes 255 heads,5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2610 20860402+ 8e Linux LVM
您将看到磁盘大小已增加,在这种情况下从~20GB增加到~40GB但分区表保持不变.
>我们现在需要创建一个新的LVM分区,输入parted,你应该看到这样的东西;
GNU Parted 1.8.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
您现在需要为额外的新空间创建一个新分区,输入’p’以查看当前的分区表,例如;
Model: VMware Virtual disk (scsi) Disk /dev/sda: 42.9GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 107MB 107MB primary ext3 boot 2 107MB 21.5GB 21.4GB primary lvm
然后键入mkpart,然后为’Primary’选择’p’,对于文件系统类型输入’ext3′,对于start,输入一个比上面列出的’size’组合略高的数字(即107MB 21.4GB,所以说21.6) GB),用于结束类型磁盘的大小(即在这种情况下为42.9GB).按Enter后会创建这个新的主分区,输入’p’来显示新的分区表,你会看到类似的东西;
Model: VMware Virtual disk (scsi) Disk /dev/sda: 42.9GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 107MB 107MB primary ext3 boot 2 107MB 21.5GB 21.4GB primary lvm 3 21.5GB 42.9GB 21.5GB primary ext3
您将看到新分区在前两个分区之后开始并填充可用空间,不幸的是我们必须将其设置为’ext3’类型,所以让我们改变它.
>输入’t’,然后输入分区号(在我们的例子中是3,因为它是第三个分区),然后输入’hex code’输入’8e’ – 一旦你再次完成这个类型’p’,你应该看到它改为’Linux LVM’;
Disk /dev/sda: 42.9 GB,42949672960 bytes ads,5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2610 20860402+ 8e Linux LVM /dev/sda3 2611 5221 20972857+ 8e Linux LVM
>现在我们需要在这个新分区中创建一个新的LVM’物理卷’,输入pvcreate / dev / sda3,然后创建一个名为/ dev / sda3的新LVM PV,输入要检查的pvdisplay;
--- Physical volume --- PV Name /dev/sda3 VG Name PV Size 20.00 GB / not usable 1.31 MB Allocatable no PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID gpYPUv-XdeL-TxKJ-GYCa-iWcy-9bG6-tfZtSh
你应该看到类似于上面的东西.
>现在我们需要扩展’rootvg卷组’,或者为非root’卷组创建一个新卷’,输入vgdisplay列出所有’卷组’,这是一个例子;
--- Volume group --- VG Name rootvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 19 VG Access read/write VG Status resizable MAX LV 0 Cur LV 8 Open LV 8 Max PV 0 Cur PV 2 Act PV 2 VG Size 21.3 GB PE Size 32.00 MB Total PE 1276 Alloc PE / Size 846 / 26.44 GB Free PE / Size 430 / 13.44 GB VG UUID tGM4ja-k6es-la0H-LcX6-1FMY-6p2g-SRYtfY
>如果要扩展’rootvg卷组’,请键入vgextend rootvg / dev / sda3,按Enter键后,您会看到一条消息,指出’卷组’已被扩展.
>如果你想创建一个新的’卷组’,你需要使用vgcreate命令 – 可能最好给我打电话求助.
一旦扩展,再次输入vgdisplay以查看’rootvg”卷组’确实已经扩展,如此处;
--- Volume group --- VG Name rootvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 19 VG Access read/write VG Status resizable MAX LV 0 Cur LV 8 Open LV 8 Max PV 0 Cur PV 2 Act PV 2 VG Size 39.88 GB PE Size 32.00 MB Total PE 1276 Alloc PE / Size 846 / 26.44 GB Free PE / Size 430 / 13.44 GB VG UUID tGM4ja-k6es-la0H-LcX6-1FMY-6p2g-SRYtfY
您可以看到’VG Size’符合预期.
>现在我们需要扩展’逻辑卷’,输入lvdisplay来显示我们的’逻辑卷’,你会看到类似的东西;
--- Logical volume --- LV Name /dev/rootvg/var VG Name rootvg LV UUID NOP1jF-09Xt-LkX5-ai4w-Srqb-xGka-nYbI2J LV Write Access read/write LV Status available # open 1 LV Size 3.00 GB Current LE 320 Segments 3 Allocation inherit Read ahead sectors auto currently set to 256 Block device 253:2
如果我们想将/ var文件系统从3GB扩展到10GB然后输入lvextend -L 10G / dev / rootvg / var,现在再次输入lvdisplay,你会看到’逻辑卷’已经增长到10GB;
--- Logical volume --- LV Name /dev/rootvg/var VG Name rootvg LV UUID NOP1jF-09Xt-LkX5-ai4w-Srqb-xGka-nYbI2J LV Write Access read/write LV Status available # open 1 LV Size 10.00 GB Current LE 320 Segments 3 Allocation inherit Read ahead sectors auto currently set to 256 Block device 253:2
>现在我们需要做的最后一件事就是扩展实际的文件系统,顺便说一下,这不必使用所有新增的空间.输入df -h来显示当前的文件系统,这是一个例子;
Filesystem Size Used Avail Use% Mounted on /dev/mapper/rootvg-root 2.0G 1.4G 495M 74% / /dev/mapper/rootvg-home 248M 124M 113M 53% /home /dev/mapper/rootvg-var 3.0G 1.1G 1.8G 30% /var /dev/mapper/rootvg-usr 3.0G 936M 1.9G 34% /usr /dev/mapper/rootvg-opt 3.0G 811M 2.0G 29% /opt
如果我们想将/ var文件系统从3GB扩展到10GB,那么输入resize2fs / dev / mapper / rootvg-var(或者在CentOS上可能是xfs_growfs / dev / mapper / rootvg-var,或类似的命令,具体取决于文件系统的类型).当你按Enter键时,实际的文件系统会增长,这可能需要一些时间,一旦完成检查就输入df -h.
Filesystem Size Used Avail Use% Mounted on /dev/mapper/rootvg-root 2.0G 1.4G 495M 74% / /dev/mapper/rootvg-home 248M 124M 113M 53% /home /dev/mapper/rootvg-var 9.88G 1.1G 8.2G 12% /var /dev/mapper/rootvg-usr 3.0G 936M 1.9G 34% /usr /dev/mapper/rootvg-opt 3.0G 811M 2.0G 29% /opt
你现在完成了!