His Masters' Voices Wiki

よろずのことの書き残し

ユーザ用ツール

サイト用ツール


nas:readynas_duo_v2_openwrt_raid

[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 から自動生成、編集するな! と書いてある。

それで、/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がアクティブになりましたLOL

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入れてしまってるので、これでもよいか;-)


参考

nas/readynas_duo_v2_openwrt_raid.txt · 最終更新: 2022/05/28 16:21 by nipa28