目次
[ReadyNAS Duo v2][Open-WRT] RAIDを構成する
概要
FirmwareをOpenWRTに入れ替えたReadyNAS Duo v2で RAID-1 を構成する。
あらまし
これまでに、mdadmコマンドを用いて/dev/md*デバイスを作成することはできた。
しかし、ReadyNAS を再起動すると mdデバイスがなくなってしまう。(自動的にアクティブにならない)
予備知識
Open-WRTでは、mdadmの設定ファイルが、他のメジャーなLinux(UbuntuやCentOS,RHELなど)とはちょっと違うみたいだ。
/etc/init.d/mdadm
に /var/etc/mdadm.conf
なる記述を発見。
そのファイルを覗いてみると、/etc/config/mdadm
から自動生成、編集するな! と書いてある。
私が知っているのとは、ずいぶん違う書式で設定ファイルが書かれていた。
これに倣って設定ファイルを書けばよさそう。
root@OpenWrt:~# man mdadm -ash: man: not found root@OpenWrt:~# man mdadm.conf -ash: man: not found root@OpenWrt:~#
設定ファイルを作成
情報を集める
root@OpenWrt:~# mdadm --assemble /dev/md2 /dev/sd[ab]2 mdadm: /dev/md2 has been started with 2 drives. root@OpenWrt:~# mdadm --assemble /dev/md3 /dev/sd[ab]3 mdadm: /dev/md3 has been started with 2 drives. root@OpenWrt:~# root@OpenWrt:~# mdadm --detail --scan ARRAY /dev/md2 metadata=1.2 name=OpenWrt:2 UUID=6f0c6ff4:e431a2fa:4b522d6e:3db8b091 ARRAY /dev/md3 metadata=1.2 name=OpenWrt:3 UUID=bee41517:55b3802c:f9404605:bc06b2d9 root@OpenWrt:~#
オリジナルのバックアップを取ってから編集する。
root@OpenWrt:~# cp /etc/config/mdadm /etc/config/mdadm.ORIGINAL root@OpenWrt:~# vi /etc/config/mdadm
とりあえず、/etc/config/mdadm
をこんなふうに書いてみた。
config mdadm option email root config array option uuid UUID=6f0c6ff4:e431a2fa:4b522d6e:3db8b091 option device /dev/md2 option name OpenWrt:2 list devices /dev/sda2 list devices /dev/sdb2 config array option uuid UUID=bee41517:55b3802c:f9404605:bc06b2d9 option device /dev/md3 option name OpenWrt:3 list devices /dev/sda3 list devices /dev/sdb3
RAIDが自動的にアクティブに
前項のように設定ファイルを書き換え、ReadyNASを再起動したところ。。。
無事、自動的にRAIDがアクティブになりました
root@OpenWrt:~# reboot root@OpenWrt:~# Connection to 192.168.10.2 closed by remote host. Connection to 192.168.10.2 closed. hiroshi@VPCF24AJ-ubuntu:~$ ssh root@192.168.10.2 root@192.168.10.2's password: BusyBox v1.35.0 (2022-05-20 19:00:24 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r19689-19ef3b54f4 ----------------------------------------------------- root@OpenWrt:~# cat /proc/mdstat Personalities : [raid0] [raid1] [raid10] md3 : active raid1 sda3[0] sdb3[1] 2925413760 blocks super 1.2 [2/2] [UU] [==========>..........] resync = 53.2% (1558541376/2925413760) finish=179.5min speed=126850K/sec bitmap: 11/22 pages [44KB], 65536KB chunk md2 : active raid1 sda2[0] sdb2[1] 523264 blocks super 1.2 [2/2] [UU] unused devices: <none> root@OpenWrt:~#
ちなみに、自動生成されたmdadm.conf
こんな風になるんだね。
root@OpenWrt:~# cat /var/etc/mdadm.conf # Autogenerated from /etc/config/mdadm, do not edit! ARRAY /dev/md2 uuid=UUID=6f0c6ff4:e431a2fa:4b522d6e:3db8b091 name=OpenWrt:2 devices=/dev/sda2,/dev/sdb2 ARRAY /dev/md3 uuid=UUID=bee41517:55b3802c:f9404605:bc06b2d9 name=OpenWrt:3 devices=/dev/sda3,/dev/sdb3 root@OpenWrt:~#
RAID構成をちょっと修正
スワップ領域用にと、/dev/md2(/dev/sda2,/dev/sdb2) をraid1で組んでしまったが、スワップに冗長性を持たす意味なんてなさそうなので、raid0 にしてみようと思う。(スワップをraid0にしたからって高速化は高が知れているだろうけど・・・)
/dev/md2 を raid1 から raid0 に変更
bad uuid: って矢鱈と言われるようになったのが気になるが、無視して進める。多分設定ファイルが悪いんだろう。
root@OpenWrt:~# mdadm --misc --stop /dev/md2 mdadm: bad uuid: uuid=UUID=6f0c6ff4:e431a2fa:4b522d6e:3db8b091 mdadm: bad uuid: uuid=UUID=bee41517:55b3802c:f9404605:bc06b2d9 mdadm: stopped /dev/md2 root@OpenWrt:~# root@OpenWrt:~# mdadm --misc --zero-superblock /dev/sda2 /dev/sdb2 mdadm: bad uuid: uuid=UUID=6f0c6ff4:e431a2fa:4b522d6e:3db8b091 mdadm: bad uuid: uuid=UUID=bee41517:55b3802c:f9404605:bc06b2d9 root@OpenWrt:~# root@OpenWrt:~# mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2 mdadm: bad uuid: uuid=UUID=6f0c6ff4:e431a2fa:4b522d6e:3db8b091 mdadm: bad uuid: uuid=UUID=bee41517:55b3802c:f9404605:bc06b2d9 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md2 started. root@OpenWrt:~# mkswap /dev/md2 Setting up swapspace version 1, size = 1069543424 bytes root@OpenWrt:~#
設定ファイルを修正
option uuid は書かないことにした。
root@OpenWrt:~# cp /etc/config/mdadm /etc/config/mdadm.BACKUP root@OpenWrt:~# vi /etc/config/mdadm root@OpenWrt:~# cat /etc/config/mdadm config mdadm option email root config array option device /dev/md2 option name OpenWrt:2 list devices /dev/sda2 list devices /dev/sdb2 config array option device /dev/md3 option name OpenWrt:3 list devices /dev/sda3 list devices /dev/sdb3 root@OpenWrt:~#
これでどうだろう。
root@OpenWrt:~# reboot root@OpenWrt:~# Connection to 192.168.10.2 closed by remote host. Connection to 192.168.10.2 closed. hiroshi@VPCF24AJ-ubuntu:~$ ssh root@192.168.10.2 root@192.168.10.2's password: Permission denied, please try again. root@192.168.10.2's password: BusyBox v1.35.0 (2022-05-20 19:00:24 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r19689-19ef3b54f4 ----------------------------------------------------- root@OpenWrt:~# root@OpenWrt:~# root@OpenWrt:~# cat /proc/mdstat Personalities : [raid0] [raid1] [raid10] md3 : active raid1 sda3[0] sdb3[1] 2925413760 blocks super 1.2 [2/2] [UU] [==============>......] resync = 74.1% (2170033984/2925413760) finish=107.0min speed=117591K/sec bitmap: 6/22 pages [24KB], 65536KB chunk md2 : active raid0 sda2[0] sdb2[1] 1044480 blocks super 1.2 512k chunks unused devices: <none> root@OpenWrt:~# cat /var/etc/mdadm.conf # Autogenerated from /etc/config/mdadm, do not edit! ARRAY /dev/md2 name=OpenWrt:2 devices=/dev/sda2,/dev/sdb2 ARRAY /dev/md3 name=OpenWrt:3 devices=/dev/sda3,/dev/sdb3 root@OpenWrt:~#
うん。デバイス名をdevices=/dev/sd[ab]* を書いておけば uuidは書かなくても大丈夫のようです。
デバイス名は順番が入れ替わることがあるし、HDDを追加したりする可能性があれば、UUIDで設定したほうが良いんだろうけど。
2ベイNASで2本HDD入れてしまってるので、これでもよいか