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

sto*_*vik 2 vmware lvm hard-drive

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

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

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

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

Luc*_*lli 6

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

以下是我遵循的步骤:

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

我不得不使用gfdisk来完成所有工作.没有运气的"标准"fdisk.

  • gfdisk/dev/sda

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

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):                                       
Run Code Online (Sandbox Code Playgroud)

记下"Linux LVM"分区(/ dev/vda2)的"开始"扇区.删除分区并使用相同的"开始"扇区(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):                                                     
Run Code Online (Sandbox Code Playgroud)

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

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

Command (m for help): w                                                   
Run Code Online (Sandbox Code Playgroud)

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

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

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

注意事项:

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


小智 5

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

\n\n
\n

做 \xe2\x80\x9cfdisk \xe2\x80\x93l /dev/sda\xe2\x80\x9d I\xe2\x80\x99m 假设 /dev/sda2 是你的 LVM 分区\n 并且你不\xe2\x80\x99t有一个/dev/sda3。调整说明以匹配您的配置。

\n
\n\n

1) 确保您已经对虚拟机磁盘进行了扩容。

\n\n

2) 执行 \xe2\x80\x9cfdisk /dev/sda\xe2\x80\x9d

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

3)重启

\n\n

4) 运行 \xe2\x80\x98pvcreate /dev/sda3\xe2\x80\x99

\n\n

5) 运行\xe2\x80\x98vgdisplay\xe2\x80\x99 获取卷组的名称。在此示例中,它\xe2\x80\x99s \xe2\x80\x9cVolGroup\xe2\x80\x9d,如下所示:\n进入步骤5

\n\n

6) 运行 vgextend VolGroup /dev/sda3

\n\n

7) 运行\xe2\x80\x9cdf\xe2\x80\x9d 查看根卷组的名称。
\n步骤7

\n\n

8) 运行 lvextend /dev/mapper/VolGroup-lv_root -r -l+100%FREE\n ( (-r) 选项也会导致它格式化)

\n\n

9 运行 \xe2\x80\x9cdf \xe2\x80\x93h\xe2\x80\x9d 查看你的新磁盘空间

\n