April 05, 2007

Linux で RAID1 を構成する

ちょっと前に個人的にメモ用として書いたものをあげてみる。

RAID で動いているか動作確認するときは

 cat /proc/mdstat

ツールは mdadm を使う。昔は raidtools というのを使っていたらしいが最近は変わったらしぃ。
#危うく raidtools を apt-get しそうになったよやれやれ。
Vine4 での RAID の仕方はここが詳しい Vine4でソフトウェアRAID

/dev/sdb を RAID にして構築ということでパーティションを切りなおしてみた。
/dev/sdb は /dev/sda にあわせて、属性を Linux RAID 構成にした。

Disk /dev/sdb: 160.0 GB, 160000081920 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

 デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          13      104391   fd  Linux raid 自動検出
/dev/sdb2              14        5235    41945715   fd  Linux raid 自動検出
/dev/sdb3            5236        9151    31455270   fd  Linux raid 自動検出
/dev/sdb4            9152       19452    82742782+   5  拡張領域
/dev/sdb5            9152       13067    31455238+  fd  Linux raid 自動検出
/dev/sdb6           13068       13198     1052226   fd  Linux raid 自動検出
/dev/sdb7           13199       19452    50235223+  fd  Linux raid 自動検出

で、mdadm コマンドで RAID してよと教え込もうとした

[root@aldebaran root]# mdadm --create --auto=yes --level=1 --raid-device=2 /dev/md5 /dev/s
da5 /dev/sdb5
mdadm: Cannot open /dev/sda5: Device or resource busy
mdadm: create aborted
[root@aldebaran root]#

Device busy で怒られた。よくよく考えたらそうだよな。もう動いてるパーティションに対して RAID 化切り替えてよって言われても動いているから無理といわれるのも当然か…orz

うーんそうすると OS 入れなおして、パーティション作り直すか。
それか /dev/sdb を使って一度その中で RAID を作って戻すっていう手段かな
たとえば、、、、

  1. /dev/sdb1 と /dev/sdb2 で RAID を組み/dev/md1 を作る。
  2. /dev/sda1 から /dev/md2 へ丸ごとコピーして RAID させる
  3. /dev/sda1 を unmount して /dev/md2 を / として mount
  4. fdisk で /dev/sda1 を RAID 属性にして reboot する
  5. mdadm --add /dev/md1 /dev/sda1
  6. mdadm --remove /dev/md1 /dev/sdb2
  7. めでたしめでたし?

→コピーの仕方に問題あったかも??
結局、OS インストールし直し、パーティションのファイルシステムを RAID にして作成後、RAID 自身を再構成した。
結局名にやってんだか・・・orz

[root@aldebaran root]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1] sda3[0]
      31455168 blocks [2/2] [UU]

md2 : active raid1 sdb3[1] sda5[0]
      31455168 blocks [2/2] [UU]

md4 : active raid1 sdb5[1] sda6[0]
      50235136 blocks [2/2] [UU]

md3 : active raid1 sdb6[1] sda7[0]
      1052160 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda2[0]
      41945600 blocks [2/2] [UU]

unused devices: 
[root@aldebaran root]#

・・・とまーこんな感じでできたわけだが

Trackback on "Linux で RAID1 を構成する"

このエントリーのトラックバックURL: 

"Linux で RAID1 を構成する"へのトラックバックはまだありません。

Comment on "Linux で RAID1 を構成する"

"Linux で RAID1 を構成する"へのコメントはまだありません。