- 追加された行はこの色です。
- 削除された行はこの色です。
*Soft Raid [#d02f8913]
RIGHT:更新日 &lastmod();
**DISK構成 [#maa3b95b]
''raid0では/boot領域がRaid構成だと起動しないがRaid1だとOK。''~
インストール直後にraid1はraidを構築し始めるので/proc/mdstatをモニターして
Raidが完成する様子を見る。
''&color(red){注)このままではhda側に障害が出たとき、hdb側にMBRがないので立ち上がらない。そこで事前にhdaのMBRをhdbの[[MBRのコピー>#mbr]]をしておく。};''~
また、一度Raidのメンバーから外すと再起動後は再度メンバーとしてADDする必要がある。
''raidの構成''
hda
<================= RAID ================>
--------------------------------------------------------
|/boot(500MB) |/ (18GB) |swap (1GB) |
--------------------------------------------------------
hda1 md0(hda2) md1(hda3)
hdb
<================= RAID ================>
--------------------------------------------------------
|/boot(500MB)|/ (18GB) |swap (1GB) |
--------------------------------------------------------
hdb1 md0(hdb2) md1(hdb3)
**ドライブの交換 [#ne4a7206]
破壊されたディスクの交換を行う~
新しいHDDを接続し、残ったHDDと同じようにfdiskでパーテションを作成する~
容量が多くなればよさそう
''元DISK(20GB)''
Disk /dev/hda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/hda1 * 1 64 514048+ 83 Linux
/dev/hda2 65 2473 19350292+ fd Linux raid 自動検出
/dev/hda3 2474 2610 1100452+ fd Linux raid 自動検出
''新追加DISK(24GB)''
Disk /dev/hdb: 25.7 GB, 25769803776 bytes
15 heads, 63 sectors/track, 53261 cylinders
Units = シリンダ数 of 945 * 512 = 483840 bytes
デバイス Boot Start End Blocks Id System
/dev/hdb1 1 1138 537673+ 83 Linux
/dev/hdb2 1139 44542 20508390 83 Linux
/dev/hdb3 44543 53261 4119727+ 83 Linux
コマンド (m でヘルプ): t
領域番号 (1-4): 2
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 2 から fd (Linux raid 自動検出) に変更しました
コマンド (m でヘルプ): p
Disk /dev/hdb: 25.7 GB, 25769803776 bytes
15 heads, 63 sectors/track, 53261 cylinders
Units = シリンダ数 of 945 * 512 = 483840 bytes
デバイス Boot Start End Blocks Id System
/dev/hdb1 1 1138 537673+ 83 Linux
/dev/hdb2 1139 44542 20508390 fd Linux raid 自動検出
/dev/hdb3 44543 53261 4119727+ fd Linux raid 自動検出
***Raidのメンバーに追加 [#vf1d362f]
Vine4.x (Kernel2.6)から再構築のためRaidメンバーに参加させるにはmdadmを使用する
raidhotaddコマンドから、mdadmになった。
hdb2,hdb3をメンバーに参加させる。その後hdb1にddコマンドで/bootをhda1からコピー。
# /sbin/mdadm /dev/md0 -a /dev/hdb2
mdadm: re-added /dev/hdb2
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb3[1] hda3[0]
1100352 blocks [2/2] [UU]
md0 : active raid1 hdb2[2] hda2[0]
19350208 blocks [2/1] [U_]
[>....................] recovery = 0.4% (78208/19350208) finish=24.6min speed=13034K/sec
unused devices: <none>
***Raidの状況表示 [#b5289789]
# /sbin/mdadm -Q -D /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Tue Sep 18 13:34:15 2007
Raid Level : raid0 <==ストライピング(raid0)
Array Size : 235512320 (224.60 GiB 241.16 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Sep 18 13:34:15 2007
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 256K
UUID : a845c29d:8bcdbcb7:7ca2d75c:ddbed9f3
Events : 0.1
Number Major Minor RaidDevice State
0 3 2 0 active sync /dev/hda2
1 3 66 1 active sync /dev/hdb2
***擬似的にHDDの不良をセットする [#y9fa4723]
# /sbin/mdadm --fail /dev/md1 /dev/hda2
mdadm: set /dev/hda2 faulty in /dev/md1
これで、hda2がRaidから切り離される
***明示的にHDDの切り離し [#u00cdfd2]
# sbin/mdadm --remove /dev/md1 /dev/hda2
mdadm: hot removed /dev/hda2
これで、hda2が切り離される。しかしながら、正常に動作しているときは、
mdadm: hot remove failed for /dev/hdb3: Device or resource busy
となり切り離せないので、--failで一度疑似不良にするとはずせる。
***その他 [#lc9ccc2a]
Raidから物理DISKを外し、一度シングルで立ち上げると、再度DISKを実装してもRaid構成にならない。その時は再度mdadmで再度addする必要がある。
**ddを使用してパーテションのコピーのしかた [#i56f8120]
***bootパーティションのコピー [#x7a8e16e]
再起動後/bootの内容をhdb1にコピーする
dd if=/dev/hda1 of=/dev/hdb1 bs=512 (*hd[ab]1=bootパーティション)
# dd if=/dev/hda1 of=/dev/hdb1 bs=512
1028097+0 records in
1028097+0 records out
526385664 bytes (526 MB) copied, 9.2453 seconds, 56.9 MB/s
''mountして確認''
# mount /dev/hdb1 /mnt
# ls /mnt
System.map@ grub/ lost+found/
System.map-2.6.16-0vl68 initrd-2.6.16-0vl68.img vmlinuz@
System.map-2.6.16-0vl76.3 initrd-2.6.16-0vl76.3.img vmlinuz-2.6.16-0vl68
System.map.old@ initrd.img@ vmlinuz-2.6.16-0vl76.3
config-2.6.16-0vl68 initrd.old.img@ vmlinuz.old@
config-2.6.16-0vl76.3 kernel.h
&color(red){kernelのUpdateしたときはコピーしておく必要がある};
***&aname(mbr){MBRのコピー}; [#l11c1473]
hdaが破壊されるとhdbにはMBRが書き込まれていないので起動できない。そこで先にhdaのMBRをhdbにコピーしておきhdaが破壊されたときはhdbにあるHDDをマスターにして起動できるようにしておく。
''MBRというファイルにhdaのMBRをコピー''~
dd if=/dev/hda of=./MBR bs=512 count=1~
''ファイルMBRをhdbのMBRにコピー''~
dd if=./MBR of=/dev/hdb bs=446 count=1 &color(red){<==bsが512でなく446であることに注意};
# dd if=/dev/hda of=./MBR bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.005724 seconds, 89.4 kB/s
# dd if=./MBR of=/dev/hdb bs=446 count=1
1+0 records in
1+0 records out
446 bytes (446 B) copied, 0.000928 seconds, 481 kB/s
**参考 [#pa546c70]
[[Raidの作成:http://wwwism.dyndns.org/hp/linux/raid.htm]]
[[Raidの作成(Kernel2.4):http://wwwism.dyndns.org/hp/linux/raid.htm]]