我需要将第一个磁盘 (/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ů
答案1
这应该相对容易,因为您使用的是 LVM:
- 首先,一如既往,进行备份。
- 在 Xen 中调整磁盘大小(您已经完成了此操作;尽管如此,请重新阅读步骤 1)。
- 使用parted调整扩展分区的大小(
xvda2
);运行parted /dev/xvda
,然后在 pared 提示符下resizepart 2 -1s
将其大小调整为在磁盘末尾结束(顺便说一句:quit
将退出 pared)。 任何一个
xvda6
(a)使用可用空间创建另一个逻辑分区 ( ),然后:- 重新启动以获取分区表更改
pvcreate /dev/xvda6
vgextend xenhosting-vg /dev/xvda6
或者(二)
- 使用扩展 xvda5
resizepart 5 -1s
- 重新启动以获取分区表更改
pvresize /dev/xvda5
最后,如果您想将其添加到根文件系统中,
lvextend -r -l +100%FREE /dev/xenhosting-vg/root
.选项-r
告诉lvextend
它调用resize2fs
自己。
您没有考虑的另一个选择:
添加另一个虚拟磁盘。如果您可以在 Xen 中执行此操作而无需重新启动来宾,那么您可以完全在线执行此操作(无需任何重新启动)。对新磁盘进行分区xvdc
(这不需要重新启动,因为它未被使用),然后继续使用pvcreate
& 。vgextend
/dev/xvdc1
答案2
我目前正在 ProxMox 上的虚拟机中运行 Devuan Jessie 1.0(稳定版)。我需要扩展的分区已/var/lib
安装在/dev/sda5
elasticsearch上。由于这对操作系统并不重要,因此我可以在虚拟机启动的情况下完成此操作。我只是确保没有任何使用分区的内容lsof
。为了实现这一目标,我执行了以下操作:
检查分区以确保其不忙:
lsof /dev/sda5
- 如果您从此命令获得任何输出,则必须确定正在使用该分区的内容并终止该过程。以下是参考。LSOF 命令示例
卸载分区:
umount /dev/sda5
奔跑分手
parted
内部分开:
resizepart 5 -1s
退出分手:
quit
检查磁盘:
e2fsck -f /dev/sda5
扩展磁盘以便操作系统可以看到它:
resize2fs /dev/sda5
重新安装:
mount -a.
检查以确保操作系统能够识别新扩展的驱动器:
df -h /dev/sda5
现在一切都应该顺利进行了。顺便说一句,lvextend
抛出了一个错误,所以对我来说,该resize2fs
路线是最简单的方法。 HTH。