サーバAyakoについて、
HDDを追加。追加したHDDは日立のHDT722525DLA380、SerialATAな250GBである。
元々、冬ボーナスあたりで、搭載している250GBのHDDのうちシステムとデータ・
バックアップで使っている2台を500GBクラスのHDD2台と換装するつもりであったのだが、予算オーバー
(HDD2台で8?9万円コース)な気配がしてきたことと、
Ayakoのマザーボードi915GMm-HFSに搭載されているSerialATA I/F SilicomImage
Sil3132がまだ安定版Linuxカーネルでサポートされていないため使用できなかったこともあって、
HDD換装は先送りすることにしていた。しかし、最近のLinuxでのSerialATAのサポート状況はじわじわと良くなりつつあり、
安定版カーネルの次のバージョン当たりでSil3132のサポートも追加されそうな気配になってきたので、とりあえず、
うまく動作させられればラッキーということで上記HDDの購入となったわけである。もしうまくいかなかった場合には、
"https://www.orio-n.net/pc_yui.htm">メインマシンYuiのHDDのうち古めのものと換装して使うつもりだったので、
HDD自体は無駄にならない。
現在Ayakoで使用しているカーネルのバージョンは 2.6.14であるが、一つ前に使っていたカーネル
2.6.13.2ではlibataパッチを当てることでSil3132をシステムに認識させることはできていた。ただし、
試しにHDDをSil3132のSerialATAポートに接続してみても、HDD認識時にハングアップしたり、
HDD自体無視されてしまったりと、うまくいかなかった。
2.6.14対応のlibataパッチは存在していなかったので情報収集してみたところ、
次期カーネルの開発ツリーにマージされたような気配。
"http://www.kernel.org/">http://www.kernel.org/にあるカーネル開発ツリーの最新のスナップショットを調べてみたところ、
確かに Sil3132用のドライバソース sata_sil24がマージされていることを確認。まだベータ版っぽいけれど、
とりあえず大きなバグはなさそうだし、うまくいかない場合には諦めるつもりで、
2.6.14カーネルのソースにパッチを当てて組み込んでみることにした。
開発途中のカーネルツリーからのソース組み込みという作業は今までやってみたことはなかったけれど、
思っていたほど引っかかることもなく作業完了。行った手順は、
- カーネル開発ツリーのshortlogからsata_sil24.cに関係する drivers/scsi/Kconfig
と drivers/scsi/Makefileのパッチを取得し、適用 - カーネル開発ツリーのshortlogから drivers/scsi/sata_sil24.cを取得
- make menuconfigでsata_sil24を組み込み、カーネル再構築
という感じ。パッチとソースについては、sata_sil24関連で最新のshortlogから blobリンクを辿り、
さらにplainリンクを辿ることで表示されるパッチ・ソースをローカルに保存して取得した。
カーネルビルド完了後、早速Ayakoをビルドしたカーネルを使って起動させてみたところ、あっさりと起動成功。
SerialATAポートに接続したHDT722525DLA380も正しく認識できていた。
ログを確認してみても危険そうなメッセージは一切出力されていなかったため、
fdiskでパーティションを切ってmke2fsにてext3形式でフォーマットしてみた。これも問題なく完了したため、
100GBほど使用済みだった別パーティションの内容をコピーしてみた。この時点でもエラーは特に発生しなかったため、正式運用を開始。
今のところ、特に問題はなさそうである。
なお、HDDを追加したとはいえ、これまで使っていたパーティションはそのままバックアップとして運用することにしたので、
Ayakoで実際に使用できるHDD容量は増加していない。もっとも、AyakoのHDD容量が逼迫していたわけでもないし、
バックアップ無しで運用していたパーティションがバックアップ付きになり精神衛生上よくなったので、良しとする。
Comments:0