のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:123,967,220人
912,270,613頁
昨日:1,650人
1,977頁
今日:1,272人
1,638頁
最近の注目
人気の最安値情報
    これらのキーワードがハイライトされています:

    Page Top

    mdadm anchor.png

    LinuxのソフトウエアRAIDドライバ

    • RAIDパーテーションを新設
      mdadm -C /dev/md3 -l1 -n4 --auto=yes /dev/sdb7 /dev/hda7 missing missing
      • -C : /dev/md3 を create
      • -l1 : raid1 / -l0 : raid0 / -l5 : raid5
      • -n4 : 総(最大)ディスク数4 (raid1なので、多めにしてmissingで埋めておく。)
      • --auto=yes : /dev/md3 がないとき、作る
    • RAIDパーテーションを削除
      mdadm --misc --stop /dev/md3
    • RAID1パーテーションの追加
      mdadm /dev/md1 -a /dev/sdb3
    • RAID10 (1+0の拡張) も作れるっぽい。
      mdadm -C /dev/md4 -l10 -n4 /dev/sd[abcd]8
      • RAID10 は RAID1+RAID0 よりも賢い。(ホットスペアを個別に持たなくて良いなど)
      • 特にHDDの場合、ブロックの並び方で性能が変わる。-p [パターン][冗長数]
        • パターン : near (デフォルト 書き込みが早くコストも小さい) / far (連続読み込みが早い・書き込みが遅い) / offset (改良型far バランスが良い)
        • パターン offset・冗長数2 なら、 -p o2 のように指定する
      • しかも、書き込みの「後から同期モード」もあるっぽい
        mdadm -C /dev/md4 -l10 -n4 --bitmap=internal --write-behind=256 /dev/sd[abcd]8
        • bitmap を後から付ける
          mdadm --grow /dev/md1 --bitmap=internal
        • bitmap をもぐ(removeする)
          mdadm --grow /dev/md1 --bitmap=none
          • --grow でディスク数を変える前に必要
      • メタデータの消去
        mdadm --zero-superblock /dev/sdx
      • RAIDドライブの数は、後から増やせる (raid1/5/6のみ raid0では未確認)
        mdadm --grow /dev/md1 --raid-disks=6
        • raid5/6 のドライブ数を増やせるのは驚き。もちろん live で増設できる (同期時間は必要だが、Liveでできる)
        • ドライブ数を減らすことも可能らしい。先にパーティションサイズを縮小しておくのを忘れずに
    Page Top

    raidレベルのオンライン変更 anchor.png

    LinuxのソフトウエアRAIDは、あとから構成を変更できる。かなり驚異的。 (途中で障害が発生しても、死ななかった。) 言うまでも無く自己責任でやってください。

    1. 新しいディスクを全て刺して、パーティションを設定 (SATAでホットスペアが可能なら、オンラインで追加できる)
      fdisk /dev/sdd
    1. RAIDに組み込み (まずはスペアになる)
      mdadm /dev/md1 --add /dev/sdd3
    1. bitmapを消す (bitmapがあるとgrow処理ができないようです)
      mdadm --grow /dev/md1 -b none
    1. raidレベルの変更 (作業途中で止まったときのためのバックアップファイルを別領域に確保する)
      mdadm --grow /dev/md1 --level=6 --backup-file /root/md1.backup
    1. 必要ならディスク数を変更する。
      mdadm --grow /dev/md1 --raid-disks=4 --force --backup-file /root/md1.backup
    1. かなり待つ 途中で予期せぬハードウエアエラーが出て、何度も再起動したが、growing は無事終わる。すごい。
    1. bitmapを再設定…と思ったが、raid5にbitmap意味ある? (raid1の癖で設定してしまっていたが)
      mdadm --grow /dev/md1 -b internal
      で再設定できるはず。
    1. ファイルシステムを拡張する
      xfs_growfs /mountpoint
      これもliveのままできる。

    というわけで、システムを止めずに(今回はエラーで止まったけど)ディスクを増やせる software raid はすごい!

    Page Top

    パフォーマンスチューニング anchor.png

    • raid5/6 ストライプバッファ数を8192(32768が上限っぽい)にする
      echo 8192 /sys/block/md1/md/stripe_cache_size
      • もちろん、書き込み遅延中にシステムが止まれば、不整合が生じる。ただ、バッファをゼロにしない限り不整合は生じるので、程度問題。ゼロにするとパフォーマンスは最悪。
      • ページサイズ(=4kB?)×stripe_cache_size×ディスク数 分のメモリが割り当てられる
      • これを rc.local に書いても反映されないみたい。
        • /etc/udev/rules.d/80-md-stripe-cache.rules を以下の内容で追加
          SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"
    Page Top

    参考 anchor.png

    xfs mkfs


    トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
    Counter: 5713, today: 1, yesterday: 0
    初版日時: 2007-08-26 (日) 13:24:31
    最終更新: 2014-10-05 (日) 01:01:19 (JST) (1447d) by 牧場長