我需要在其他场合扩展/ dev / sda6并使用以下指南(https://www.miarec.com/doc/administration-guide/doc1012),向虚拟机添加新磁盘,但显然它与这种情况不兼容。因为我尝试扩展的 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
首先,很抱歉,但在尝试互联网上的随机命令之前,您需要了解自己在做什么。您遵循的指南适用于 LVM 设置,您没有使用,因此所有 LVM 部分对您来说都是完全无用的。如果您现在的知识足以理解差异,那么最好向您认识的更了解 Linux 的人寻求帮助。在最坏的情况下,尝试 IRC 或其他聊天,否则您可能会丢失该 Linux 中的所有数据。您需要了解自己在做什么。如果需要,搜索所有命令和/或使用man (command)
以了解每个命令可以做什么以及它们使用哪些参数。
因此,为了尽量简化,您有一个不容易扩展的设置,但如果它是虚拟机,您可以简单地添加一个新磁盘(就像您已经做的那样)并将数据从旧文件系统移动到新文件系统并替换挂载点设备。如果您真的想调整旧文件系统的大小,您需要一个临时磁盘和许多命令来将最后一个分区移开,扩展/dev/sda6
然后移回最后一个分区。这不容易,但可以做到,这是学习如何使用分区和文件系统的一项好任务 :)
因此,现在让我们保持简单并删除该 LVM 磁盘(假设它是新磁盘并且没有信息!)并添加一个新的空磁盘。
- 警告 *
以下所有命令均以 root 身份或通过 sudo 运行,因此我不会将其添加到所有命令中。作为 root,您可以破坏您的系统,因此请小心,如果您不理解某个命令,请先尝试搜索它。不要在不了解命令的作用的情况下运行命令!如果 /dev/sda6 分区是根 (/) 文件系统或 /boot(或 /boot/EFI),请停止,这些将需要更多命令或不同的移动方式。
- 警告 *
现在最简单的方法是从 livecd 启动,然后使用 GUI 工具(如)将分区复制到新磁盘gparted
。如果您愿意,甚至可以将所有分区移动到新磁盘,但要使系统可启动,您需要在新磁盘上重新安装 grub 并保持相同的布局(分区号,而不是大小)。如果您需要这样做,请报告。
所以让我们使用它gparted
,它很容易使用。因此,要移动单个分区,请查看下面的指南
https://www.ghacks.net/2010/06/03/copy-partitions-with-gparted/
这会将磁盘复制到另一个磁盘。如果需要,您可以删除旧分区,但您需要更新 的 fstab /dev/sda7
,因为它将被重命名为/dev/sda6
(因为扩展分区始终按顺序排列,不允许有间隙)。如果执行此操作,您还可以调整/dev/sda5
或 的/dev/sda7
大小以使用旧分区使用的空间/dev/sda6
现在您需要告诉您的 Linux 设置使用该磁盘而不是旧磁盘,因此将我们的根文件系统挂载到临时位置并编辑 /etc/fstab 以更新挂载点设备。假设根文件系统位于 /dev/sda1(df -h
在您的 Linux 中使用以找出)
mount /dev/sda /mnt
nano /mnt/etc/fstab
您可以使用任何 Linux 编辑器代替 nano。搜索 /dev/sda6 并将其替换为新磁盘(可能是 /dev/sdb1)。如果您删除了旧分区/dev/sda6
,也请重命名/dev/sda7
要使用的条目/dev/sda6
。如果您只有 UUID,请使用blkid
命令查看每个分区的 UUID。
保存 fstab 并执行
umount /mnt
最后重启。如果一切正常,旧的 sda6 文件系统应该在新的驱动程序中