ubuntu 14.04でのraid1作成、復旧手順（その１）

サーバOSをubuntu使えと言われて、一生懸命勉強中のみゅみゅです。
サーバとして使うためには障害復旧の手順の確立が第一ということで、HDD障害を想定してubuntuでのraid 1の構築、障害発生から復旧まで流れを自分の為にまとめていきます。

###raid 1でのインストール
実マシンでやると大変なのでVirtualBox上でやります。
![20150520-1.png](https://qiita-image-store.s3.amazonaws.com/0/79067/089b14b1-783f-bd18-88f7-2e8d3e6383b2.png)
こんな感じで、HDDを二つ用意してインストール開始
何も考えずにHDDのパーティション作成のところで自動でリターンを押していったら、raidを作らずにそのまま進んだので失敗。。。
（途中で戻るとか駆使すればできるのかもしれないけどそこまでやらない。。。）

![20150520-2.png](https://qiita-image-store.s3.amazonaws.com/0/79067/5f92be3a-ad8a-c0cc-e111-4b3a7b365b48.png)
ディスクのパーティショニングで手動を選択

![20150520-3.png](https://qiita-image-store.s3.amazonaws.com/0/79067/caf442f5-a8a7-829c-4ec1-2b9b4c3643da.png)
こんな感じにsda、sdbにボリュームを作成してソフトウェアRAIDの設定

![20150520-4.png](https://qiita-image-store.s3.amazonaws.com/0/79067/b6843157-d005-98e2-3f87-334f11c9e938.png)
MDデバイスの作成を選択して

![20150520-5.png](https://qiita-image-store.s3.amazonaws.com/0/79067/63d122a2-e84e-399f-3c7d-7e144bd0e5b7.png)
ミラーリングで耐障害性を上げるのでRAID 1を選択

![20150520-6.png](https://qiita-image-store.s3.amazonaws.com/0/79067/6156ea3c-5380-72ff-28cd-5a0a5bb778d1.png)
HDDを二つ接続するので、２と選択

![20150520-7.png](https://qiita-image-store.s3.amazonaws.com/0/79067/6d32e023-34bd-b481-4a56-3e2ffff0202b.png)
スペアのディスクは設定しないので０と

![20150520-8.png](https://qiita-image-store.s3.amazonaws.com/0/79067/b7742dc8-5a03-65d4-04fe-b6c2136020f0.png)
raid 1を設定するディスクを選択
ここでは sda sdbが該当

で、また最初のmd作成に戻るので完了と
これで
![20150520-9.png](https://qiita-image-store.s3.amazonaws.com/0/79067/77c1d180-0380-a35d-6335-5a9caf49045e.png)

RAID1デバイスが作成されました。
これでガイドによるパーティショニングを選択して
```
ガイド - ディスク全体を使い LVMをセットアップする
```
を選択して、ディスクの選択を先ほど作成したRAID1デバイスを選択しパーティションを切ってもらいます。
※LVMを使わなくてもいいと思いますが、HDDを増やすとかその為に。。。
![20150520-10.png](https://qiita-image-store.s3.amazonaws.com/0/79067/bd75a58e-37db-6781-ebe6-62ee9071febd.png)

最終的には、こんな感じのパーティションとなりました。
![20150520-11.png](https://qiita-image-store.s3.amazonaws.com/0/79067/95efd4f8-c54e-9383-ebcd-a19b424f4633.png)

LVMでルートとスワップ
これで【パーティショニングの終了とディスクへの書き込み】でRAID1の設定を終え、普通にパッケージやらなんやらのインストールを行いました。

起動すると`Error: diskfilter writes are not supported`とエラーが出ますが、LVMのバグだそうなので気にしないことだそうです。
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1274320/comments/34

起動しましたのraidの状態の確認

```
root@raidtest:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1] sda1[0]
      8382400 blocks super 1.2 [2/2] [UU]

unused devices: <none>
```

sba1、sdb1にraid1が出来て、名前がmd0ですね
md0の詳細を確認

```
root@raidtest:~# ls -al /dev/md*
brw-rw---- 1 root disk   9, 0  5月 20 11:31 /dev/md0
brw-rw---- 1 root disk 259, 0  5月 20 11:23 /dev/md0p1
brw-rw---- 1 root disk 259, 1  5月 20 11:23 /dev/md0p2
brw-rw---- 1 root disk 259, 2  5月 20 11:23 /dev/md0p5

/dev/md:
合計 0
drwxr-xr-x  2 root root  120  5月 20 11:22 .
drwxr-xr-x 17 root root 4240  5月 20 11:23 ..
lrwxrwxrwx  1 root root    6  5月 20 11:31 0 -> ../md0
lrwxrwxrwx  1 root root    8  5月 20 11:23 0p1 -> ../md0p1
lrwxrwxrwx  1 root root    8  5月 20 11:23 0p2 -> ../md0p2
lrwxrwxrwx  1 root root    8  5月 20 11:23 0p5 -> ../md0p5
```

実態は【/dev/md0??】でリンクで【/dev/md/???】があるとわかります。
/dev/md0のパーティションの中身は

```
root@raidtest:~# parted /dev/md0
GNU Parted 2.3
/dev/md0 を使用
GNU Parted へようこそ！ コマンド一覧を見るには 'help' と入力してください。
(parted) print
モデル: Linux Software RAID Array (md)
ディスク /dev/md0: 8584MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    32.3kB  255MB   255MB   primary   ext2
 2    255MB   8579MB  8324MB  extended
 5    255MB   8579MB  8324MB  logical                     lvm
```

パーティションが1,2,5と設定されていてます。
2番が実領域、5番がlvmの論理領域　1番はいつものごとく/bootですね

lvm構成の確認です。
ホスト名は【raidtest】という名前でその名前がそのままボリューム名に使われてます。

```
root@raidtest:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/md0p5
  VG Name               raidtest-vg
  PV Size               7.75 GiB / not usable 2.34 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              1984
  Free PE               6
  Allocated PE          1978
  PV UUID               DqvWTQ-CN0G-k0z8-8dhv-SnrM-rUDL-0SXomy

root@raidtest:~# vgdisplay
  --- Volume group ---
  VG Name               raidtest-vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               7.75 GiB
  PE Size               4.00 MiB
  Total PE              1984
  Alloc PE / Size       1978 / 7.73 GiB
  Free  PE / Size       6 / 24.00 MiB
  VG UUID               YChiaQ-RgQ2-QJjM-Y3hW-hU1H-l6l2-xYVmne

root@raidtest:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/raidtest-vg/root
  LV Name                root
  VG Name                raidtest-vg
  LV UUID                CZHD85-Jglp-N6mI-1mT1-VQHK-sWic-Bzblni
  LV Write Access        read/write
  LV Creation host, time raidtest, 2015-05-20 11:01:58 +0900
  LV Status              available
  # open                 1
  LV Size                7.23 GiB
  Current LE             1851
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/raidtest-vg/swap_1
  LV Name                swap_1
  VG Name                raidtest-vg
  LV UUID                KJNf1E-cdHO-I3Eb-8pww-magB-R1u4-KixN1g
  LV Write Access        read/write
  LV Creation host, time raidtest, 2015-05-20 11:01:58 +0900
  LV Status              available
  # open                 2
  LV Size                508.00 MiB
  Current LE             127
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1
```

よくわからないので図に書いてみると
![20150520-12.png](https://qiita-image-store.s3.amazonaws.com/0/79067/641a2e91-847c-6a54-e60d-bc766680cdae.png)
こんな感じですね。
LVMのボリューム名がホスト名になってるところが余計に混乱しそうですね。

Ubuntu14.04をRAID1でインストールするとこんな感じのパーティション構成になるのがわかりました。
次は、実際にHDDを止めた時の挙動を見てみたいと思います。