我有一个带有 130Gb LVM 映像的 Proxmox 磁盘。我将其移至 235Gb 磁盘。并在 Proxmox 中调整大小。完毕。
但在我的Linux发行版中,分区仍然是130Gb(磁盘变成235Gb)。
分区: /dev/sda1 /dev/sdb1
它们是 RAID1 卷的一部分:/dev/md0
在不丢失数据的情况下将其大小从 130Gb 调整为 235Gb 的正确方法是什么?
**root@debian:~# fdisk -l**
Disk /dev/sdb: 235 GiB, 252329328640 bytes, 492830720 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
Disklabel type: dos
Disk identifier: 0xd098f1da
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 273436671 273434624 130.4G fd Linux raid autodetect
/dev/sdb2 273436672 291502079 18065408 8.6G fd Linux raid autodetect
Disk /dev/sda: 235 GiB, 252329328640 bytes, 492830720 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
Disklabel type: dos
Disk identifier: 0x559572cb
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 273436671 273434624 130.4G fd Linux raid autodetect
/dev/sda2 273436672 291502079 18065408 8.6G fd Linux raid autodetect
Disk /dev/md0: 130.3 GiB, 139864309760 bytes, 273172480 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 /dev/md1: 8.6 GiB, 9241100288 bytes, 18049024 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
**root@debian:~# cat /proc/mdstat**
Personalities : [raid1]
md1 : active (auto-read-only) raid1 sda2[0] sdb2[1]
9024512 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
136586240 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
**root@debian:~# cat /proc/partitions**
major minor #blocks name
8 16 246415360 sdb
8 17 136717312 sdb1
8 18 9032704 sdb2
8 0 246415360 sda
8 1 136717312 sda1
8 2 9032704 sda2
11 0 1048575 sr0
9 0 136586240 md0
9 1 9024512 md1
我尝试过但没有成功:
**root@debian:~# mdadm --grow --size max /dev/md0**
mdadm: component size of /dev/md0 unchanged at 136586240K
unfreeze
**root@debian:~# resize2fs /dev/md0**
resize2fs 1.43.3 (04-Sep-2016)
The filesystem is already 34146560 (4k) blocks long. Nothing to do!
答案1
所以,如果有人需要的话。我找到了工作方式。我用了systemrescuecd
。
第一步将其sda1/2
从 RAID1 中删除:
mdadm /dev/md0 --fail /dev/sda1
mdadm /dev/md1 --fail /dev/sda2
mdadm /dev/md0 --remove /dev/sda1
mdadm /dev/md1 --remove /dev/sda2
我/dev/sda2
在 Gparted 中删除后(通过 systemrescuecd)
从 Gparted 的 SDA1 中删除了标签“boot”和“raid”
然后,在命令行中:
Parted /dev/sda
resizepart
1
245000
quit
在 Gparted linux-swap 中创建 sda2。
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
sdb1/2 也是如此。
后:
e2fsck -f /dev/sda1
e2fsck -f /dev/sdb1
和:
mdadm --grow --size max /dev/md0
然后我在 GParted 中对 md0 使用了“check”。
完毕。工作正常。
答案2
尽管 mdadm Growth 命令是正确的,但它在这里没有帮助,因为您的分区仍然是旧的大小。
Disk /dev/sdb: 235 GiB, 252329328640 bytes, 492830720 sectors Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 273436671 273434624 130.4G fd Linux raid autodetect /dev/sdb2 273436672 291502079 18065408 8.6G fd Linux raid autodetect
您的磁盘是 235G,但分区只有 130G 大,mdadm 只能看到这 130G。
因此,您必须扩大分区,但下一个问题是,另一个分区已经存在并妨碍了。因此,您必须先移走第二个分区,然后才能扩展第一个分区。另一种选择是创建一个新的第三个分区并在顶部创建一个新的 RAID 并单独使用它们。
如果该 8G RAID 恰好是交换空间,您还可以暂时禁用交换、停止交换 RAID、删除这些分区,然后根据需要增长/重新创建。与用户数据不同,交换可以随意丢弃并重新创建,无需迁移步骤。