FreeBSDのディスク交換
皆さんどうやっているのかな~?
なんていつも思いつつ、ディスクが2台以上入る筐体ならば、graidによるソフトウェアRAIDとか、ハードレイドでRAID1とかでも基本的にディスク不良が発生したら交換みたいなノリなんでしょうか?!
それとも都度、新規システムインストール?!使っている内容によりますけど、基本的にはディスクが壊れない限り、現状維持で稼働してほしいというのが本音ですよね?(俺だけか?!)
自分の管理しているサーバのうちの数台はRAIDなどは組んでいませんので、転ばぬ先の杖ということで、定期的にハードディスク交換を行っています。
サーバのハードディスク管理にセオリーがあるのか知りませんが、ローカルネット配置のサーバならば、業務時間外にサーバを止めてハードディスクを外して、クローンマシンでコピー。
その後、コピーした新しディスクに入れ替える、という流れが一番簡単な方法かと思ってます。なので何種類かのクローン作成マシンを所持しています。(Windowsのユーザでは一般的なのかもしれませんね。)
自分がこれまで使用したハードディスククローンマシンは、IDEディスク対応のこれDo台の初期モデルに続き、最近は、上記のATA対応のクローンマシンを使用していました。
ただ、これDo台はセクターリードエラーが発生したときにスキップ(手動)機能があるのですが、上記のMARSHALのクローンHDDスタンドは、エラーがあるとその時点でコピー停止。本来ディスクリードエラーが発生した時点で、データが読めないわけですからNGなんですが、数回のバッドセクターならばスキップして何とかなってしまうことの方が大半です。(大量のバットセクターの場合はダメですけどね。)
これDo台のセクタースキップ機能も、エラーが発生するたびに一時停止するので、あまり頻繁に一時停止するときは諦めて、新品ディスクから初期化構築しかありません。
多分、これらの自分と同じ意見の人が多いんでしょうか?
上記のクローンHDDスタンドを改善した最新モデルのMARSHALのクローンマシンがこれ。
第三世代と歌っているだけあり、絶対必要なエラースキップ機能付きということなので、今回こいつを使おうと入手しておいたのですが、ディスク交換対象のサーバを停止する時間を極力短くしたいとのことなので、FreeBSD上でddを使ってセクターコピーすることにしました。
稼働したままのセクターコピーした場合、セクターコピー中にデータが書き換えられてしまうので、フル稼働中のサーバの場合は行えませんが、今回のサーバはあまり仕事をしていないので、とりあえずチャレンジ。
あ、ちなみに、上記のクローンマシンは、ディスクフォーマットは一切関係ありません。どんなシステムでもATA形式のハードディスクならばディスクを複製できます。
当然ですが、新規に複製するハードディスクの方が、元ディスクよりもディスク容量が同じか大きくなければ、この点のクローンマシンは初期化段階でコピーが行われません。
また稼働中のサーバにディスクの接続は、USBによるホットスワップ。
まあこの手のUSBアダプタをFreeBSDでも使用可能で外部ディスクとして認識してくれます。
gpartコマンドでMBRタイプでcreateして認識したディスクに
dd if=/dev/ad0 of=/dev/ad1 bs=32m
とバッファサイズ大きめにコピーしたところ、120Gのディスクを約2時間かけてコピー完了。
ちなみにdd中、状態を確認するには、コンソールからctrl-tを入力すれば、DDのコピーバイト数が表示されるので経過状況を知ることができますので、ドキドキが安心にかわります。(笑)
コピー完了後、すぐにシャットダウン、ディスクを入れ替えて再起動。
まあ当然といえば当然なんですが、起動時にかかるfsckがこけたので、手動でfsck -yオプションでリカバリを行い、2回のfsckでエラーが表示されないことを確認後、rebootして、目出度く新品ディスクにクローン完了です。
ちなみに今日、ディスクの入れ替えを行ったマシンは、1156日間連続稼働でした。(その間一度も電源を落としていません。)
ddでコピーした場合、当然パーティションサイズが元のディスクサイズになるので、余っている部分はgpartコマンドでcreateしてデータディスクとして使うとか、まあ使わなくてもいいんですけどね。
本当はパーティションサイズを大きくして空きエリアの大きなパーティションにしておけば、今のファイルシステムは、次々と空いているセクターにデータを書き込み、ハードディスクの円盤上の同じ個所に何度も書き込まない方式(ハードディスクをいたわる)なので、パーティションサイズを大きくした方がディスクが長寿命化するかと思います。
といっても、日立製は軽く10年とか、平気で連続稼働して、バットセクター無しなんて余裕だった経験があります。まあたまたま運がよかっただけだと思いますけど。
通常のSATAバルクディスクでも特に問題なく長期間使えるよい時代になりました。
ディスクの速度も速いし、信頼性も上がり、容量も10Tを超える時代がやってきましたしね。
以上、FreeBSDのディスクの交換でした。