ARAGO for Internet Wiki Project AkuAku

This web site is powered by Arago for Internet v7.0 UTF-8 edition on FreeBSD
SPC main menu Expand/Fold
Products 取扱商品 Expand/Fold
SouthWind  Expand/Fold
Q&A Technical support Expand/Fold
BBS 掲示板 Expand/Fold
Easy PC life Expand/Fold

Last Edit Date: 08/29/2008
1. FreeBSD

WindowsユーザーのためのFreeBSD入門は、Unices系のOSを仕事として使わざるをえない人のために書いてあります。
全くUnicesを日常作業用のOSとして使おうなんてことは全く考えていません。 あくまでFreeBSDをインターネットサーバーのOSとして使っているだけです。

何でFreeBSDなのか?
別にへそ曲がりでも、天邪鬼でもありません。 無料で使えるからだというわけでもありません。 一番信頼できる、簡単に使える業務用のOSだからです。  趣味のUnices系のOSで趣味でサーバーを立ち上げるのでしたら、趣味の世界で遊びましょう!
FreeBSDは7.0からSMP、マルチCPU対応の部分が大きく書き直されています。 この辺の詳しい解説はイギリスの大学から論文が公開されています。 OSの内部を理解している人でも少々難解な論文です。 翻訳ばかりしていないで、この程度の論文でも書いて実際にOSに組み込んでくれるような大学が日本にもひとつくらいあってもいいのですが、山に登って魚を得るような話でしょうね!

今回の7.0をインストールして、その作業のために自分で書いた原稿を読んで、まあただの書きなぐり状態!にあきれました! 自分で自分にあきれました! ということでもう少し後で自分でもわかるように、簡単な概念や考え方を付け加え、またそれぞれの個別の解説ではなく、それぞれがどのように関連付けられているかも書く予定です。
7.0はだいぶ待っていたのですが、今年2008年2月に7.0 Releaseが公開されました。 当たらし物好きなところもありますが、 前回の6.?でソフトRAIDを組もうとして、SATAを一台しか認識しないなんてBUGになかされましたので、少々時間を置いたのですが。。。。
このRELESE版もいきなりUSBでずっこけました! 無限ループに! というかtimeoutが抜けていたようです。 FreeBSDのサイトにsnapshotという部分があります。 ここには現在開発中のものや、Releaseされたものを安定化作業中のものなどがあります。 今回は7.0 Stable june版で設定しました。 この版はどうもrouting tableとroute、tracerouteなどのところにbugがあるようです。
bugがfatalでなければそれでいいのですが、それを確認するのにいい時間がかかりました! 現在理解しているところでは単に表示上の問題のようです??

ハードウェアの構成を紹介します。

回線は8ipでISPに光回線で接続されています。 routerはこのサーバーですべてを処理しています。 routerは良いものはとんでもなく高いですし、安いものは悪すぎる冗談ですし。。。 昔Frame Relayで使っていたCompatible systemのは2-3000ドルの割にはかなりで気がよかったです。 もちろんすぐにCISCOに吸収されましたが、 日本では大手のISPにだいぶ入っていたそうです。 もちろん設定は米国から人が来てやっていたようです。
PCはそれなりに安定していて、それなりに無難に動くということでASUS M3N78-VMにしました。 最初はM3A78-EMHを買ってきて組んだのですが、 SATAのケーブルを抜くとソケットのハウジングまで抜けてくるし、ATIのチップセットはすぐにちんちんになるのでやめました。 CPUを抜くときにはsocketまで抜けるんじゃないかと心配しました?? ASUSも2年ほど前にchipsetが燃えるという冗談でサーバダウンという事故がおきています。 運用を始めたら、ダウンしたときのため同じマザーコードを一枚用意しておきましょう。 それと夏場の温度上昇に対して安物の家庭用扇風機を一台用意しておきましょう。
オンボードのデバイスは必要ないものは、BIOS設定でdisableにしましょう。 ちなみにASUSのオンボードのEthernetはFreeBSD 7.0でも認識はするが、サポートされていません!
いろいろなマザーボードを見ていますが、onboardのethernetは認識されないのが多いようです。 linuxではサポートされているようなので、そのうちFreeBSDでもサポートされるのを期待したいですね。
CPUはAMDの低消費電力のQuad Coreです。 Intelのほうがスピードはあるのですが、ここでAMDがんばれと使いました。 メモリは安物の2G 2枚です。 そんなにメモリがいるの? いや別に安かったからです。
storageは2.5インチのSATA hdd 2台です。 それ以外CDromなどは付けていません。 無駄な電量を消費しないためです。 Ethernetカードは、ネットで探しても3COMの安いのがなかったので、一番安いゴミと呼ばれるRealtec 2枚です。
SATA 2台でGMirrorのRAID 1でmirroringしています。

この構成をMicro ATXケースに入れています。 ケースからはフロント飾りパネルや、後ろのふたなど取れるものはすべて取り外し、風通しをよくしています。 このケースはラックに入っています。 ラックには100円ショップで売っている換気扇用のフィルタをかぶし、そとから扇風機で風を送っています。 google方式にしたいのですが、代になる鉄板の加工を考えると、Micro ATXのケースをそのまま使うほうが簡単なようです。 このラックについてはそのうち紹介します。 
温度の実測値は、室温30度で電源の排気で42度、チップセットで43度くらいでした。 室温30度とは、エアコンを止めた夜間の室内温度と考えています。 消費電力は、何もしていない状態で80-85Wです。 

マザーボードを新規に購入したときには、一番最初にBIOSのアップデートをしてください!
新規購入部品でのエラーは、3日以内にほとんどおきます。 作業中に何かおかしな動作をするようでしたら、交換しましょう。

サーバーを運用するともっとも問題になるのが、CPUやhddの温度ですが、どうも既存の温度をチェックするプログラムはAMD Quadでは、とんでもない数値を返したり、ぜんぜん無視されたりするようです。 そのうちAMD Quad対応のができるでしょう??

もうひとつの運用上の問題は停電です。 アメリカでは停電はよく起きます。 昔経験したのではCanadaからCaliforniaを通りMexicoまで停電が起きたり、表道理でトラックが電柱をひっくり返し1-2日電気が来ませんでした。 アメリカの事務所でもUPSでPCの電源をサポートしていました。 ほんとによくUPSがピーピーないていたものでした。 それから比較すると日本の電気は大変安定しています。 ということで今までUPSを日本では利用していません。

それでも心配の方はhttp://vintners.net/~mikel/howto/ups.htmlが要領よくまとめてくれているようです。

FreeBSD 7.0は最初からSMP マルチCPU対応です。 余分な作業がひとつ減りました。

現行サーバーの更新作業
最近では日本では新規にサイトを立ち上げる人は減っていると思います。 どちらかといえば、現在運用しているサーバーを更新する作業が多いのではないでしょうか? ここで問題は、サーバーPC自体を更新することで、いきなりこの新PCをネットに接続できないことです。 まあipが十分にあまっているなら話は別ですが。。
FreeBSDには何かアプリケーションをインストールするにはportという便利な機能がありますが、これにはそのサーバーPCがネットに接続されていなければなりません! もちろんサーバーの使用するhost名やipを使うことはできません。
またいろいろと問題を起こすperlなどは、排除しています!

ではどのように
1. tarballをdownloadして、それをインストールする方法。
2. 別のhost名にしipをあいているものに割り当てる。

1. の方法は、問題点はpostfixやbindのチェックは実際に回線に接続されるまで、完全なチェックを行うことができない。
2. の方法の問題点は、host名やipが指定されているすべてを最後に変更しなければならない、 最悪grepし、変更箇所を探さなければいけない。 どちらにしてもpostfix、bind,pppoeなどは、 回線に接続語にしかチェックできない。
利点はportで簡単にインストールができる。

portの問題点
CDに含まれるportは最新版ではないので、更新する必要がある。
portのインストールによっては、山ほどゴミを同時に入れてくれる。 とんでもない設定になる可能性がある! 何がおきたのかさっぱり分からない状態に陥る可能性があります???

tarballでのインストールでは、一部のインストールで、別の作業を行わなければならない! 

どちらにしても、 configureで、一部変更する必要があるものがある。


tarballからのインストールの一般的な方法
ns1#./configure --help これでconfigureのオプションを見ることができる。 何かあったときに見ましょう。
次の
ns1#./configure makeファイルのオプションを現在の環境に設定する。
ns1#make depend makeファイルのオプションを現在の環境に設定する。
ns1#make    コンパイル
ns1#make install インストール

それ以外に
make clean depend

make clean
などがある。

現行サーバーのバックアップ方法 もしくは FreeBSD ファイルシステムの外付けhddのフォーマット方法

Postfixのメイルデータ以外は、DOSフォーマットのUSBメモリでもコピーすることができますが、Postfixの個別メイルデータのファイル名はDOSでもNTFSでも認められていません。 そのためコピーすることができません。
USB外付けhddにコピーするようにしましょう! でこのhddをFreeBSDのフォーマットで初期化しなければいけません。 よく知らないのですが、 FreeBSDにはDOSやWindowsみたいな便利な機能はついていないようです。
これからFreeBSDをインストールするPCにUSB接続し、 そこにFreeBSDをインストールします! もちろんswap領域なんて要りません。 hddのフォーマットが終了し、ファイルの転送が始まった時点で、中止します。
このUSB hddをバックアップしたいシステムでmountします。 もちろんいろいろなディレクトリが先ほどの中断したインストール作業で書き込まれています。 間違いやすいので全部消せるものは消しましょう。 間違えても肝心の現行サーバーのデータやディレクトリを消さないでください!
心配でしたら、 新規のサーバー用PCにFreeBSDインストール後に、そのPCに接続して作業しましょう。

FreeBSDはwww.freebsd.orgからダウンロードできます。 iso cd imageを落とします。 最新のstableを落としてください。
お使いのPCでbootable CDを作成。

これから設定するPCでCD bootしてください。 USB外付けCDドライブではbootできるようにbiodを設定のこと。
FreeBSDの絵とWelcomeと出ます。 ここでdefaultでただreturnを押してください。
次のにぎやかな画面がSysinstall画面です。
ここではStandardを選択すると、hddが2台あるときには、どれを選ぶかを聞いてきます。 どれかを選んでください。 このときに表示されたdevice名を記録しておいてください。 mirro設定のときに使います。 ドライブを選択すると、DOS likeなfdiskに行くが、いいのかと聞かれます。 もちろんです。
Slice これはDOSで言うPartitionです。 これがはじめてのインストールでしたら何が表示されようと気にせず、Dでdeleteしましょう。 CのCreate Sliceで全サイズをでOKします。 SliceのTypeを聞いてきます。 Defaultは165です。 OKしましょう。 前の画面に戻りましたらQでPation作業を終了します。 次の画面ではBoot managerをどれにするかと聞かれます。 複数のOSを入れることはないので Standardにします。

ここでDisk Label editorになります。
slice、partitionです。 autoでもいいのですが、やたらにたくさんのpartitionを作成します。 これでは後で容量が不足すると面倒なことになります。そこでいまどきのhdd全部をファイルシステムにします。 ただしUnicesではswap領域が必要です。 この最適サイズの計算式は知りません。 面倒ですので現在のメモリの二倍にします。 メモリ量の倍と言うのは一般的な経験値です。 

swapは実メモリがいっぱいになったときに、実行されているprocessをkillさせないためのものです。 それらのprocessのメモリを、 swap領域に仮想メモリとして保存することです。 と言うことは実際に問題が起きない限り最適サイズがわからないことになります?

ではCを選んで、表示されたサイズは全Sliceサイズですので、Swap領域にメモリ量の二倍のbyte数を残すため、全要領M byteからswapサイズ分引いた値を指定します。 次のダイアログではファイルシステムは何かと聞かれます。
ここでFS File systemを選んでください。 mount pointが聞かれますので / を入力してください。
まえのDisk Label Editorの画面に戻りますので、再びCを押して、残りの全サイズでOKして、次のdialogでswap partitionを選択します。 また元の画面に戻りますので、これで終了ですのでQ。

次の画面はChooseDistirbutionになります。
選択するものは次のとおりです。
Developer
Kernel Developer
を選択します。 選択が終了するとかソールをExitに行きreturnします。

Choose Installation Mediaではどこからインストールするかと聞かれます。
CDを選択します。 最後にformatされるがいいかと聞かれます、 もちろんです!

後は延々とCDからコピーを始めます。 ここでXwindowを選択しないとあれれよと終わるのですが??

CDからのコピーが終了するといくつかの質問が出ます。
Ethernetを設定します。 次の画面で現在認識されているEthernetのPort名が表示されます。
最初のを選択します。
IpV6はNOです。
DHCP NO
次の画面でip mask hostname 、dnsサーバーはipです。必要な情報を入力してください。
BringUpと聞かれます。 YESです。

Gateway yesです。
inetd 古道具は要らないのでNO
ssh とりあえずNO
FTP Access NO
NFS Server NO
NFS Client No
console setting No
Timezoneは設定してください。
Linux binary compatibility YESです。 ここでしっかりバージョンを見ましょう、多分古いでしょう!
MOUSE とりあえずNO

XWindowをインストールするときには
Package Selection yes
gnomeを選びます。
gnomeを選択するとまあごってりと出てきますが、必要なものは何なのでしょうか? よくわかりません!
Gnome-Desktopだけでは、あとは勝手にDefaultとして山ほど入れてくれますが、 さて困ったことにあ、vncviewerには Desktopの殻みたいなのは表示されますが、何も動かせません、 と言うことですべてを選択。 ではここから抜けるのは、T TABでカソールをOKに移動してReturnです。 ちっとおかしな具合です。 
まあXWindowは今すぐ使うわけではないので、やめておきましょう!

コピーが終了するとuser accountを追加するかと聞いてきます。
とりあえずNO
rootのpasswordの設定です。

rootとはWindowsで言うところのAdministratorです。
最後にもう一度ほかのインストールオプションを見るかと聞かれますが、 NO
rebootします。

もし間違えても後でsysinstallで後から追加できます。 気にせず先に進みます。 

立ち上がらなかったら再度はじめからどうぞ。 もし周辺機器がFreeBSDでサポートしていないとき、そのカードをはずしましょう。
失敗しても気にせずに! 何度でもはじめからやり直してください。

正常に起動され、無事にloginできましたら、次の作業の始まりです。

プロンプトでifconfig (windowsのipconfigです)
ping
でEthernetカードの動作を確認。

現在別のname serverが動いているときには、ip hostnameを別のものにし、bind以外をインストールして動作確認するのもひとつの方法です。

FreeBSD 7.0は何もしなくてもSMP マルチCPUサポートになっています。

さて今FreeBSdをインストールしたPCにrouter機能を設定します。 安物のrouterもどきを使うからと思う方は、サーバーを立ち上げないほうが、ネット社会のためになりますので、作業は中断してください。
うんざりする金額のrouterを使用する方は、次の作業は不要です。

kernelの再構築です。 全快の記事ではそれぞれの個別に書いていましたが、 ここでは一括処理する方針にしましょう。
ipfilterとpppoeのためのコンパイル設定です。


cd /usr/src/sys/i386/conf

GENERICに次の内容を追加してください。
もしGENERICに下記の内容があり、コメントアウトされていれば、#をはずし保存する。

##ipfilter
option        IPFILTER
option        IPFILTER_LOG

###PPPoE
##option        TCP_DROP_SYNFIN これはもうdefaultで組み込まれています!
option        MSGBUF_SIZE=40960
option        NETGRAPH
option        NETGRAPH_ETHER
option        NETGRAPH_PPPOE
option        NETGRAPH_SOCKET

プロンプトで
config GENERIC

移動先のディレクトリはconfigが終了すると表示されているメッセージの最後に書かれています。

cd ../compile/GENERIC
make depend
make
make install

延々と始まります、 エラーがあると先に進めません。 間違いを修正して、エラーの出たところからやりなおしてください。
つづりの間違い以外でここまでにはエラーが出ることはありません!


では一服してから次のところに進みます。
次はgmirror mirroringの組み込みです。

pppoeではnetstatやifconfig tun0でおかしな値を返すようです。 そのうち直るでしょう。 サーバーの運用には問題はないようです。
freebsd.org側の見解は前のバージョンに戻せとかかれていますが? SMPを考えると7.0をあきらめることができません。

dhcpについて、現在routerの安物でもそこそこの機能を持っていますので、内側のethernetカードにhubを通して、そこからrouterをかけdhcpを使うことをお勧めします!

Advertisement Expand/Fold