CentOSで1TBのHDDをRAID1に構築する際にかなり時間が掛かりそうだったので、対処法の紹介です。
http://liliumrubellum.blog10.fc2.com/blog-entry-300.html
上のブログさんの記事を参考にしました。(ほぼ、同じです。)
備忘録として、こちらに書かせていただきます。
どれくらいの時間がかかるのか
cat /proc/mdstat
と実行すると、RAID状況を確認できます。
改善前
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
976628736 blocks super 1.2 [2/2] [UU]
[>....................] resync = 2.1% (21226880/976628736) finish=1186.8min speed=13416K/sec
bitmap: 8/8 pages [32KB], 65536KB chunk
13M/secはあまりにも遅すぎるので、これをなのとかします。
改善後
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
976628736 blocks super 1.2 [2/2] [UU]
[>....................] resync = 4.2% (41735552/976628736) finish=292.9min speed=53181K/sec
bitmap: 8/8 pages [32KB], 65536KB chunk
改善後はかなり速度が上がりました。
かなり、リビルド終了予定も早くなりました。
改善方法
ソフトウェアRAIDの速度の最小値を上げてやることで解決します。
詳しい内容は先ほど紹介させていただいた、こちらのブログを書いてくださってる方がわかりやすいです。
http://liliumrubellum.blog10.fc2.com/blog-entry-300.html
一時的に変更
再起動後は元通りになってしまうので、恒久的に変えたい方は下の恒久的に変更をご覧ください。
一時的に最小値を引き上げる場合は、
echo 50000 > /proc/sys/dev/raid/speed_limit_min
1000を50000に数値を変更してやります。
1000は1000kb/sのことです。
これで恐らく早くなると思います。
恒久的に変更
vi /etc/sysctl.conf
/etc/sysctl.confに以下のものを追加で入れてあげます。
dev.raid.speed_limit_min = 50000
これで再起動後でも、設定が反映されます。