如何在 Debian 8.6 中调整 LVM 磁盘大小而不会丢失数据

Old*_*éda 4 debian fdisk resize2fs

我需要将我的第一个磁盘 (/dev/xvda) 从 40 GB 调整为 80 GB。我正在使用 XEN 虚拟化,并且在 XenCenter 中调整了磁盘大小,但我需要在不丢失任何数据的情况下调整其分区大小。虚拟机运行的是 Debian 8.6。

Disk /dev/xvda: 80 GiB, 85 899 345 920 bajt?, 167 772 160 sektor?
Jednotky: sektor? po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajt? / 512 bajt?
Velikost I/O (minimální/optimální): 512 bajt? / 512 bajt?
Typ popisu disku: dos
Identifikátor disku:?0x5a0b8583

Device     Boot  Start      End  Sectors  Size Id Type
/dev/xvda1        2048   499711   497664  243M 83 Linux
/dev/xvda2      501758 83884031 83382274 39,8G  5 Extended
/dev/xvda5      501760 83884031 83382272 39,8G 8e Linux LVM

Disk /dev/xvdb: 64 GiB, 68 719 476 736 bajt?, 134 217 728 sektor?
Jednotky: sektor? po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajt? / 512 bajt?
Velikost I/O (minimální/optimální): 512 bajt? / 512 bajt?
Typ popisu disku: gpt
Identifikátor disku:?0596FDE3-F7B7-46C6-8CE1-03C0B0ADD20A

Device     Start       End   Sectors Size Type
/dev/xvdb1  2048 134217694 134215647  64G Linux filesystem

Disk /dev/mapper/xenhosting--vg-root: 38,1 GiB, 40 907 046 912 bajt?, 79 896 576 sektor?
Jednotky: sektor? po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajt? / 512 bajt?
Velikost I/O (minimální/optimální): 512 bajt? / 512 bajt?
Disk /dev/mapper/xenhosting--vg-swap_1: 1,7 GiB, 1 782 579 200 bajt?, 3 481 600 sektor?
Jednotky: sektor? po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajt? / 512 bajt?
Velikost I/O (minimální/optimální): 512 bajt? / 512 bajt?
Run Code Online (Sandbox Code Playgroud)

der*_*ert 8

这应该相对容易,因为您使用的是 LVM:

  1. 首先,与往常一样,进行备份。
  2. 在 Xen 中调整磁盘大小(您已经这样做了;尽管如此,请重新阅读步骤 1)。
  3. 使用 parted 调整扩展分区的大小 ( xvda2);run parted /dev/xvda,然后在 parted 提示符下resizepart 2 -1s将其大小调整到磁盘末尾(顺便说一句:quit将退出 parted)。
  4. 任一的(a)创建另一个逻辑分区(xvda6)与自由空间,则:

    1. 重新启动以获取分区表更改
    2. pvcreate /dev/xvda6
    3. vgextend xenhosting-vg /dev/xvda6

    (b)

    1. 使用扩展 xvda5 resizepart 5 -1s
    2. 重新启动以获取分区表更改
    3. pvresize /dev/xvda5
  5. 最后,如果你想把它添加到你的根文件系统,lvextend -r -l +100%FREE /dev/xenhosting-vg/root. 告诉它调用自己的-r选项。lvextendresize2fs

你没有考虑的另一个选择:

添加另一个虚拟磁盘。如果您可以在 Xen 中执行此操作而无需重新启动来宾,那么您可以完全在线执行此操作(无需重新启动)。分区的新盘xvdc(这不会报答重新启动,因为其未使用),然后继续进行pvcreatevgextend使用/dev/xvdc1