2024年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

AdSense


AdSense


SNS

  • SNS

« 【Linux】出来るだけ簡単に行うブートディスクの換装 | トップページ | フリクションボール3 SMART-TIP + フリクションボール4 =フリクションボール4 SMART-TIP »

2014年9月 2日 (火)

【Linux】SoftRAIDを構成するディスクの交換

先日,ハードRAIDはトラブったときに対応が大変という話を書きましたが,丁度タイミング良く仕事で使っているマシンのmd0を構成するディスクを交換する機会があったので,備忘録的に記録として残します.

ホント,SoftRAIDのディスク交換は楽ちん.

 

まずログを監視していて気が付いたのは,このsmartdの発する警告.

...
Jul 31 17:06:19 hogehoge smartd[3925]: Device: /dev/sdc, 22 Currently unreadable (pending) sectors
...

完全に死んではいませんが,sdcがかなり危ない状態になりつつあることが分かります.早急に交換しましょう.

で,このsdcはというと…

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[2] sdc1[1] sdb1[0]
      2930271872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

こんな感じで,md0を構成するディスクであることが分かります.

手順としては,まずはmd0から論理的にsdc1を外します.『sdc1が死んだよ』とマークしてから『sdc1を外すよ』という手順で設定します.

#mdadm --manage /dev/md0 --fail /dev/sdc1
mdadm --manage /dev/md0 --remove /dev/sdc1mdadm: set /dev/sdc1 faulty in /dev/md0
# mdadm --manage /dev/md0 --remove /dev/sdc1
mdadm: hot removed /dev/sdc1
[root@hogehoge ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[2] sdb1[0]
      2930271872 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U]

unused devices: 

これでOK.この後,sdcのディスクを物理的に外し,交換用の新しいディスクをsdcとして接続します.

交換するディスクは,交換前のディスクと容量が同じか多ければOK.

起動したらまずはパーティションを切ります.今回用意したのは2TBディスクなので,fdiskで切ります.

#fdisk /dev/sdc
プライマリ,1番,fd(Linux raid自動検出へ)

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-243201, default 1):<リターン>
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-243201, default 243201):<リターン>
Using default value 243201

16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

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

Disk /dev/sdc: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      243201  1953512001   fd  Linux raid 自動検出

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

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

fdiskを終了したら,この新しいパーティションをmd0に参加させます.

# mdadm --manage /dev/md0 --add /dev/sdc1
mdadm: added /dev/sdc1

[root@hogehoge ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc1[3] sdd1[2] sdb1[0]
      2930271872 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U]
      [>....................]  recovery =  0.0% (308232/1465135936) finish=475.1min speed=51372K/sec

unused devices: 

RAIDアレイの再構築が始まりました.8時間弱かかるという予測が表示されているので,後は果報は寝て待てです.

この後継続して状況を監視する場合は,"watch cat /proc/mdstat"と実行しておくと良いでしょう.

と,いうことで,トラブル時の対応が実に簡単.SoftRAID万歳です.

この他にやりたいことと言えば,より大容量のディスクに順番に交換し,ファイルシステムの容量を拡大することくらいでしょうか.この環境で言うと,現在は2TB*3のRAID5で動いているので,実容量4TB.これを例えばディスク全てを6TBにしてちょちょっとコマンドを叩いてやると,12TBの広大な領域が出現するという寸法です.

これはまたそのうちに.

« 【Linux】出来るだけ簡単に行うブートディスクの換装 | トップページ | フリクションボール3 SMART-TIP + フリクションボール4 =フリクションボール4 SMART-TIP »

Linux」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 【Linux】SoftRAIDを構成するディスクの交換:

« 【Linux】出来るだけ簡単に行うブートディスクの換装 | トップページ | フリクションボール3 SMART-TIP + フリクションボール4 =フリクションボール4 SMART-TIP »