どうも、こんばんは!カラミティです。
最近寒暖の差が酷いですね。
特に先週なんか雨降ったりした日は肌寒くて・・・・電車の中は(ry
体調を崩し気味です。
でも、最近は春、夏、秋、冬って感じられなくて、夏、冬って感じです。
まあ、春は花粉症がありますから、それでああ、春だなーって感じますがw
秋は無くなりましたね。。。(春がなくなればいいのに・・花粉症も無くなりそうだから)
さて、以前、Z400のディスク1本が障害になってしまって交換しないとなーということで
500GBディスク2本購入してそのまま放置状態でした。
なのでやっとこさ、重い腰を上げて交換しました。
Z400は内蔵ディスクが4本くらいはいるだろーと適当に考えてたら、3.5インチディスクは
2本しか搭載できない事が判明しました。(マニュアルを事前に確認しておくべきでした)
本来であれば、1本はスペアで取り付けたままにしておきたかったのですが、それが
できないので1本はそのまま保管して予備パーツとして次ディスクが壊れたら使用します。
ディスク交換は故障したディスクは取り外してあるので、新しいのを取り付けるだけです。
(写真はありません。。取り忘れました)
後は、いつも通りに起動させてディスクが認識されているかどうか確認します。
※外付けディスクなど他ディスクが付いている場合、取り外した方がいいです。
間違えたディスクを選択して作業するとデータが吹き飛びます。
# fdisk -l
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0001af4e
保守ディスクが認識されているので
正常なディスク⇒保守ディスク
へパーティション情報を書き込みます。
※1回目やってOKだったんですけど、何故かコピーできてなかったのでもう一度やったら
上手く出来ました。
# sfdisk -d /dev/sda | sfdisk /dev/sdb
Checking that no-one is using this disk right now ... OK
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0001af4e
Old situation:
デバイス 起動 Start 最後から セクタ Size Id タイプ
/dev/sdb1 * 2048 968402943 968400896 461.8G fd Linux raid 自動検出
/dev/sdb2 968404990 976771071 8366082 4G 5 拡張領域
/dev/sdb5 968404992 976771071 8366080 4G fd Linux raid 自動検出
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0x0001af4e.
Created a new partition 1 of type 'Linux raid autodetect' and of size 461.8 GiB.
/dev/sdb2: Created a new partition 2 of type 'Extended' and of size 4 GiB.
/dev/sdb3: Created a new partition 5 of type 'Linux raid autodetect' and of size 4 GiB.
/dev/sdb6:
New situation:
デバイス 起動 Start 最後から セクタ Size Id タイプ
/dev/sdb1 * 2048 968402943 968400896 461.8G fd Linux raid 自動検出
/dev/sdb2 968404990 976771071 8366082 4G 5 拡張領域
/dev/sdb5 968404992 976771071 8366080 4G fd Linux raid 自動検出
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
これでパーティションは既存ディスクと同じになりました。
後はミラーにこのディスクを追加していくだけです。
mdadmコマンドで--addを使用してディスクをミラーに追加します。
まずはOS領域(/dev/md0)を復旧します。
# mdadm --add /dev/md0 /dev/sdb1
mdadm: added /dev/sdb1
# mdadm --add /dev/md1 /dev/sdb5
mdadm: Cannot get array info for /dev/md1
# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 sdh[1] sdg[0]
1953383360 blocks super 1.2 [2/2] [UU]
md1 : inactive sda5[1](S)
4180992 blocks super 1.2
md0 : active raid1 sdb1[2] sda1[1]
484069184 blocks super 1.2 [2/1] [_U]
[>....................] recovery = 0.4% (2218624/484069184) finish=90.4min speed=88744K/sec
unused devices: <none>
うーん。。。resyncに約1時間30分かかります。長いね^^;
さて今度はmd1(swap領域)を復旧させます。
# mdadm --add /dev/md1 /dev/sdb5
mdadm: Cannot get array info for /dev/md1
ん?なんか/dev/md1の情報を取得できないって言ってる。
/proc/mdstatで詳細を確認してみます。
# cat /proc/mdstat
:
md1 : inactive sda5[1](S)
4180992 blocks super 1.2
inactiveになってる。
あーそうか、障害になったらこうなるのか。。。
ということで、まずこれを有効にしてやります。
# mdadm -R /dev/md1
mdadm: started array /dev/md/1
はい。/dev/md1が起動しました。
では、もう一度/dev/md1に/dev/sdb5を追加します。
# mdadm --add /dev/md1 /dev/sdb5
mdadm: added /dev/sdb5
今度はできました。
ステータスをみるとまあ、OS領域が当然ながらまだ終わってません。
md1はいま同期が走っているものが終われば同期が開始されます。
# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 sdh[1] sdg[0]
1953383360 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sdb5[2] sda5[1]
4180928 blocks super 1.2 [2/1] [_U]
resync=DELAYED
md0 : active raid1 sdb1[2] sda1[1]
484069184 blocks super 1.2 [2/1] [_U]
[=>...................] recovery = 9.1% (44412480/484069184) finish=82.1min speed=89182K/sec
unused devices: <none>
で、最終的に下のように同期も無事終わりました。
# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 sdh[1] sdg[0]
1953383360 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sdb5[2] sda5[1]
4180928 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sdb1[2] sda1[1]
484069184 blocks super 1.2 [2/2] [UU]
unused devices: <none>
# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Apr 12 13:16:50 2014
Raid Level : raid1
Array Size : 484069184 (461.64 GiB 495.69 GB)
Used Dev Size : 484069184 (461.64 GiB 495.69 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun May 28 21:52:23 2017
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : argama:0 (local to host argama)
UUID : b7ee24f8:0091fe75:f3592070:19ef8b92
Events : 435052
Number Major Minor RaidDevice State
2 8 17 0 active sync /dev/sdb1
1 8 1 1 active sync /dev/sda1
# mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sat Apr 12 13:18:01 2014
Raid Level : raid1
Array Size : 4180928 (3.99 GiB 4.28 GB)
Used Dev Size : 4180928 (3.99 GiB 4.28 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun May 28 18:27:26 2017
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : argama:1 (local to host argama)
UUID : 17ad1941:2720bab8:577e1059:c2c6e8be
Events : 141
Number Major Minor RaidDevice State
2 8 21 0 active sync /dev/sdb5
1 8 5 1 active sync /dev/sda5
では^^ノシ