CentOSでRAID1を構築する

はじめに

Linux(CentOS 7)でRAID1を構築しました。
ここ最近はクラウドやVPSへの移行が進んでいるので、物理マシンでのRAIDは久しぶりです。

こちらのサイトが参考になりました。

昔話

RAIDは懐かしいですね。2008年ごろはMegaRAIDやLogitechといったメーカーから提供されるRAIDボードを使うことが一般的でした。
また障害対策にUPSを付けていました。

その時期に「RAID組むぞ!」というときには
「RAIDボードを買わなきゃ。あっ、ちゃんとハードウェアRAIDサポートされてるやつじゃないとダメ!
物理ボードでもチェックサムの計算とかをCPU側にさせる似非ハードウェアRAIDはカス!もちろんオンボードRAIDなんて論外!」
とか言っていました。
でも今となってはLinux標準のRAIDが良いですね。

ハードウェアRAIDだと管理画面がベンダ提供のものになります。
BIOSレベルで提供されるためSSHでスクリーンショットを撮るということができず、そうすると必然的に情報が少なくなります。
その点、LinuxのソフトウェアRAIDは情報が多いので助かりますね。

とは言え、先にも述べたようにRAID自体が減っているので…、というところはありますが。(笑)

作業するにあたって

作業を行う前にetckeeperを導入しておきます。
/etcをバージョン管理することで、設定のロールバックや変更点の把握ができ、いざという時にすごくはかどります。

物理マシンの構成

今回のディスク構成はシステム+ストレージとしています。

  • システム用ディスク(160GB)
  • RAID用ストレージディスク (2TB) x 2

これは昔からのことですが、システム領域もRAID管理下におくと色々と大変な目に合うことが多いです。
システム領域は使用される容量も少ないですし、先のetckeeperと合せて飛んでしまってもすぐに復旧できる体制にしておくことで、シンプルな構成とすることができます。

今回の構成は過去に使っていたディスクを流用しました。

また作業は @naname さんにやってもらいました。お休みのところありがとうございます!

実際の手順

さて、まずは接続されたディスクの確認です。

$ fdisk -l
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2TBが2台接続されています。

続いてRAIDの管理コマンド(mdadm)をインストールします。

$ sudo yum install -y mdadm

インストールが完了したらRAIDの作成に取り掛かります。

作成自体はそれほど難しくはなく、下記のコマンドで完了です。

$ sudo mdadm --verbose --create /dev/md0 --metadata 1.0 --level=raid1 --raid-devices=2 /dev/sdb /dev/sdc
$ sudo mkfs.xfs -f /dev/md0
$ sudo mkdir /mnt/
ARRAY /dev/md0 metadata=1.0 name=blaster.l3tp.org:0 UUID=953fd9c1:5ca9af1e:9ac3ffb3:61eda8e9

$ sudo  sh -c 'mdadm --detail --scan >  /etc/mdadm.conf'

mdadmでRAIDを構築しています。
--create /dev/md0で作成します。RAIDによって作成される仮想ディスクはmd0などの名称にします。
--metadata 1.0でRAIDのメタデータバージョンを指定します。現在は0.9と1.0があるようです。
--level=raid1でRAID1(ミラーリング)にします。
--raid-devices=2 /dev/sdb /dev/sdcでRAIDを構成する物理ディスクを指定します。

完成したらmkfs.xfs -f /dev/md0md0をファイルシステムxfsでフォーマットします。

ここまでできたら、再起動時にmdadmの設定を読み込んでRAIDを構成させます。
mdadm --detailで設定が出力されるので、/etc/mdadm.confに書き込んでおきます。

こうすることで他のマシンでRAID構成を復元することも可能になります。

構成されたRAIDは--detail /dev/md0で確認できます。

$ sudo mdadm --detail /dev/md0
[sudo] password for yousan:
/dev/md0:
        Version : 1.0
  Creation Time : Sun Sep 10 14:52:42 2017
     Raid Level : raid1
     Array Size : 1953514432 (1863.02 GiB 2000.40 GB)
  Used Dev Size : 1953514432 (1863.02 GiB 2000.40 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Sep 11 02:50:37 2017
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : blaster.l3tp.org:0  (local to host blaster.l3tp.org)
           UUID : 953fd9c1:5ca9af1e:9ac3ffb3:61eda8e9
         Events : 6450

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

最後に/etc/fstabを編集して終わりです。

/dev/md0        /mnt/pool       xfs defaults    0 0

最近はfstabでUUIDを使っていましたが、/dev/md0という指定で良いようでした。

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

%d人のブロガーが「いいね」をつけました。