Hard-Drive

創建與現有磁碟大小相同的新 RAID1 陣列分區

  • March 10, 2022

我在一對 3TB 驅動器上有一個現有的 raid1 陣列。

~ 🃊 cat /proc/mdstat
Personalities : [raid1] 
md127 : active raid1 sde1[0] sdc1[1]
     2930133440 blocks super 1.2 [2/2] [UU]
     bitmap: 5/22 pages [20KB], 65536KB chunk

我還有一對 14TB 驅動器。

我想將 14TB 驅動器分區為 3TB 驅動器的確切大小,這樣我就可以使用 mdadm 創建另一個 raid1 陣列,然後在頂部使用 btrfs raid0 來獲得 RAID10。

如何在 14TB 上創建與 3TB 磁碟大小相同的分區?

是否有任何缺陷使此過程不同於查找 3TB 磁碟的大小並將其應用於 14TB 磁碟?

好的,我嘗試自己解決這個問題,但效果不佳。但我現在有一個錯誤,這使得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在學習瞭如何使用之後blockdevfdisk -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

引用自:https://serverfault.com/questions/1095737