我最终尝试为我的媒体收藏设置一个 raid10 阵列,以便在专用服务器盒上使用。我没有使用 mdadm 的经验,但遵循了以下教程:
https://www.digitalocean.com/community/tutorials/how-to-create-raid-arrays-with-mdadm-on-ubuntu-16-04
这篇文章非常详尽,非常有帮助。但是,我没有仔细查看自己在做什么,也没有根据自己的目的正确修改他们的代码。具体来说,我输入了以下内容:
sudo mdadm --create --verbose /dev/md0 --level=10 --layout=n3 --raid-devices=6 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sdf /dev/sdg
我的意图是按如下方式输入:
sudo mdadm --create --verbose /dev/md0 --level=10 --layout=n2 --raid-devices=6 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sdf /dev/sdg
~$ sudo mdadm -D /dev/md0:
Version : 1.2 Creation Time : Sun Apr 2 14:03:20 2017 Raid Level : raid10 Array Size : 11720661504 (11177.69 GiB 12001.96 GB) Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB) Raid Devices : 6 Total Devices : 6 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Apr 9 10:40:43 2017 State : clean, degraded, recovering Active Devices : 5 Working Devices : 6 Failed Devices : 0 Spare Devices : 1 Layout : near=2 Chunk Size : 512K Rebuild Status : 2% complete Name : Marx:0 (local to host Marx) UUID : 412e2c9d:c4239440:5fa7a2b5:69b9353a Events : 32540 Number Major Minor RaidDevice State 0 8 0 0 active sync set-A /dev/sda 1 8 16 1 active sync set-B /dev/sdb 2 8 32 2 active sync set-A /dev/sdc 6 8 80 3 active sync set-B /dev/sdf 7 8 96 4 spare rebuilding /dev/sdg 5 8 48 5 active sync set-B /dev/sdd
我有三组两个镜像,只有 7.3T 可用,而不是预期的大约 12T。
~$ df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on /dev/sde2 102G 6.6G 91G 7% / /dev/sde1 511M 3.6M 508M 1% /boot/efi /dev/md0 7.3T 6.6T 343G 96% /media/sharemore
补充一下:/dev/sdg 有一些小分区,我在组建阵列时没有看到它。重新启动后,它从 /md0 阵列中删除。我的猜测是,该分区上存在一些干扰,不允许读取/查看该硬盘上的超级块。我能够使用磁盘实用程序删除 /sdg 上的所有分区。然后我不得不在没有 /sdg 磁盘的情况下强制重新组装,成功重建了阵列(存在 5/6 个磁盘),然后我能够将 /sdg 重新添加到 /md0 阵列中,从而进行重建(以填充“A”的第三个副本)。
真的很抱歉设置过程这么冗长。我的问题是:重建完成后,如果所有六台设备都显示为 active-sync,是否有办法将布局更改为 --layout=n2 而不会丢失数据?
感谢您提供的任何帮助。
干杯。