片肺の 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に行ってる間に終了。わーいわーい。
