FreeBSD8.0とは
FreeBSDは x86互換機, amd64互換機をはじめとする様々なアーキテクチャに対応した高性能なサーバ用のオペレーティングシステム(OS)です。
BSDと呼ばれるカリフォルニア大学バークレー校で開発されたUNIXに由来しており、 世界中の人々が参加する開発者チーム によって開発・保守が行われています。
GNUプロジェクトで公開されているLinuxなどと比較すると、ユーザインターフェースなどの進化のスピードが遅いため、
グラフィカルなオペレーションはできないというデメリットはありますが、
最先端のネットワーク対応、パフォーマンス、セキュリティという面では優れており、安心して使用できる高性能なUNIX互換OSです。
現在(2010年03月)の安定版の最新バージョンは、2009年11月にリリースされたRelease 8.0です。
FreeBSDには、広範囲に及ぶ packageコレクション と Portsコレクション が含まれており、
ソースコードが公開されていますので、あなたのマシンでコンパイルすることにより、アーキテクチャに最適なバイナリーでサイバーを構築することができます。
Release 8.0にバージョンアップされ、対応可能なデバイス群が広がり、様々なタイプのマシンで、高機能な処理を実行してくれます。
ドキュメントもハンドブックという形で定期的に更新されており内容も比較的充実しています。
最初から全て読む必要はありませんが、困ったときには必ず役に立ちますので、以下にリンクしておきます。
システムボード・プロセッサーに適したFreeBSDモジュールの選択
CPUの種類に応じて、FreeBSD/amd64、FreeBSD/i386等、6種類のモジュールががあります。
最近のintel製のCPUを使用するのであれば、上記のどちらかで、
XEONに代表される、64bitCPUならばFreeBSD/amd64を、32bitパソコンを用いてサーバを構成するならFreeBSD/i386を使用します。
古いバージョンのFreeBSDでは、FreeBSD/amd64は不安定という報告もあるようですが、最近のバージョン8.0では、amd64版も非常に安定しています。
私も、最初のインストールでは、FreeBSD/amd64はやや不安に感じたので、XEON X3450にFreeBSD/i386をインストールして使用してみました。
概ね良好に機能はしましたが、MySQLの動作が遅く、頻繁なクエリで30秒以上の待ち時間が発生することがあり、性能を100%発揮できていないという感触でした。
そこで、FreeBSD/amd64に変更したところ、パフォーマンスがかなり向上し、数十万行のテーブルを呼び出す場合でも、
通常のクエリは1秒以内で処理でき、混雑時でも2秒以上かかることは殆どありません。
CPUとして、64bitのXEONを選択するのであれば、その性能を十分引き出すため、FreeBSD/amd64をインストールするのが良いでしょう。
その他のCPUに関する情報は、
サポートされているプロセッサーとシステムボード(英語)をご覧下さい。
FreeBSD8.0では、サポートされているデバイスがかなり拡張されています。
最近のDELL製サーバであれば、NetXtremeTM II 5722 シングルポートギガビットイーサネット NIC、
NetXtremeTM 5709 デュアルポートギガビットイーサネット NIC、
SATAのHDDやDVD-ROMおよびSAS6iRのHDDについては動作確認済みです。
その他のデバイスに対応しているかどうかは、
サポートされているデバイスに公開されていますので、
ハードウェア導入前に必ずチェックしましょう。
このサイトによれば、ハードウェアによるHDDのRAID1もPERC6までは対応しているようですが、それ以降は不明です。
本サイトでは、GMIRRORによるソフトウェアRAID1をご紹介します。
FreeBSD8.0のインストール
CDあるいはDVD-ROMから立ち上げるよう設定
サーバメーカーにより操作は異なります。
ここではDELL製Power Edge T110の例を示します。
起動と同時にF2キーを何回か押し、System Setupを行うBIOS(Basic Input/OutPut System)画面を表示する。
Boot Setting → Boot SequenceをEnterキーで選択し、
"-"キーを使用して、DVD-ROMを1番上に移動する。
(頭にチェック(レ)が入っていなければ、スペースキーでチェックを入れる)
Escキー → Save Changeで、CD-ROMあるいはDVD-ROMから再起動を行う。
この操作を行い、もし、起動時にCD-ROMが読めなかった場合は、再度BIOS画面を表示し、
SATA Setting → SATA ControllerをEnterキーで選択し、
左矢印を使用して、AHCI Mode → ATA Modeに変更する。
そして、CD-ROMあるいはDVD-ROMが接続されているポート(AHCI Modeで起動すると表示される)より前のポートは全てBIOSを"OFF"にしておく必要があります。
この変更により、Boot Sequenceが元に戻るので、再度上記の方法でDVD-ROMを1番上に移動する。
HDDとして、SATAコントローラを使用したモデルではSATA Controllerの変更は不要でしたが、
SAS6iRコントローラ使用したモデルではこの変更が必要でした
(DELLカスタマーサポートにTELして、この事実が判明しましたが、CD-ROMのコントローラーは
両モデルで同じはずなので、何か釈然としません)。
まず、以下のFTPサイトから、自分のサーバにマッチするFreeBSD 8.0のソースをダウンロードし、CDに焼きます。
(このサイトが利用できない場合は、
ミラーサイト
から所定のモジュールを選択し、ダウンロードして下さい)。
ダウンロードするソースとCDの枚数は以下の通りです。
- GMIRRORによりRAID1を組まない場合は、8.0-RELEASE-amd64-disc1.iso(あるいは8.0-RELEASE-i386-disc1.iso)を1枚のCDに焼きます。
- GMIRRORによりRAID1を組む場合(同じ容量のHDDが2台必要)は、8.0-RELEASE-amd64-disc1.iso(あるいは8.0-RELEASE-i386-disc1.iso)、
および8.0-RELEASE-amd64-livefs.iso(あるいは8.0-RELEASE-i386-livefs.iso)をそれぞれ1枚のCDに焼きます。
.isoファイルをCD-ROMに焼くフリーソフトいくつかありますが、
例えば、
ISO Recorderを使用します。
FreeBSD 8.0のインストール
サーバを8.0-RELEASE-*-disc1.isoのCD-ROMから起動し、画面出力に従い、以下の選択を行います。
Tab キーで選択項目を変更し、スペースキーまたはリターンキーで選択(あるいは選択解除)します。
選択を間違えても、後で"sysinstall"コマンドで、インストーラーを起動できます。
GMIRRORでRAID1を組む場合でも、1台のHDDにFreeBSD 8.0をインストールしておけば、GMIRRORのインストール時に自動的にコピーされます。
- 国の選択します。
- キーボードを選択します。
- インストールを選択します(Standard Install)。
- FDISK Partition Editorでパーティション(FreeBSDではスライス)を切ります。"A"(Use Entire Disk)で全ディスクを選択し、"Q"(Finish)で終了します。:
ここで、パーティションを細かく切る場合には、"C"を入力しパーティションのサイズを入力します。
- Install Boot Managerの質問において、デュアルブートの必要がなければ"Standard"を選択。
- FreeBSD Disklabel Editorで、 "A"(Auto Defaults)で自動設定し、"Q"(Finish)で終了する。
- Choose Distributionsでは、FreeBSDを使うだけなら"User"(Average User)を選択します。
- FreeBSD Documentation Installationでは、ja(日本語)を選択後、"OK"を選択します。
- User Confirmation Requested:ports collectionをインストールしますか?の画面で"Yes"を選択します。
- "X"(Exit)でChoose Distributionsを終了します。
- Choose Installation Mediaでは、"CD/DVD"選択 → "OK"を選択します。
- User Confirmation Requested で"Yes"を選択すると、ファイルのコピーが開始されます。
- しばらくするとFreeBSDインストール完了のメッセージが出力されますので"OK"を選択します。
- User Confirmation Requested:ネットワークデバイスを構成しますか?の画面で"OK"を選択します。
- Network interface information requiredで、構成するデバイス選択→ "OK"を選択します。
- User Confirmation Requested :IPv6を試しますか?の画面で"No"を選択します(IPv6不使用)。
- User Confirmation Requested:DHCPを試しますか?の画面で"No"を選択します(DHCP不使用)。
- Network Configurationで、ホスト名、ローカルドメイン名、ゲートウェイのIPアドレス、ネームサーバのIPアドレス、
サーバ自身のIPアドレス、ネットマスク(通常255.255.255.0)を入力 → "OK"を選択します。
- User Confirmation Requested:設定したネットワークデバイスの設定を有効にしますか?の画面で"OK"を選択します。
- User Confirmation Requested:ゲートウェイの機能を持たせますか?の画面で"No"を選択します(ルータがゲートウェイとなるため)。
- User Confirmation Requested:inetdを構成しますか?の画面で"Yes"を選択します(FTPを使用するため)。
- editによる/etc/inetd.confの編集画面で、次行の行頭の"#"を取り除く。
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
- SSHのログインを可能にしますか?の画面で"Yes"を選択します。
- anonymous FTP、NFSサーバ、NFSクライアント、およびsystem console カスタマイズ、の各構成画面で"No"を選択します。
- タイムゾーンの設定画面で"Yes" → UTC(Coordinated Universal Time:協定世界時)?画面は"No" → Asia → Japanを選択し"OK"。
- User Confirmation Requested:bus mouseがあるか?の画面で"No"を選択します。
- User Confirmation Requested:package collectionを見るか?の画面で"No"を選択します。
- >User Confirmation Requested:ユーザーアカウントを作成しますか?の画面で"Yes"を選択します。
- User and group management:"User"を選択し、ユーザ名、グループ名、パスワードなど、必要項目を入力します(グループをwheelにしておくとsuでrootになれます)。
- Message:rootのパスワードを設定します。
- User Confirmation Requested:最後の構成メニュの訪問画面で"No"を選択します。
- sysinstall Main Menuで"X"(Exit Install)を選択します。
- User Confirmation Requested:システム再起動するのでCD/DVDを取り出して下さい。→"Yes"で再起動されます。
FreeBSD8.0の設定:SSHおよびFTP
FreeBSD 8.0をインストールした直後は、コンソールターミナルからのみアクセスできます。
WindowsPCからSSH(SSHとはネットワークを介して安全に別のコンピュータと通信を行うプロトコルであり、Secure Shellの略です)
とFTPでアクセスできると何かと便利になりますので、他のアプリケーションをインストールする前にこの設定をしましょう。
SSHの設定
FreeBSDインストールの際に、SSHのログインを可能にしました。
もし、設定をし忘れた場合には、エディタ(viエディタが使えます)で、/etc/rc.confに次の行を追加してください。
sshd_enable="YES"
また、デフォルトのままでは、rootではログインできません。
外部のネットワークからrootではログインするような場合には、
まず、
公開鍵認証を導入することによりSSHのセキュリティを強化してからrootでログインできるよう設定しましょう。
rootでログインするためには、sshデーモン構成ファイル /etc/ssh/sshd_config に次の行を追加してください
("#PermitRootLogin no"という行があるので、先頭の"#"を外し、"no"を"yes"に変更)。
/etc/ssh/ssh_configというファイルもありますが、sshd_configの方ですので間違えないよう注意して下さい。
PermitRootLogin yes
コンソールでは、単一画面で、表示範囲が限られている上、コピー・ペーストが出来ません。
Windowsマシンから、例えば
PuTTYで操作することにより、複数ウィンドウが起動できますし、
コピー・ペーストが可能になりますので、操作性がはるかに向上します。
また、サーバはPCに比較してファンの音が結構気になりますし、温度管理もPCより厳しくする必要がありますので、
サーバ室を設けるか、あるいはサーバからある程度距離を置いた位置からネットワークを経由してサーバを操作するのが良いでしょう。
ネームサーバBIND9を導入した時に、SSHでのログインに時間がかかるという問題が発生します。
これは、sshdがログインしてきたクライアントのIPアドレスからドメイン名を逆引し、ホスト名が正しく引けるかをチェックするためです。
クライアントのIPアドレスがDNS経由で逆引きできない場合、問い合わせがタイムアウトするまで待たされるので、応答に時間が掛かってしまいます。
sshデーモン構成ファイル /etc/ssh/sshd_config に以下の行を追加することにより、
ログイン時にDNSでの名前解決を行わなくなりますので応答が速くなります。
UseDNS no
変更後は、sshデーモンを再起動する必要があります。
/etc/rc.d/sshd restart
FTPの設定
FTP(File Transfer Protocolの使用にあたって注意すべきことは、FTPが、パスワードを含め暗号化しないで送受信を行うという点です。
したがって、途中で盗聴の危険性がありますので、FTPの使用はローカルなネットワークに限定すべきでしょう。
どうしても外部ネットワークを介してファイルを転送する必要があるのであれば、
SSHの仕組みを使用しコンピューター間でファイルを安全に転送するプロトコルであるSFTP(SSH File Transfer Protocol)を使用して下さい。
inetd(inetデーモン)がポートを監視し、ftpd(ftpデーモン)に渡すため、inetdとftpdの両方が起動されている必要があります。
FreeBSDインストールの際に、inetdの構成を許可しました。
もし、設定をし忘れた場合には、エディタで、/etc/rc.confに次の一行を追加することにより、システム起動時にinetdが起動されるようになります。
inetd_enable="YES"
また、FreeBSDインストールの際に、/etc/inetd.confを編集し、FTPを使用可能にしました。
もし、設定をし忘れた場合には、エディタで、/etc/inetd.confを編集し、次行の行頭の"#"を取り除いて下さい。
# ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
以上の変更を行った後、サーバを再起動すればftpが使用可能になります。
クライアントからのFTP接続は、DOS窓から使用することも可能ですが、
FTPコマンドになじみがない方は、例えば
FFFTPを使用すれば、
GUI(Graphical User Interface)を使用して簡単に接続が可能になります。
また、FTPログインに10秒以上時間がかかる場合は、DNS処理で時間がかかっている可能性があります。
このような場合には、/etc/hosts にログインサーバのIPアドレスとサーバ名を追加することにより改善されます。
最終更新日:2010年10月5日