我有两个 Raid,raid5(md0) 和 raid1(md128)。我该如何扩展“/”?操作系统现在在 raid 5 上。
root@backup:~# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]
md128 : active raid1 sde1[1] sdd1[0]
2930134016 blocks super 1.2 [2/2] [UU]
bitmap: 0/22 pages [0KB], 65536KB chunk
md0 : active raid5 sdc1[2] sdb1[1] sda1[0]
1953259520 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
bitmap: 3/8 pages [12KB], 65536KB chunk
root@backup:~# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 1841008 0 1841008 0% /dev
tmpfs tmpfs 378804 10440 368364 3% /run
/dev/md0p1 ext4 1918608432 1800052 1819325628 1% /
tmpfs tmpfs 1894020 0 1894020 0% /dev/shm
tmpfs tmpfs 5120 0 5120 0% /run/lock
tmpfs tmpfs 1894020 0 1894020 0% /sys/fs/cgroup
tmpfs tmpfs 378804 0 378804 0% /run/user/0
root@backup:~# sudo lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
└─sda1 linux_raid_member backup:0 9c8af56c-1472-3844-c14b-5ff1fd2469cc
└─md0
├─md0p1 ext4 9f23d9b1-5573-4adb-bd98-11c06dc46602 /
├─md0p2
└─md0p5 swap 5e5c48d6-2fde-48b8-845b-796c9980e9c5 [SWAP]
sdb
└─sdb1 linux_raid_member backup:0 9c8af56c-1472-3844-c14b-5ff1fd2469cc
└─md0
├─md0p1 ext4 9f23d9b1-5573-4adb-bd98-11c06dc46602 /
├─md0p2
└─md0p5 swap 5e5c48d6-2fde-48b8-845b-796c9980e9c5 [SWAP]
sdc
└─sdc1 linux_raid_member backup:0 9c8af56c-1472-3844-c14b-5ff1fd2469cc
└─md0
├─md0p1 ext4 9f23d9b1-5573-4adb-bd98-11c06dc46602 /
├─md0p2
└─md0p5 swap 5e5c48d6-2fde-48b8-845b-796c9980e9c5 [SWAP]
sdd
└─sdd1 linux_raid_member 192-168-0-11:128 d4539e00-7885-2a62-84a0-94c1884e253c
└─md128 LVM2_member wp1Qak-hzu5-Eb2q-JNvb-aceu-mhQf-703K5N
sde
└─sde1 linux_raid_member 192-168-0-11:128 d4539e00-7885-2a62-84a0-94c1884e253c
└─md128 LVM2_member wp1Qak-hzu5-Eb2q-JNvb-aceu-mhQf-703K5N
root@backup:~# dumpe2fs /dev/md128 | grep -i superblock
dumpe2fs 1.42.13 (17-May-2015)
dumpe2fs: Bad magic number in super-block while trying to open /dev/md128
Couldn't find valid filesystem superblock.
答案1
不幸的是,您的根分区不是基于 LVM 的,因此扩展文件系统的方式必须是扩展 RAID md0
。 的输出lsblk
表明您的 上安装了 LVM ,但我不知道该驱动器上是否有逻辑卷(因此可能有活动数据)。您可以使用、和 来md128
查找。pvscan
vgscan
lvscan
继续之前,请确保您已对所有宝贵的数据进行了有效备份!
如果 md128 上没有(有价值的)数据/没有已安装的分区,您可以停止md128
并将两个磁盘添加到您的系统中,md0
首先增加总空间/dev/md0
:
mdadm --stop /dev/md128 # this will break the md128
mdadm --add /dev/md0 /dev/sdd1 /dev/sdd2 # this will add two hot spares to md0
mdadm --grow /dev/md0 --raid-devices=5 # this will extend md0 to five disks
这可能需要很长时间(几小时到几天),因为必须重新同步 RAID。
如果存在 mdadm 配置文件 ( /etc/mdadm/mdadm.conf
),则必须更改它以反映新的配置。
现在/dev/md0
已经增加了(您可能会看到fdisk -l /dev/md0
),您必须增加根分区。 就像/
md0p1 和swap
上一样md0p5
,它是扩展分区中的逻辑分区md0p2
,您首先需要将md0p5
/移动md0p2
到 的末尾md0
。 您可以使用 执行此操作gparted
。 由于gparted
功能列表表示 RAID 仅支持离线模式,您必须从安装介质重新启动到try ubuntu
模式,然后启动gparted
。
选择md0
要更改的设备,然后将扩展分区(md0p2
)移动到“磁盘”的末尾,然后增加/dev/md0p1
。这也应该调整文件系统的大小;所以最终你的根分区和文件系统将会增加。
请注意,此过程并非没有风险,特别是如果您是 linux/raid/filesystems 的新手。我无法用图片详细地描述整个过程,因为我目前不使用 mdraid。
由于 sdd/sde 上已有一个 RAID1,并且可能已准备好 LVM,因此您也可以采用更简单(且风险更低)的解决方案,将一些数据移动到第二个 RAID 上的文件系统,并将其挂载到下面的某个位置/
(例如 move home
)。如果这对您来说可行,我也可以提供支持。