His Masters' Voices Wiki

よろずのことの書き残し

ユーザ用ツール

サイト用ツール


nas:readynas_duo_v2_openwrt_hdd_manage

[ReadyNAS Duo v2][Open-WRT] HDDを扱えるようにする

概要

Open-WRT化したReadyNASで、HDDを扱えるようにして、RAID-1を構築する。

参考サイト

パッケージ導入

HDDのパーティション操作のために fdisk、RAID構築のために mdadm をインストールする。

opkg update
opkg install fdisk
opkg install mdadm

fdiskコマンドでパーティション構成を調べる

ReadyNASには、Open-WRT化する前のまま(工場出荷状態に戻すは実行したが)HDDが2本挿さっているので、どんな状態か覗いてみる。

root@OpenWrt:~# ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sdb   /dev/sdb2
/dev/sda1  /dev/sda3  /dev/sdb1  /dev/sdb3
root@OpenWrt:~# fdisk -l /dev/sda
Disk /dev/sda: 2.73 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: ST3000DM007-1WY1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 36F7B8D6-ED67-4C9C-A0A9-51CD930408B4

Device       Start        End    Sectors  Size Type
/dev/sda1       64    8388671    8388608    4G Linux RAID
/dev/sda2  8388672    9437247    1048576  512M Linux RAID
/dev/sda3  9437248 5860529072 5851091825  2.7T Linux RAID
root@OpenWrt:~# fdisk -l /dev/sdb
Disk /dev/sdb: 2.73 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: ST3000DM007-1WY1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C54C6828-8DBA-414F-BD8E-13F172CAC8BB

Device       Start        End    Sectors  Size Type
/dev/sdb1       64    8388671    8388608    4G Linux RAID
/dev/sdb2  8388672    9437247    1048576  512M Linux RAID
/dev/sdb3  9437248 5860529072 5851091825  2.7T Linux RAID
root@OpenWrt:~# 

3つパーティションが切ってあったらしい。
/dev/sd{a,b}1 は /boot、 /dev/sd{a,b}2 はスワップ、 /dev/sd{a,b}3 がデータ領域にでも使われていたのかな。

パーティション切り直してもよいのだけれど、(面倒なので)とりあえず、容量の大きな3番めのパーティションをそのまま使ってみる。

mdadmコマンドで RAID-1 を構築

root@OpenWrt:~# ls /dev/md*
ls: /dev/md*: No such file or directory
root@OpenWrt:~# 
root@OpenWrt:~# mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
mdadm: /dev/sda3 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Thu May 26 21:29:24 2022
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: /dev/sdb3 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Thu May 26 21:29:24 2022
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md3 started.
root@OpenWrt:~# cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid10] 
md3 : active raid1 sdb3[1] sda3[0]
      2925413760 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  0.0% (2468480/2925413760) finish=276.2min speed=176320K/sec
      bitmap: 22/22 pages [88KB], 65536KB chunk

unused devices: <none>
root@OpenWrt:~# 
root@OpenWrt:~# mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm: /dev/sda2 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Thu May 26 21:29:07 2022
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: /dev/sdb2 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Thu May 26 21:29:07 2022
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.
root@OpenWrt:~# mdadm --detail --scan
ARRAY /dev/md3 metadata=1.2 name=OpenWrt:3 UUID=96e650b0:c42bdbec:fa51e915:0eda2742
ARRAY /dev/md2 metadata=1.2 name=OpenWrt:2 UUID=508a7b33:f56fd66c:96557387:5c2401dd
root@OpenWrt:~# mdadm --detail --scan > /etc/mdadm/mdadm.conf
root@OpenWrt:~# 

多分これでRAID-1構築できたと思う。(/dev/md2 スワップ用, /dev/md3 データ用)

ファイルシステムを作成する

Open-WRTは、mkfsコマンドとかも全然入ってないんだね。(組み込み機器用のディストロだし、最小ではじめて必要なものは後から入れるというスタンスは当然といえば当然か・・・)
ファイルストレージ関連で必要になりそうなパッケージを入れておく。USBメモリとかも使うだろうし。

root@OpenWrt:~# opkg install kmod-usb-storage
root@OpenWrt:~# opkg install usbutils
root@OpenWrt:~# opkg install gdisk
root@OpenWrt:~# opkg install block-mount
root@OpenWrt:~# opkg install e2fsprogs
root@OpenWrt:~# opkg install kmod-fs-ext4

ext4ファイルシステムを作成する。ついでにswapも。

root@OpenWrt:~# mkfs.ext4 /dev/md3
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 731353440 4k blocks and 182845440 inodes
Filesystem UUID: eddcf2be-32f6-4be7-9c58-85dccafcf382
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done       

root@OpenWrt:~# 
root@OpenWrt:~# mkswap /dev/md2
Setting up swapspace version 1, size = 535818240 bytes
root@OpenWrt:~#

マウントポイントを作成し、マウントしてみる。

root@OpenWrt:~# mkdir /mnt/data
root@OpenWrt:~# mount -t ext4 /dev/md3 /mnt/data
root@OpenWrt:~# df /mnt/data/
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md3             2878354352        28 2732067252   0% /mnt/data
root@OpenWrt:~# df -h /mnt/data/
Filesystem                Size      Used Available Use% Mounted on
/dev/md3                  2.7T     28.0K      2.5T   0% /mnt/data
root@OpenWrt:~# date > /mnt/data/TESTFILE
root@OpenWrt:~# ls -alF /mnt/data/
drwxr-xr-x    3 root     root          4096 May 28 11:54 ./
drwxr-xr-x    1 root     root           288 May 28 11:52 ../
-rw-r--r--    1 root     root            29 May 28 11:54 TESTFILE
drwx------    2 root     root         16384 May 28 11:49 lost+found/
root@OpenWrt:~# cat /mnt/data/TESTFILE 
Sat May 28 11:54:16 JST 2022
root@OpenWrt:~# 

うん、よいみたい。

再起動したらRAIDアレイが消えた!?

ところが、ReadyNASを再起動したら、RAIDアレイが見えなくなってしまった。

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:~# 
root@OpenWrt:~# ls /dev/md*
ls: /dev/md*: No such file or directory
root@OpenWrt:~# cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid10] 
unused devices: <none>
root@OpenWrt:~# 

mdstat --assemble したら戻りはしたのだが、、、

/etc/mdstat/mdstat.conf を作ったら、システム起動時に自動的にRAIDもアクティブになるんじゃなかったっけ?

root@OpenWrt:~# mdadm --assemble /dev/md3 /dev/sda3 /dev/sdb3
mdadm: /dev/md3 has been started with 2 drives.
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 = 25.9% (759977728/2925413760) finish=214.7min speed=168073K/sec
      bitmap: 17/22 pages [68KB], 65536KB chunk

unused devices: <none>
root@OpenWrt:~# mount /dev/md3 /mnt/data
root@OpenWrt:~# ls -l /mnt/data
-rw-r--r--    1 root     root            29 May 28 11:54 TESTFILE
drwx------    2 root     root         16384 May 28 11:49 lost+found
root@OpenWrt:~# cat /mnt/data/TESTFILE
Sat May 28 11:54:16 JST 2022
root@OpenWrt:~# 

mdadm.conf の作り方、配置場所が悪かったのかしらん?

root@OpenWrt:~# echo DEVICE /dev/sd[ab][23] > /etc/mdadm.conf
root@OpenWrt:~# mdadm --detail --scan >> /etc/mdadm.conf 
root@OpenWrt:~# cat /etc/mdadm.conf 
DEVICE /dev/sda2 /dev/sda3 /dev/sdb2 /dev/sdb3
ARRAY /dev/md3 metadata=1.2 name=OpenWrt:3 UUID=bee41517:55b3802c:f9404605:bc06b2d9
ARRAY /dev/md2 metadata=1.2 name=OpenWrt:2 UUID=6f0c6ff4:e431a2fa:4b522d6e:3db8b091
root@OpenWrt:~# 
nas/readynas_duo_v2_openwrt_hdd_manage.txt · 最終更新: 2022/05/28 14:01 by nipa28