FreeBSD関連Tips
FreeBSDに限らないかもしれないが、FreeBSDに関して試行錯誤した記録である。
RAID
いわゆる「サーバ」機をインストールすることになり、
ハードディスクを2台搭載してソフトウェア的にRAID1を構成することとした。
webで調べるとatacontrolが簡単そうである。
webの情報は非常に役に立ったが、バージョンの違いなのかはまったところもある。
# atacontrol create RAID1
# atacontrol addspare RAID1
# atacontrol rebuild 0
webページではリビルドが完了するまでシェルプロンプトに戻らないことに
なっているが、FreeBSD 5.3-RELEASEではコマンド発行後直ちに
シェルプロンプトが表示される。
何かエラーがあってリビルドが行われないのかと思うが、実際には
バックグラウンドでリビルドが進行している。その様子は以下のコマンドで
確認できる。
# atacontrol status 0
RAID1 6.0-RELEASEの場合
行った手順のみ記載しておく。
なお、S-ATAディスクを使用し、2台のディスクはata4-masterにad8、ata5-masterにad10として認識されている。
古いマザーボード、古いBIOSでは、2台のディスクがata0-master、ata0-slaveの
ように同じチャネルになることがある。この場合、RAID1の再構築ができないので
注意のこと。具体的には、以下の手順でミラーを外すときに、外すディスクを
チャネルでしか指定できないので、一方のディスクだけを外す、という指定が
できないためである。
- ad8にOSをインストール
- シングルユーザモードで起動
-
# mount -a
により、すべてのディスクを読み書き可能な状態でマウントする。
- /etc/fstabを編集
ディスクad8の代わりにRAIDディスクのar0を使用するように書き換える。
- RAID1を構築する。
# atacontrol create RAID1 ad8 ad10
ad8がMASTER、ad10がMIRRORになる。
ここで、RAID1の状態を確認すると'READY'となるのだが、実際にはMIRRORにはデータはコピーされていない。
- いったんMIRRORを外す。
# atacontrol detach ata5
- ここでリブートするとよい。再起動時にシングルユーザモードを指定すること。
再起動後は、RAID1はMIRRORディスクのないDEGRADE状態になる。いわば片肺状態である。
- '/'と'/usr'をread onlyでマウントする。
# mount -u -o ro /
# mount -o ro /usr
'/usr'としてマウントすべきパーティションは、/etc/fstabで確認するとよい。
ここで'/usr'をマウントしないと、以下のrebuildのときに/usr/bin/niceがない
というメッセージが表示されて、rebuildが全く進行しない状態になるので注意のこと。
なお、/usrを/と別パーティションにしていない場合は、当然ながら/usrのマウントは必要ない。
- RAID1にディスクを追加する。
# atacontrol addspare ar0 ad10
MIRRORディスクがない状態だったので、ディスクad10はMIRRORとして登録される。
ここで'addspare'ではなく'atacontrol attach ata5'を実行すると、新規にRAID1ディスクar1が構成され、
ata5のディスク(ここではad10)はar1のMIRRORディスクとして登録されてしまう。
正しくは'attach'ではなく'addspare'コマンドを使用する。
- RAID1を再構築する。
# atacontrol rebuild ar0
Enterキーを押すと直ちにコマンドプロンプトが表示されるが、バックグラウンドで再構築が進行する。進行状況は、以下のコマンドで確認できる。
# atacontrol status ar0
なお、'/'や'/usr'をread onlyではなくread/writeでマウントすると、いったん
再構築が100%になった後でまた再構築がスタートする、というように再構築が
完了しないので、間違いなくread onlyでマウントするよう注意のこと。
2005年12月21日(2008年3月18日改訂)
UPS(無停電電源)
無停電電源APC Smart-UPS 1500
最初、upsdをインストールした。
ログをみると、シリアルケーブル経由でFreeBSDと通信しているように思える。
ところが、UPS入力側の電源を切断しても全くFreeBSDが反応しない。
(作文途中)