LVM:扩展物理卷(在VMWare下)

时间:2011-08-01 13:10:25

标签: vmware hard-drive lvm

我在VMware下有一个虚拟服务器,我从sysadm获得了10个以上的GB硬盘。

在Linux内部(运行Ubuntu 11.04服务器),使用LVM设置内容。在[c] fdisk中,我确实发现了这些额外的10个演出 - 它们直接出现在主LVM分区之后。

我知道我可以从这个额外的空间中创建一个新的LVM分区,然后将其添加到卷组,然后添加到逻辑卷,然后调整文件系统的大小。

但是,是否有可能将这些额外的演出吸收到现有的LVM分区中?这样LVM的物理卷视图增加而不是将另一个物理卷添加到卷组中(最好自动渗透到卷组)?

4 个答案:

答案 0 :(得分:6)

我刚刚在/ dev / sda2上构建了一个15GB磁盘和LVM的测试虚拟机。然后我将磁盘增加到20GB并使LVM看到额外的5GB而不添加另一个物理卷。

以下是我遵循的步骤:

  • apt-get install gnu-fdisk(或yum install gnu-fdisk)

我不得不使用 gfdisk 来完成所有工作。 “标准”fdisk没有运气。

  • gfdisk / dev / sda

切换到“sector”作为单位(这是关键!!! )并打印分区表:

Command (m for help): u                                                   
Changing display/entry units to sectors
Command (m for help): p                                                   

Disk /dev/sda: 21 GB, 21089617920 bytes
255 heads, 63 sectors/track, 2564 cylinders, total 41190660 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *        2048      499711      257008   83  Linux
Warning: Partition 1 does not end on cylinder boundary.                   
/dev/sda2          501758    29798632    14643247   8e  Linux LVM
Warning: Partition 2 does not end on cylinder boundary.                   
Command (m for help):                                       

记下“Linux LVM”分区(/ dev / vda2)的“start”扇区。 删除分区并使用相同的“开始”扇区(501758)和相同的分区类型(8e)重新创建它:

Command (m for help): d                                                   
Partition number (1-2): 2                                                 
Command (m for help): n                                                   
Partition type                                                            
   e   extended
   p   primary partition (1-4)
p
First sector  (default 63s): 501758                                       
Last sector or +size or +sizeMB or +sizeKB  (default 41190659s):          
Command (m for help): p                                                   

Disk /dev/sda: 21 GB, 21089617920 bytes
255 heads, 63 sectors/track, 2564 cylinders, total 41190660 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *        2048      499711      257008   83  Linux
Warning: Partition 1 does not end on cylinder boundary.                   
/dev/sda2          501758    41190659    20338290   83  Linux
Command (m for help): t                                                   
Partition number (1-2): 2                                                 
Hex code (type L to list codes): 8e                                       
Changed type of partition 2 to 8e (Linux LVM)
Command (m for help):                                                     

警告:请注意我不接受分区的默认启动扇区,我输入手动以使其与原始值匹配!我确实接受了“最后一个扇区”的默认值,因为我希望这个分区和磁盘一样大。

验证您是否使用“p”正确执行了所有操作并将新分区表写入磁盘:

Command (m for help): w                                                   

重新启动虚拟机。 现在登录虚拟机并运行:

root@git:~# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

完成!现在运行vgdisplay,您将看到额外的5GB可用作免费范围。

注意事项:

  1. 如果LVM不是虚拟机磁盘上的最后一个(或唯一)分区,则可能很难扩展分区的大小。甚至可能是不可能的。
  2. 如果LVM位于逻辑分区(默认情况下Debian在安装时将其置于其中),或者换句话说,如果LVM位于/ dev / sda5而不是/ dev / sda2,则必须记下LVM的起始扇区扩展分区(让我们称之为/ dev / sda2)和逻辑分区(让我们称之为/ dev / sda5),然后删除两个分区,然后用相同的起始扇区重新创建它们。 / dev / sda2和/ dev / sda5的最后一个扇区应该是磁盘的最后一个扇区。
  3. 由于这是一个危险的过程,我建议您在尝试之前备份虚拟机。

答案 1 :(得分:3)

以下是我在做同样事情时经常使用的说明......

  

“fdisk -l / dev / sda”我假设/ dev / sda2是你的LVM分区   而且你没有/ dev / sda3。调整说明以匹配您的配置。

1)确保已扩展VM磁盘。

2)做“fdisk / dev / sda”

  • p(查看现有分区)
  • n(新分区)
  • p(主分区) - 给它下一个可用的分区号,可能是3
  • 接受默认值。它将使用磁盘的其余部分
  • w(写更改)

3)重新启动

4)运行'pvcreate / dev / sda3'

5)运行'vgdisplay'以获取卷组的名称。在这个例子中,它是“VolGroup”,如: enter step5

6)运行vgextend VolGroup / dev / sda3

7)运行“df”以查看根卷组的名称 step7

8)运行lvextend / dev / mapper / VolGroup-lv_root -r -l + 100%免费     (( - r)选项也会使它格式化)

9运行“df -h”以查看新磁盘空间

答案 2 :(得分:2)

我个人遵循了this blog中的说明。

总结步骤:

  • 使用vm-ware工具vmware-vdiskmanager
  • 增加虚拟磁盘大小
  • 在另一个系统上启动(GParted live CD或安装Iso CD-ROM以启动)
  • 使用Gparted工具(简单和图形界面)增加最近消耗的驱动器
  • 删除CD-ROM(或ISO)并在原始分区上启动。

为了扩展我的Linux VM(RedHat EL 6),我确实在GParted ISO映像(来自here)上启动,并且我能够扩展我想要的分区。注意我必须在最后移动我想要的分区。

我的同事也很安全,但我建议在运行Gparted Linux之前备份VM。

答案 3 :(得分:2)

这是我希望VM上有一个大的物理卷的原因之一,它与/ boot和其他初始部分分开。这允许您将整个磁盘创建为LVM物理磁盘(pvcreate /dev/sdb)。然后,如果您需要进行调整大小,则不需要进行任何文件系统更改,因为它直接在磁盘上。

在这种情况下,您只需运行pvresize /dev/sdb并继续使用vgextend,lvextend和resize2fs。维护起来要简单得多。