お約束の注意事項:
この記事に関して生じた損害等について筆者は一切責任を負わないものとします。自己責任において利用してください。
なお、文中に誤り等発見されましたらご指摘ください。ただちに訂正させていただきます。FreeBSDで構築したファイルサーバーにハードディスクを増設した際のメモ書きです。ハードディスクの増設についてはネットで色々検索してもズバリ!というページが見つからなかった上、手元にある何冊かのFreeBSD入門書では当然というか、まったく触れられていないので知らなかった方には役にたつかもしれません。
シングルユーザーモードなんて全然知らなかったよ・・・・_| ̄|○
1. シングルユーザーモードで起動
通常、FreeBSD等のUNIX系のOSは複数のユーザーが利用できるマルチユーザーモードで立ち上がるのですが、トラブルの発生時やメンテナンスを行う時にはシングルユーザーモードで立ち上げる場合があります。この状態ではリモートからのアクセスは一切できないのでシステムの大幅な変更を行う際にはこのモードで立ち上げることによって安全に作業できるのです。逆にこれによってシステムの大幅な変更はたとえrootであってもリモートからはできないようになっています。今回行うハードディスクの領域確保とフォーマットもシングルユーザーモードでなければ行えないのでシングルユーザーモードで立ち上げる必要があります。
シングルモードで立ち上げるには、FreeBSDの起動時に英文で「Enterキーを押してください」という所でEnterキー以外のキーを押し、
boot -sと入力すればシングルモードで立ち上がります。すると
Enter pathname of shell or RETURN for /bin/sh:となって入力待ちの状態になります。とりあえず /bin/sh とタイプしてシェルを起動させます。しかしこの状態ではハードディスクがマウントされていないので手動でマウントする必要があります。
# mount /usr# mount -u -o rw /これで一通りコマンドが使えるようになります。
2. 領域確保
コマンドが使えるようになったのでsysinstallを起動します。
# /stand/sysinstall[Configure]から[Fdisk]を選ぶと処理対象のデバイスを選択するように促されるので増設したドライブの方を選択します。
(ad0がプライマリIDEのマスタ、ad1がプライマリIDEのスレーブ、ad2がセカンダリIDEのマスタ、ad3がセカンダリIDEのスレーブとなるようです。)Fdiskの画面が出たら「C」キーを押してパティーションを作成します。ここでは全部の領域を使用するので表示された値のままでEnterキーを押して進めます。すると「Desc」欄が「freebsd」となっている行を選択して「W」キーを押して変更を保存します。するとブートマネージャーの選択画面が出ますが、このディスクを起動ディスクにするわけではないので「None」を選択します。その後に「本当に書き込んで良いのか」と聞かれますので「OK」を選びます。終わったら「Q」キーを押してFdiskを終了させ、その後sysinstallを終了してシェルに戻ります。
この後フォーマット作業に入る前に一旦再起動する必要があります。
# shutdown -r nowと入力して再起動します。
3. フォーマット
再起動後再びシングルモードで起動してマウントを済ませた後、sysinstallを起動します。
[Configure]から[Labeleditor]を選ぶと処理対象のデバイスを選択するように促されるので先程と同じく増設したドライブの方を選択します。
「C」キーを押してスライスを作成します。スライスのサイズは最大で、またファイル共有に使うのでマウント名は「/pub」としました。
作成したスライスを選択して「W」キーを押すと「本当に書き込んで良いのか」と聞かれますので「OK」を選びます。終わったら「Q」キーを押してLableEditorを終了させ、その後sysinstallを終了してシェルに戻ります。これですべての作業が終わったので再起動します。
この後普通にマルチユーザーモードでログインして先程作成した/pubが存在し、読み書きができるか確認して問題なければこれでおしまいです。
参考資料
FreeBSD によるインターネットサーバーの構築[シングルモードについて]
http://hp.vector.co.jp/authors/VA002875/freebsd/single.htmu4ia.ac[HDD増設方法]
http://www.jp.u4ia.net/contenz/FreeBSD/add_hdd.html