我如何扩展 /dev/sda6 – 可能吗?

我如何扩展 /dev/sda6 – 可能吗?

我需要/dev/sda6在其他场合扩展并使用以下指南(https://www.miarec.com/doc/administration-guide/doc1012),向VM添加一个新磁盘,但显然它与这种情况不兼容,因为我尝试扩展的fs与LVM不对应。而且这些没有 VG 名称,因为执行时vgdisplay我没有得到结果。我可以对机器进行快照,因此我尝试了多种方法但没有成功。抱歉,如果我没有以正确的方式提出问题。

[root@runner003 ~]# fdisk -l
Disk /dev/sda: 150.3 GB, 150323855360 bytes, 293601280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000cf166

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   211814399   104857600   83  Linux
/dev/sda3       211814400   253757439    20971520   83  Linux
/dev/sda4       253757440   293601279    19921920    5  Extended
/dev/sda5       253759488   270276607     8258560   82  Linux swap / Solaris
/dev/sda6       270278656   280764415     5242880   83  Linux
/dev/sda7       280766464   293601279     6417408   83  Linux

Disk /dev/sdb: 15.7 GB, 15728640000 bytes, 30720000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x22061e6d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    30719999    15358976   8e  Linux LVM
[root@runner003 ~]# lvmdiskscan
  /dev/sda1 [       1.00 GiB] 
  /dev/sda2 [     100.00 GiB] 
  /dev/sda3 [      20.00 GiB] 
  /dev/sda5 [      <7.88 GiB] 
  /dev/sda6 [       5.00 GiB] 
  /dev/sda7 [       6.12 GiB] 
  /dev/sdb1 [     <14.65 GiB] LVM physical volume
  0 disks
  6 partitions
  0 LVM physical volume whole disks
  1 LVM physical volume

答案1

您的/dev/sda[1-7]不是 LVM 逻辑卷,而是普通的传统磁盘分区。

每个分区必须始终是单个磁盘上的一组连续磁盘块。扩展分区只能在其尾端:如果分区占用块 X..Y,则可以将其扩展以覆盖块 X..(Y+N) - 但前提是块 (Y+1)..(Y +N)都是免费的。

在您的情况下,sda6结束于块#280764415并sda7开始于块#280766464。并且sda7似乎一直持续到磁盘的末尾。因此,如果不先删除或收缩sda7,您只能扩展sda6(280766464 - 1) - 280764415 = 2048 个块,或者换句话说,正好扩展 1 MiB。这太少了,在大多数情况下不值得这么麻烦。

如果要收缩sda7,收缩分区也会发生在其尾部。因此,缩小分区后,您还必须移动它朝向磁盘的尾端。移动分区需要卸载它,并且由于移动是写入密集型操作,因此需要一段时间......因此需要一些应用程序停机时间。

如果sda6不是您的根文件系统,我建议您改为:

  1. 向虚拟机添加新磁盘,
  2. 将其准备为 LVM 物理卷 ( pvcreate),
  3. sdb1将其添加到您的磁盘可能已在使用的同一 LVM 卷组中vgextend(除非您知道稍后需要sdb1与新磁盘分开移动到不同的计算机/VM,在这种情况下,为新磁盘创建一个新卷组和vgcreate),
  4. 在其上创建 LVM 逻辑卷 ( lvcreate),
  5. mkfs使用您首选的文件系统类型的逻辑卷,
  6. 将其安装到某个临时位置,
  7. 将内容复制sda6到其中(cp -a因为 root 在大多数情况下效果很好),
  8. 卸载sda6新的 LVM 逻辑卷并将其安装到sda6先前占用的同一安装点。进行编辑,以便从现在起每次重新启动时,/etc/fstab新的 LVM 逻辑卷都会自动安装到之前的位置。sda6

一旦您确认已成功复制所有内容,您就可以创建sda6另一个 LVM 物理卷,然后使用它来进一步扩展您的 LVM 卷组(使用vgextend)。这将允许您稍后使用该空间来扩展同一卷组中的任何现有逻辑卷 ( ),或者根据需要lvextend创建一个或多个新逻辑卷 ( )。lvcreate

如果sda6包含您的根文件系统 ( /),则可以将其移至 LVM,但相当棘手;我建议这次创建一个新的虚拟机并选择在操作系统安装程序中进行基于 LVM 的安装。在对基本操作系统进行基于 LVM 的安装后,您可以安装与旧 VM 中相同的所有软件包,复制所有用户、组和所有非操作系统文件,最后停用旧 VM。

相关内容