コグノスケ


link 未来から過去へ表示  link 過去から未来へ表示(*)

link もっと前
2009年1月30日 >>> 2009年1月30日
link もっと後

2009年1月30日

ソフトウェアRAIDのディスク交換

RAID-5, 6あるいは1などでディスクが壊れた際の交換方法を紹介します。

ディスクが壊れた
# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             62498888   1879716  60619172   4% /
/dev/md0                521580    521580         0 100% /mnt/md0

# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Sat Jan 31 16:05:28 2009
     Raid Level : raid5
     Array Size : 521600 (509.46 MiB 534.12 MB)
    Device Size : 104320 (101.89 MiB 106.82 MB)
(... 略 ...)

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       18        3      active sync   /dev/sdb2
       4       8       50        4      active sync   /dev/sdd2
       5       8       34        5      active sync   /dev/sdc2

# mdadm --fail /dev/md0 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0

# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Sat Jan 31 16:15:28 2009
     Raid Level : raid5
     Array Size : 521600 (509.46 MiB 534.12 MB)
    Device Size : 104320 (101.89 MiB 106.82 MB)
(... 略 ...)

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       18        3      active sync   /dev/sdb2
       4       8       50        4      active sync   /dev/sdd2
       5       8       34        5      active sync   /dev/sdc2

       6       8       17        -      faulty spare   /dev/sdb1

LinuxでソフトウェアRAIDアレイをいじるにはmdadmコマンドを使います。使用中のRAIDアレイ(100MBディスク6本からなるRAID-5アレイ)で故障を発生させます。といっても実際にディスクを破壊するわけにはいきませんので、--failでシステムに故障を伝えます。故障したデバイスはfaulty spareという状態に変更されます。

次に故障したディスクを外します。

ディスクを取り除く
# mdadm --remove /dev/md0 /dev/sdb1
mdadm: hot removed /dev/sdb1

# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Sat Jan 31 16:28:28 2009
     Raid Level : raid5
     Array Size : 521600 (509.46 MiB 534.12 MB)
    Device Size : 104320 (101.89 MiB 106.82 MB)
(... 略 ...)

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       18        3      active sync   /dev/sdb2
       4       8       50        4      active sync   /dev/sdd2
       5       8       34        5      active sync   /dev/sdc2

故障したディスク(faulty spare)を --removeに指定して、アレイから取り除きます。アレイから取り除けるのは、故障している、していないに関わらずスペアディスクのみです。活きているディスクを --removeしようとしても失敗します。

次に新たなディスクを追加します。

ディスクを追加する
# mdadm --add /dev/md0 /dev/sdb1
mdadm: added /dev/sdb1

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md0 : active raid5 sdb1[6] sdd2[4] sdc2[5] sdb2[3] sdd1[2] sdc1[1]
      521600 blocks level 5, 64k chunk, algorithm 2 [6/5] [_UUUUU]
      [====>................]  recovery = 20.5% (22272/104320) finish=0.0min speed=22272K/sec

unused devices: <none>

# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90.03
  Creation Time : Sat Jan 31 16:58:28 2009
     Raid Level : raid5
     Array Size : 521600 (509.46 MiB 534.12 MB)
    Device Size : 104320 (101.89 MiB 106.82 MB)
(... 略 ...)

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       18        3      active sync   /dev/sdb2
       4       8       50        4      active sync   /dev/sdd2
       5       8       34        5      active sync   /dev/sdc2

新たなディスクを --addで加えることでディスクの数が6本に戻ります。するとリカバリが始まります。今まで通り --detailで見ても良いですが、/proc/mdstatにもっとわかりやすい進行表示が出ます。

素晴らしいことにRAID-5アレイを止めなくとも、上記の作業が全てできます。リカバリ処理もI/O帯域を食いつぶさないように加減しますから、ユーザは --removeしてディスク交換して --addすれば、後はシステムがよきに計らってくれるわけです。便利ですね。

編集者:すずき(2009/02/01 06:22)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2009年1月30日 >>> 2009年1月30日
link もっと後

管理用メニュー

link 記事を新規作成

<2009>
<<<01>>>
----123
45678910
11121314151617
18192021222324
25262728293031

最近のコメント5件

  • link 24年4月22日
    hdkさん (04/24 08:36)
    「うちのHHFZ4310は15年突破しまし...」
  • link 24年4月22日
    すずきさん (04/24 00:37)
    「ちゃんと数えてないですけど蛍光管が10年...」
  • link 24年4月22日
    hdkさん (04/23 20:52)
    「おお... うちのHHFZ4310より後...」
  • link 20年6月19日
    すずきさん (04/06 22:54)
    「ディレクトリを予め作成しておけば良いです...」
  • link 20年6月19日
    斎藤さん (04/06 16:25)
    「「Preferencesというメニューか...」

最近の記事3件

  • link 24年2月7日
    すずき (04/24 02:52)
    「[複数の音声ファイルのラウドネスを統一したい] PCやデジタル音楽プレーヤーで音楽を聞いていると、曲によって音量の大小が激しく...」
  • link 24年4月22日
    すずき (04/23 20:13)
    「[仕事部屋の照明が壊れた] いきなり仕事部屋のシーリングライトが消えました。蛍光管の寿命にしては去年(2022年10月19日の...」
  • link 24年4月17日
    すずき (04/18 22:44)
    「[VSCodeとMarkdownとPlantUMLのローカルサーバー] 目次: LinuxVSCodeのPlantUML Ex...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 04/24 08:36