我有一对 3TB 驱动器上的现有 raid1 阵列。
~
答案1
好吧,我尝试自己解决这个问题,但效果不佳。但现在我遇到了一个错误,这使得通过 Google 搜索正确答案变得更容易:
[root@fedora lb]# mdadm --manage /dev/md127 --add /dev/sdf2
mdadm: /dev/sdf2 not large enough to join array
[root@fedora lb]# sudo blockdev --report /dev/md127
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 3000456642560 /dev/md127
[root@fedora lb]# sudo blockdev --report /dev/sdf2
RO RA SSZ BSZ StartSec Size Device
rw 256 512 512 21484494848 3000458264064 /dev/sdf2
[root@fedora lb]# blockdev --getsz /dev/sdf2
5860270047
[root@fedora lb]# blockdev --getsz /dev/md127
5860266880
虽然看起来我分配的空间更大,但我假设错误消息是相同的——这只是意味着大小不匹配
编辑:好吧,所以事实证明您不能使用创建的 RAID 设备的大小。您必须使用 RAID 设备中使用的分区或磁盘的大小。因此,在这种情况下,需要使用或sde1
。sdc1
在学习如何使用之后blockdev
,我fdisk -l
应该这样做:
blockdev --getsz /dev/sde1
# not this! blockdev --getsz /dev/md127
这是我必须执行的操作的完整列表:
gdisk /dev/sdf # create new partition; fd00 format
# swap disks from different manufacturer
mdadm --manage /dev/md127 --add /dev/sdf2
mdadm --manage /dev/md127 --fail /dev/sde1
mdadm --manage /dev/md127 --remove /dev/sde1
cat /proc/mdstat
mdadm --detail /dev/md127
mdadm --create --level=1 --raid-devices=2 /dev/md2 /dev/sdg2 /dev/sde1
sudo btrfs device add -f /dev/sdc /mnt/d
sudo btrfs balance start -dconvert=raid0 -mconvert=raid1 /mnt/d
mdadm --detail --scan | tee -a /etc/mdadm/mdadm.conf