2

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

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

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

但是,是否有可能将这些额外的演出同化到现有的 LVM 分区中?以便 LVM 对物理卷的看法增加,而不是在卷组中添加另一个物理卷(最好自动渗透到卷组)?

4

5 回答 5

7

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

以下是我遵循的步骤:

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

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

  • gfdisk /dev/sda

切换到“sectors”为单位(这个很关键!!!)并打印分区表:

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)的“开始”扇区。删除分区并使用相同的“开始”扇区 (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 上,您必须记下两个扩展的起始扇区分区(我们称之为/dev/sda2)和逻辑分区(我们称之为/dev/sda5),然后删除两个分区,然后用相同的起始扇区重新创建它们。/dev/sda2 和 /dev/sda5 的最后一个扇区应该是磁盘的最后一个扇区。
  3. 由于这是一个有风险的过程,我建议在尝试之前对虚拟机进行备份。
于 2013-12-15T00:29:56.107 回答
5

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

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

1) 确保您已扩展 VM 磁盘。

2) 执行“fdisk /dev/sda”</p>

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

3) 重启

4) 运行'pvcreate /dev/sda3'</p>

5) 运行'vgdisplay' 以获取卷组的名称。在此示例中,它是“VolGroup”,如下所示: 进入第五步

6) 运行 vgextend VolGroup /dev/sda3

7) 运行“df”查看根卷组的名称。
第七步

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

9 运行“df –h”查看你的新磁盘空间

于 2015-02-05T17:02:49.087 回答
2

我个人按照此博客中的说明进行操作。

总结一下步骤:

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

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

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

于 2012-02-12T22:46:45.603 回答
2

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

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

于 2016-10-20T16:24:52.757 回答
0
echo 1 > /sys/block/sda/device/rescan

partprobe

gdisk fix warnging

parted change partion size

## parted can executed as command line. but this is very dangerous
parted -s /dev/sdb "resizepart 2 -1" quit
parted -s /dev/sdb "resizepart 3 100%" quit
resizepart 3 100%

pvresize /dev/sda3

lvextend -l +100%FREE cs/root

xfs_growfs /dev/cs/root
于 2021-11-06T11:47:47.893 回答