2018年12月28日 星期五

Gentoo 使用 soft raid

參考 https://wiki.gentoo.org/wiki/Complete_Handbook/Software_RAID

要加上 kernel modules
raid0, 或其他的

移除舊的 disk array
mdadm --stop /dev/md0
mdadm --remove /dev/md0
建立由 2 顆硬碟構成 mirror 的 disk array
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 /dev/sde1
蠻奇怪的,原先並未先建立 partition,直接用 /dev/sdd 及 /dev/sde,建好的 array 會不見,查到的一些資料,是用 /dev/sdd1 及 /dev/sde1,那就試試看先建 partition,再建 raid。
這裡有人討論使用整顆硬碟與分割區來建立 raid 的差別,What's the difference between creating mdadm array using partitions or the whole disks directly

檢視 disk array 建立的進度
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md0 : active raid1 sde1[1] sdd1[0]
      7813893440 blocks super 1.2 [2/2] [UU]
      [=>...................]  resync =  6.2% (489861248/7813893440) finish=678611.9min speed=179K/sec
      bitmap: 58/59 pages [232KB], 65536KB chunk

unused devices: <none>


檢視 disk array 的細節
# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Dec 28 21:58:07 2018
        Raid Level : raid1
        Array Size : 7813894464 (7451.91 GiB 8001.43 GB)
     Used Dev Size : 7813894464 (7451.91 GiB 8001.43 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sat Dec 29 16:57:35 2018
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : aj-i7:0  (local to host aj-i7)
              UUID : 6240fb09:05a34525:822baca9:8744a832
            Events : 13861

    Number   Major   Minor   RaidDevice State
       0       8       48        0      active sync   /dev/sdd
       1       8       64        1      active sync   /dev/sde

要把硬碟加回 disk array 時
mdadm /dev/md1 --re-add /dev/sda2
使用 mdadm --assemble 指令,可以重新 Assemble 先前建立的 array。

使用上,不用建立分割區,直接 mkfs.ext4 /dev/md0 即可。

使用的問題

剛開始使用,還不熟悉,常常不曉得 disk array 在那裡。
建好後,隔幾天又找不到 raid 了,
# mdadm --detail /dev/md0
mdadm: Array associated with md device /dev/md0 does not exist.
一直以為它又死了,再看 proc 的 status,卻又存在
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md127 : active (auto-read-only) raid1 sdd1[0] sde1[1]
      7813893440 blocks super 1.2 [2/2] [UU]
      bitmap: 0/59 pages [0KB], 65536KB chunk

unused devices: <none>
後來用 scan,終於找到了,不曉得怎麼改名了,改名的規則也不知是什麼。

# mdadm --detail --scan
ARRAY /dev/md/aj-i7:0 metadata=1.2 name=aj-i7:0 UUID=c984ff63:4925d7b3:d8922bdc:e9cc0d57

# ls -l /dev/md*
brw-rw---- 1 root disk 9,   0  2月 13 10:06 /dev/md0
brw-rw---- 1 root disk 9, 127  2月 13 10:06 /dev/md127

/dev/md:
總計 0
lrwxrwxrwx 1 root root 8  2月 13 10:06 aj-i7:0 -> ../md127

還在慢慢的適應這個玩意中。


沒有留言:

張貼留言

網誌存檔