View All Posts. MiCHiLU.com powered by Django ;-)

[Linux]: RAID に Disk を追加する

片肺の RAID1 に Disk を追加して Sync させるまで。 File System の状態を確認する。 (おさらい)

$ cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 hdc3[1]
      116856704 blocks [2/1] [_U]

unused devices: <none>

$ sudo /sbin/mdadm --detail --scan
ARRAY /dev/md3 level=raid1 num-devices=2 UUID=faedf221:a27d31bb:7199f477:4afeb281
   devices=/dev/hdc3

$ sudo /sbin/mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90.01
  Creation Time : Thu Sep  1 11:20:51 2005
     Raid Level : raid1
     Array Size : 116856704 (111.44 GiB 119.66 GB)
    Device Size : 116856704 (111.44 GiB 119.66 GB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Sun Apr  9 19:29:23 2006
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

    Number   Major   Minor   RaidDevice State
       0       0        0       -1      removed
       1      22        3        1      active sync   /dev/hdc3
           UUID : faedf221:a27d31bb:7199f477:4afeb281
         Events : 0.6076544

$ sudo /sbin/fdisk -l /dev/hda

Disk /dev/hda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14          62      393592+  82  Linux スワップ
/dev/hda3           14594       30401   126977760   8e  Linux LVM
/dev/hda4              63       14593   116720257+   5  拡張領域
/dev/hda5              63       14593   116720226   83  Linux

領域テーブル項目がディスクの順序と一致しません

$ sudo /sbin/fdisk -l /dev/hdc

Disk /dev/hdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           2          13       96390   83  Linux
/dev/hdc2              14          45      257040   82  Linux スワップ
/dev/hdc3              46       14593   116856810   fd  Linux raid 自動検出

(おさらい、ここまで。)

LVM から外した /dev/hda3 を RAID1 へ追加する。

$ sudo /sbin/mdadm /dev/md3 -a /dev/hda3
mdadm: hot added /dev/hda3


$ sudo /sbin/mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90.01
  Creation Time : Thu Sep  1 11:20:51 2005
     Raid Level : raid1
     Array Size : 116856704 (111.44 GiB 119.66 GB)
    Device Size : 116856704 (111.44 GiB 119.66 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Mon Apr 23 15:03:15 2007
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

 Rebuild Status : 0% complete

    Number   Major   Minor   RaidDevice State
       0       0        0       -1      removed
       1      22        3        1      active sync   /dev/hdc3
       2       3        3        0      spare   /dev/hda3
           UUID : faedf221:a27d31bb:7199f477:4afeb281
         Events : 0.6097863

Total Devices, Working Devices, Spare Devices がそれぞれ 1ずつ増えている。

$ cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 hda3[2] hdc3[1]
      116856704 blocks [2/1] [_U]
      [>....................]  recovery =  0.7% (909632/116856704) finish=160.9min speed=12008K/sec
unused devices: <none>

/dev/hda3 は sync 中なのでまだ spare 扱い。 パーティションのラベルも変更しておく。

$ sudo /sbin/fdisk /dev/hda

このディスクのシリンダ数は 30401 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): p

Disk /dev/hda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14          62      393592+  82  Linux スワップ
/dev/hda3           14594       30401   126977760   8e  Linux LVM
/dev/hda4              63       14593   116720257+   5  拡張領域
/dev/hda5              63       14593   116720226   83  Linux

領域テーブル項目がディスクの順序と一致しません

コマンド (m でヘルプ): t
領域番号 (1-5): 3
16進数コード (L コマンドでコードリスト表示): L

 0  空             1e  Hidden W95 FAT1 75  PC/IX           be  Solaris boot
 1  FAT12           24  NEC DOS         80  古い Minix    bf  Solaris
 2  XENIX root      39  Plan 9          81  Minix / 古い  c1  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  82  Linux スワッ c4  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     83  Linux           c6  DRDOS/sec (FAT-
 5  拡張領域    41  PPC PReP Boot   84  OS/2 隠し C:  c7  Syrinx
 6  FAT16           42  SFS             85  Linux 拡張領 da  非 FS デー
 7  HPFS/NTFS       4d  QNX4.x          86  NTFS ボリュ  db  CP/M / CTOS / .
 8  AIX             4e  QNX4.x 2nd part 87  NTFS ボリュ  de  Dell ユーテ
 9  AIX ブート   4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 a  OS/2 ブート  50  OnTrack DM      93  Amoeba          e1  DOS access
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad    eb  BeOS fs
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
11  隠し FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC
12  Compaq 診断   5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
14  隠し FAT16 <3 61  SpeedStor       a9  NetBSD          f4  SpeedStor
16  隠し FAT16    63  GNU HURD また ab  Darwin boot     f2  DOS セカン
17  隠し HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid 自
18  AST SmartSleep  65  Novell Netware  b8  BSDI スワッ  fe  LANstep
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  隠し Boot Wiz ff  BBT
1c  Hidden W95 FAT3
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 3 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): p

Disk /dev/hda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14          62      393592+  82  Linux スワップ
/dev/hda3           14594       30401   126977760   fd  Linux raid 自動検出
/dev/hda4              63       14593   116720257+   5  拡張領域
/dev/hda5              63       14593   116720226   83  Linux

領域テーブル項目がディスクの順序と一致しません

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。

$ sudo /sbin/fdisk -l /dev/hda

Disk /dev/hda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14          62      393592+  82  Linux スワップ
/dev/hda3           14594       30401   126977760   fd  Linux raid 自動検出
/dev/hda4              63       14593   116720257+   5  拡張領域
/dev/hda5              63       14593   116720226   83  Linux

領域テーブル項目がディスクの順序と一致しません

Linux LVM から Linux raid 自動検出 へ変更。 後でrebootしたときにきちんと認識されるか、忘れずに確認する。

ここまでで RAID1 の完成。 Sync が完了するのを寝て待つのみ。 ( Disk がクラッシュしないのを祈りながら。。。)

$ cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 hda3[0] hdc3[1]
      116856704 blocks [2/2] [UU]

unused devices: <none>

$ sudo /sbin/mdadm --detail /dev/md3
/dev/md3:
        Version : 00.90.01
  Creation Time : Thu Sep  1 11:20:51 2005
     Raid Level : raid1
     Array Size : 116856704 (111.44 GiB 119.66 GB)
    Device Size : 116856704 (111.44 GiB 119.66 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Mon Apr 23 22:03:07 2007
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0


    Number   Major   Minor   RaidDevice State
       0       3        3        0      active sync   /dev/hda3
       1      22        3        1      active sync   /dev/hdc3
           UUID : faedf221:a27d31bb:7199f477:4afeb281
         Events : 0.6101408

浅井健一のLiveに行ってる間に終了。わーいわーい。

Mon, 23 Apr 2007 22:32:28 +0900 source edit
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.
View All Posts. MiCHiLU.com powered by Django ;-)