元々160G版なので最近では手狭になりHDDを交換することにしました。'3.5と'2.5のS-ATAは口金が共通なので多少発熱が少ないかな?と期待して'2.5 250GBのHDDと入れ替えました。これは作業の備忘録です。
クロスコンパイル用の自作PC(CentOS 4.5Final)にて行います。IDE、SATA等複数のHDDが取り付け可能なマシンです。
作業はいたって簡単。CentOSはXFS対応kernelとxfs用toolのパッケージを使い、自作PCにはLS-GLから外した'3.5 HDDと新規の'2.5 HDDを繋ぎます。繋いだHDDがどの/devに対応するかは以下のコマンドで確認:
$ fdisk -l
ここでは/dev/sdaにオリジナルの'3.5 HDD、/dev/sdbに新規のHDDが接続されているとします。
まず新規のHDDのパーティションを切ります。パーティション構成はboot、rootfs、swapはオリジナルとまったく同じにし残り全てをsamba用とします:
$ fdisk /dev/sdb
The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
nコマンドでパーティションを作っていきます。1=基本、2=基本、4=拡張、5=swap、6=残り全部。5のswapはIDをLinux swap(82)に変更しておきます。結果はこんな感じ:
Command (m for help): p
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 25 200781 83 Linux
/dev/sdb2 26 87 498015 83 Linux
/dev/sdb4 88 30401 243497205 5 Extended
/dev/sdb5 88 104 136521 82 Linux swap
/dev/sdb6 105 30401 243360621 83 Linux
各パーティションのfsですが、1の/bootはext3、2の/はXFS、6もXFS、5はswapです。
1と2はサイズが小さいのでddでやっつけてしまおう・・・
そこで/dev/sdb6だけをXFSでフォーマットする:
$ mkfs.xfs /dev/sdb6
スワップ領域を初期化しておく:
# mkswap /dev/sdb5
実はスワップ領域を初期化し忘れ、本体に組み込んでから気づくという失態をやらかしてしまいました・・・仕方ないので起動後にログインして上記を実行しswaponコマンドで有効にしましたw
bootとrootfsは大きさも知れているのでddコマンドでコピーしてしまいました:
$ dd if=/dev/sda1 of=/dev/sdb1 ←boot領域を直接コピー
$ dd if=/dev/sda2 of=/dev/sdb2 ←rootfs領域を直接コピー
$ xfs_repair -L /dev/sdb2 ←念の為にコピー後にXFSを修復しておく
rootfsですが、コピー後、CentOSでmountする時にkernel panicを起こしてしまったのでxfs_repairで修復を掛けました。後、samba用の/dev/sdb6にshareとかのディレクトリを作成しchmodやchownでオリジナルとまったく同じにしておきます。/dev/sdb6は実行時には/mnt/disk1にmountされています。その他のデータについては適宜、適当にwコピーすれば完了です(何とアバウトな・・・)。
入替用の新規'2.5 HDDをLS-GL本体に繋ぎ、シリアルコンソールで起動時のログをチェック出来るようにして電源を入れます。当然、物理的に'3.5用に'2.5用を無理から入れるので何かしらのマウンターなど工夫が必要かと思います。今回の場合は何のトラブルもなく、普通に起動できました。
これで、無事容量も増えました。サーバとして常に電源が入っているので発熱が多少でも減るといいんですが・・・、まだよくわかりませんね。
追記('08/8/3):やはりHDDからの発熱は減ってます、'3.5 HDDの時は冷房がなければファンが全力運転という状態でしたが、'2.5 HDDにしてからはそんなこともなくなりました。