购买的SoYouStart的SYS-2-SAT-32独服,配置有4 块硬盘,但是 So you Start 后台默认根目录的RAID 级别RAID1,这样使得可用的空间只有25%,虽然硬盘安全性级别比较高(允许多块硬盘损坏的情况下依然不丢数据)但是空间可用率太低了所以折中一下可以使用 RAID-10(允许一块硬盘损坏而不丢失数据),这里就记录一下如何把 SoYouStart 的独服从 RAID-1 级别在线调整成 RAID-10。正常情况下 OVH 旗下的主机品牌,包括 Ovh,SoYouStart, Kimsufi都适用本教程,其他独服的操作也类似。
在线由Raid1转换为Raid10
虽然数据不会丢失,但是Raid0风险较大,建议在使用前将重要数据备份。
查看阵列
cat /proc/mdstat
可以看到一个md2的Raid1
root@debian:~# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sda2[0] sdc2[1] sdd2[3] sdb2[2]
511868928 blocks super 1.2 [4/4] [UUUU]
bitmap: 2/4 pages [8KB], 65536KB chunk
第一步我们先要将Raid1转换为Raid10
mdadm --grow /dev/md2 --level=0 --backup-file=/home/backup-md2
查看是否转换完成
cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : active raid0 sdb2[2]
511868928 blocks super 1.2 64k chunks
查看挂载点
mdadm --misc --detail /dev/md2
/dev/md2:
Version : 1.2
Creation Time : Sat Jan 29 17:33:29 2022
Raid Level : raid0
Array Size : 3897970688 (3717.39 GiB 3991.52 GB)
Raid Devices : 1
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Sun Jan 30 03:19:46 2022
State : clean
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Chunk Size : 64K
Name : jupiter:1 (local to host jupiter)
UUID : b95b33c4:26ad8f39:950e870c:03a3e87c
Events : 68
Number Major Minor RaidDevice State
1 8 34 0 active sync /dev/sdd2
可以看到有一个硬盘在Raid0中,我们需要将其他硬盘加入到阵列,并将阵列的等级提升至Raid10。
mdadm --grow /dev/md2 --level=10 --backup-file=/home/backup-md0 --raid-devices=4 --add /dev/sda2 /dev/sdb2 /dev/sdc2
查看阵列
cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : active raid10 sdc2[4] sdb2[3] sda2[2] sdd2[1]
3889583104 blocks super 1.2 64K chunks 2 near-copies [2/1] [UUUU]
[>....................] reshape = 1.1% (45550720/3889583104) finish=390.7min speed=158740K/sec
耐心等待,当它跑完时。
mdadm --misc --detail /dev/md2
/dev/md2:
Version : 1.2
Creation Time : Sun Jan 30 03:20:57 2022
Raid Level : raid10
Array Size : 3897970688 (3717.39 GiB 3991.52 GB)
Used Dev Size : 3897970688 (3717.39 GiB 3991.52 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sun Jan 30 09:22:19 2022
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : bitmap
Name : md2
UUID : 0686b64f:07957a70:4e937aa2:23716f6e
Events : 158
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
2 8 18 1 active sync /dev/sdb2
可以看到我们的Raid10只有两块硬盘,还有两个备用设备空着。我们需要将另外两块硬盘加入阵列。
mdadm --grow /dev/md2 --raid-devices=4
cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : active raid10 sdc2[4] sdb2[3] sda2[2] sdd2[1]
3889583104 blocks super 1.2 64K chunks 2 near-copies [4/4] [UUUU]
[>....................] reshape = 1.1% (45550720/3889583104) finish=430.7min speed=148740K/sec
耐心等待完成即可。由于我们是由raid1转换为raid10无需更新Grub,如果你转换的是其他的(Raid5)那么需要更新Grub。
sudo grub-mkconfig -o /boot/grub/grub.cfg
不仅要有正确的Grub配置,还需要为每一块硬盘安装Grub引导加载程序。
sudo grub-install /dev/sdX 例如:sudo grub-install /dev/sda