如何调整(特别是增加)在VMWare ESXi 4.1下运行的Fedora访客虚拟机的磁盘大小?
我有一个带有lvm2格式磁盘的Fedora 16虚拟机,并且使用vSphere客户端从50GB到250GB增加了磁盘大小。 我重新启动了guest虚拟机,并使用fdisk -l /dev/sda
正确显示了这个大小。 但是, df -H
仍然显示旧的大小。
我发现了一些知识库文章,解释了如何调整分区的大小来适应某些Linux版本,但是Fedora并没有使用ext4。 那篇文章似乎暗示我必须创build一个全新的分区,而且我不能简单地扩展现有的分区。 使用Gparted,它也阻止我简单地调整现有分区的大小。 在Linux下这是不可能的吗?
编辑:事实certificate,驱动器被格式化为LVM2,显然大多数Linux工具,如GParted,不支持。
编辑:我需要调整的逻辑卷中的分区是根分区。 没有任何LiveCD的方法吗?
这是我为内部使用而编写的文档的一小部分,虽然它可能超过了你的问题,但我认为我会把它放在这里,以防它对你或其他人有用。
以root或者sudo
身份login到机器上,inputfdisk –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如何使用分区types'8E'。
现在inputpvdisplay
,你会看到这样的第一个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”的“卷组”。
现在我们可以通过select虚拟机,select“编辑设置”,然后select“硬盘1”,使用通常的vSphere VSClient来增加虚拟磁盘的大小。 然后,您可以增加“预置大小”号码 – 只要没有快照存在,然后select“确定”。 这将需要几秒钟才能完成。
如果您然后切换回Linux VM并input
echo "- - -" > /sys/class/scsi_host/hostX/scan
X字符很可能是零,它将执行SCSI总线重新扫描,然后运行fdisk –l
,你应该看到类似的东西;
Disk /dev/sda: 42.2 GB, 42xxxxxxxxx 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增加到40GB,但是分区表保持不变。
我们现在需要创build一个新的LVM分区,types是parted
,你应该看到这样的东西;
GNU Parted 1.8.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
您现在需要为额外的新空间创build一个新的分区,input'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'select'p',对于文件系统typesinput'ext3',开始input一个比上面列出的两个'sizes'的组合高一点的数字(即107MB + 21.4GB, 21.6GB),最后input磁盘大小(即42.9GB)。 一旦你按下回车键就会创build这个新的主分区,input'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”types,所以我们来修改它。
input't',然后input分区编号(在我们的例子中是3,因为它是第三个分区),那么对于'hex代码'input'8e' – 一旦你再次input'p',你应该看到它改变到'Linux LVM';
Disk /dev/sda: 42.9 GB, 42949672960 bytes ads, 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 /dev/sda3 2611 5221 20972857+ 8e Linux LVM
现在我们需要在这个新的分区中创build一个新的LVM“物理卷”,inputpvcreate /dev/sda3
,然后创build一个名为/ dev / sda3的新LVM PV,inputpvdisplay
来检查;
--- 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'卷组'创build一个新的卷组,inputvgdisplay
来列出所有'卷组',这里是一个例子。
--- 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键,就会看到一条消息,指出“卷组”已被扩展。
如果你想创build一个新的“卷组”,你需要使用vgcreate
命令 – 可能最好打电话给我帮忙。
一旦扩展后再次inputvgdisplay
,看到“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大小”与预期的一样。
现在我们需要扩展“逻辑卷”,inputlvdisplay
来显示我们的“逻辑卷”,你会看到类似的东西;
--- 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,然后inputlvextend –L 10G /dev/rootvg/var
,现在再inputlvdisplay
,你会看到'逻辑卷'已经增长到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
现在我们要做的最后一件事就是增加实际的文件系统,这样就不必使用所有新增加的空间。 inputdf –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,请inputresize2fs /dev/mapper/rootvg-var
(或者在CentOS上,也许是xfs_growfs /dev/mapper/rootvg-var
,或者类似的命令,具体取决于文件系统的types)。 当你按下回车键时,实际的文件系统会增长,这可能要花一些时间,一旦完成检查就inputdf –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
你现在完成了!
在lvextend之前执行以下步骤
#pvcreate / dev / sda3 (创build一个新的物理卷,如果你不能创build,那么创build分区后可能没有重新启动)
#pvdisplay (检查您是否创build了新的物理卷)
#vgcreate VolGroup / dev / sda3 (将VolGroup分配给新的物理卷)
#lvdisplay (获取要扩展的分区的逻辑path名)
#lvcreate -LxxGB -n root_new VolGroup (分配逻辑大小并创build一个新的逻辑卷)
#lvextend / dev / mapper / VolGroup-lv_root / dev / sda3 (最后扩展根分区)
#lvdisplay (检查LV尺寸是否增加)
#resize2fs / dev / mapper / VolGroup-lv_root (调整实际文件系统的大小)
#df -h (然后检查实际的文件系统值是否增加了)
你现在必须调整它
resize2fs /dev/sda
您必须在2.6内核上执行此操作,并且已启用参数以允许联机resize。 否则,您必须先卸载设备,重新resize,然后重新安装设备。