RAID6(md)アレイを別のLinuxマシンにマウントする(1/4)

CentOS7のソフトウェアRAID(md)で構成したRAID6のストレージアレイを、
そのまま別のLinuxOS(CentOS7)でマウントできるか検証してみた。

QNAPやLinkStationなど、mdを利用したNASの筐体/電源故障時、有効かと思われる。
物理的に検証したい所だけど、パーツがないので仮想マシン(VirtualBox)で検証した。

検証VM構成

  1. raid-test0 …以降「VM0」と呼ぶ
  2. HDD0(10GB) : LVM(単一ディスク:システム用)
    HDD1-4(8GBx4): RAID6(ソフトウェアRAID:データ用)
    OS: CentOS7

  3. raid-test1 …以降「VM1」と呼ぶ
  4. HDD0(10GB) : LVM(単一ディスク:システム用)
    OS: CentOS7

検証の流れ

  1. VM0で構成したRAID6アレイに1MBのダミーファイルを100個生成、MD5とファイルサイズを記録。
  2. VM0を停止しVirtualBoxのマネージャからRAID6のVMディスクx4をVM0から解放し、VM1に追加。
  3. VM1を起動し、RAID構成確認、簡易読み書きテスト、および工程1.とのファイル差分チェック。
  4. (追加検証1) 2.の工程で、VM1に対してVMディスクx4のうち2台のみ追加した時の動作確認と、縮退モードでのアレイ立ち上げ。

検証1
VM0で構成したRAID6アレイに1MBのダミーファイルを100個生成、MD5とファイルサイズを記録。

まずは、VM0の初期状態

# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Feb 25 09:42:40 2015
Raid Level : raid6
Array Size : 16765952 (15.99 GiB 17.17 GB)
Used Dev Size : 8382976 (7.99 GiB 8.58 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Feb 25 09:44:39 2015
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : raid-test0:0 (local to host raid-test0)
UUID : 5631fad3:0ec41ac1:b6234c79:ab094b44
Events : 18

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1

このmd0を/mnt/md0にマウントし、そこに1MBのダミーファイルを100個作成。

# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 8.5G 1.2G 7.4G 14% /
devtmpfs 492M 0 492M 0% /dev
tmpfs 498M 0 498M 0% /dev/shm
tmpfs 498M 6.6M 491M 2% /run
tmpfs 498M 0 498M 0% /sys/fs/cgroup
/dev/sda1 497M 96M 402M 20% /boot
/dev/md0 16G 45M 15G 1% /mnt/md0

# for i in {1..100};do dd if=/dev/zero of=/mnt/md0/file$i bs=1M;done

生成されているか確認。

# ll/ /mnt/md0/
合計 1024016
-rw-r--r--. 1 root root 10485760 2月 25 09:52 file1
-rw-r--r--. 1 root root 10485760 2月 25 09:52 file10
-rw-r--r--. 1 root root 10485760 2月 25 09:52 file100
.....
.....

ファイル数も100で無事生成されてそう。

# find /mnt/md0/ -type f | wc -l
100

MD5確認、あとの工程の差分チェックで利用。

# md5sum /mnt/md0/file*
f1c9645dbc14efddc7d8a322685f26eb /mnt/md0/file1
f1c9645dbc14efddc7d8a322685f26eb /mnt/md0/file100

100ファイル全て同じMD5値、アレイ障害でファイルに変化があれば、値も変化するはず。
念のため、ファイルサイズも確認。

# du /mnt/md0 -b
16384 /mnt/md0/lost+found
1048596480 /mnt/md0

長くなったので、検証2は次回の記事で。

Leave a Reply

Your email address will not be published.