是否可以在不重装系统的情况下将 RAID1 转换为 RAID0?

jog*_*boy 5 raid debian mdadm ovh

我从 SoYouStart 报价中购买了 E3-SSD-3-32 服务器。有一个 3x120 GB SSD 驱动器。不幸的是,一段时间后,磁盘空间不足。有什么方法可以将RAID1转换为RAID0吗?操作系统是Debian 9。

web1@ns510077:~$ cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdc1[2] sdb1[1] sda1[0]
      20478912 blocks [3/3] [UUU]

md2 : active raid1 sdc2[2] sdb2[1] sda2[0]
      96211904 blocks [3/3] [UUU]

unused devices: <none>

web1@ns510077:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        20G  1.6G   17G   9% /
devtmpfs         16G     0   16G   0% /dev
tmpfs            16G     0   16G   0% /dev/shm
tmpfs            16G  530M   16G   4% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/md2         91G   77G  9.3G  90% /var
Run Code Online (Sandbox Code Playgroud)

Str*_*ils 5

据我所知,这看起来不可能。我建议您备份所有数据,然后将RAID重建为条带RAID。

但是,您可以尝试使用以下命令在将 RAID 从 1 增加到 0 之前备份数据:

mdadm /dev/md2 --grow --level=0
Run Code Online (Sandbox Code Playgroud)

或者

删除镜像,扩展到 raid 0 并调整 fs 大小。

无论如何,为了您的数据安全,请先进行备份。


nmr*_*nmr 5

根据 Strepsils 的线索,对于名为 /dev/md2 的 RAID1 md 卷以及名为 /dev/nvme0n1p2 和 /dev/nvme1n1p2 的两个分区:

  1. 删除镜像:sudo mdadm /dev/md2 --fail /dev/nvme1n1p2,然后sudo mdadm /dev/md2 --remove /dev/nvme1n1p2(来自https://www.thegeekdiary.com/centos-rhel-how-to-remove-a-mirror-with-mdadm/

  2. 扩展到 raid0:sudo mdadm /dev/md2 --grow --level=0

  3. 添加第二个磁盘:(sudo mdadm --grow /dev/md2 --level=0 --raid-devices=2 --add /dev/nvme1n1p2请注意,这会将 md2 更改为 raid4?!并自动开始重塑。来自https://serverfault.com/a/1077269/167906

  4. 等待重塑完成 ( watch cat /proc/mdstat)(对于开始在 2 个快速 SSD 上作为 1TB raid1 运行的 md 卷,大约需要 90 分钟)

  5. reshape 完成后 /dev/md2 将自动变为 raid0。

  6. 增长文件系统:sudo resize2fs /dev/md2