[an error occurred while processing this directive]
qjailでサーバ内にもういっこサーバを作ってみました。(その1)

第205日目:qjailでサーバ内にもういっこサーバを作ってみました。(その1)

どうも、▲('A`)です。
ご無沙汰しておりました。
えーと、前回の日記でもお話しましたが、花代のシステムディスクが大破したので、
蘇生手術をおこなっていました。
花代は無事に復活し、今は元気に動いています。
ちなみに、蘇生手術の際に▲('A`)の方でゴニョゴニョと呪文を唱えて、
FreeBSD 7.0R i386でGENERICカーネル&ULEスケジューラーとしました。
前は6.2R i386でしたので、少しは丈夫&処理が早くなったなったかな、
というところです、ハイ。

で、過去ログ倉庫本体(RAID 6)の方もHDDが1本壊れていましたが、ホットスワップ
(万一の時のスペアのHDDです。)から自動的に交換されて、RAIDの再構築(リビルド)
で復旧しました。
ちなみに花子(banana3000)の方でも同じ様に1本壊れていました。
流石、3wareのRAIDカードは優秀です。

あ、そうそう。今は3ware社は無いんでした・・・
▲('A`)も先週になって初めて知ったのですが2009年4月にLSIに買収されたのでした。
なので、日記でドライバとかのリンクを貼っていたのですが、今はリンクをクリックすると
エラーとなってしまいました、トホホ・・・
色々調べたら、現在有効なドライバ等のページはこちらになります。
(LSIのサポート・ダウンロードページからもリンクが貼られていました。)
ただし、9650シリーズのドライバとかは現在本家FreeBSDで提供・対応されているので、
6.2Rとか古いバージョンを使っていなければGENERICカーネルでちゃんと認識されます。
ご安心を。
ちなみにLSIの方でもこんなページでドライバとかファームウェアを公開しています。

9650SE-16MLだとこちら
9650SE-8ML(9650SE-8LPML)だとこちら

さて、それでは本題にはいりますよ。
qjailについてちょっとお話をしてみます。
「qjailとはなんじゃらほい?」と思う人もいるかもしれませんね。
説明するには、まずjailのお話をしないといけません。
jailとは「仮想サーバ(システム)」の仕組みの事です。
要は「サーバの中に別のサーバが動いている」という事です。
結論から言うと、何にも知識の無い▲('A`)でも扱えました。
なので「ど素人」が使ってみた記録として見て頂けるといいかなあ、と。

第204日目の日記でちょこっと書きましたが、改めて書きますね。
qjailは新しいjailのラッパーとして開発されています。
世の中的にはこの間むむむさんが挑戦していたezjail等が有名です。
まあ、今回は勉強がてら触っています。

使う為の文献・マニュアルはこんなのがあります。
=================================================================
man qjail-intro
(インストールの時に「最初に見ろ!」とメッセージで言われます。)

man qjail
(これが本体のマニュアルです。)

man qjail.conf
(これはqjail.confについてのマニュアルです。)

man qjail.conf.sample
(これはqjailを動かす為の定義のサンプルファイルです。
ありかは /usr/local/etc/ の中にあります。)

man qjail.sh
(これはサーバ起動時にqjailを自動起動させるスクリプトです。
ありかは /usr/local/etc/rc.d の中にあります。)
=================================================================

で、root弟(´・ω・`)にサーバをおねだりしました。
流石にハイブリッドBananaはもらえませんでしたが、T-Bananaは手に入れましたので、
早速サーバを8.1R amd64で作ってみました。
いつものT-Bananaと違うのは、NON RAIDにしてIDE banana(昔のbananaサーバ)みたいに
HDDを構成した事です。
banana3237というサーバです、ハイ。
(知っている人は知ってますね。。。昔のc20サーバです。)

▲('A`)にとってはとても懐かしいサーバです。当時(2008年)はまだロードバランサーも
動いてなくて、受付嬢であるcxxサーバを7台くらい用意してDNSラウンドロビンで
動かしてました。あの頃は64ビットサーバ作るのに苦労して、煮詰まっていた
時期でした・・・
それが今じゃあ、あーた、cサーバ自体がHybrid Tiger1台で動いているので
マシンパワーで難なくこなしている、と言ったところでしょうか。
(2年しか経過していないのに、「雪だるま」や「2ch」のサーバ構成が
劇的に変わりました。)
当時Hybridサーバがあれば、もう少し体にやさしい毎日が過ごせていたんじゃないか、
と思います。ただね、cサーバの技術はそれはそれで今でも有効ですし、今のサーバ達と
組み合わせればちょっとやそっとではびくともしない仕組みが組めるんじゃないのかな、
なんて妄想してみたりします。
そんなサーバなので、ちょっと古くなっているし、IDEモードにした関係でコンパイルの
スピードも遅い、遅い。
なので、この日記を書くにも作業が進まなくって時間だけが過ぎて行きました。
(次回はRAID構成でサーバを用意しておこう、そうしよう。)

脱線しちゃったみたいですね。ちょっと軌道修正しますよ。
まずは qjailのパッケージをインストールします。
これはいつものpkg_addでインストールできます。
(こんな感じ)

banana3237# pkg_add http://www.maido3.com/server/zousan/qjail-1.0.tbz
Fetching http://www.maido3.com/server/zousan/qjail-1.0.tbz... Done.


***************************************************************************

Use the qjail utility to deploy small or large numbers of jails quickly.

Issue this command on the console command line first "man qjail-intro"

After reading that do "man qjail" for the details.

***************************************************************************


banana3237#

で、インストールが終わったら、次はqjailを動かす為の基本設定です。

まずは、qjail.confを用意します。雛型が/usr/local/etc/にあるので、
コピーしてつくりましょう。で、そのままだと書き込みできない
パーミッション設定なので、chmodで直しておきます。
cp /usr/local/etc/qjail.conf.sample /usr/local/etc/qjail.conf
chmod 644 /usr/local/etc/qjail.conf

で、次に仮想ホストの本体を設置するディレクトリを設定します。
▲('A`)の場合、/hdを作っているので、その中にjailsという
ディレクトリを作りました。
この後色々OSやパッケージ等をインストールするし、ユーザ
アカウントも作ったりするので、それなりの容量があった
方がいいです。
mkdir /hd/jails
mkdir /hd/jails/archive

次にqjail.confの中身です。ディレクトリが決まったので、
こんな感じで書きました。
qjail_jaildir=qjail本体のrootディレクトリ
qjail_archivedir=qjailの各種設定のバックアップ(?)の保管場所
qjail_default_flavor="default"
qjail_sourcetree=/usr/src
qjail_ftphost=OS等のソフトの取得先(FTPサーバ)
qjail_default_execute="/usr/bin/login -f root"

qjail_jaildir=/hd/jails
qjail_archivedir=/hd/jails/archive
qjail_default_flavor="default"
qjail_sourcetree=/usr/src
qjail_ftphost=ftp4.freebsd.org
qjail_default_execute="/usr/bin/login -f root"

最後にqjailがサーバ起動時に動く様にする為、/etc/rc.confに
以下のパラメータを追記します。
qjail_enable="YES"

さて、基本設定が終わりましたので、早速仮想ホストを作ってみます。
と、、、、その前に大事な事を忘れていました。
仮想ホストを作る為のベースとなるOSを準備しなければなりません。

その為に、以下のコマンドを実行します。(今回は8.1R amd64としました。)
qjail install -m -s -h ftp4.freebsd.org -r 8.1-RELEASE
-m:マニュアル(man page)を取得する
-s:ソース(/usr/src)を取得する
-h [ホスト名]:OSのベースシステムを取得する先のホストを指定する
       (ここの指定が無い場合はftp2.freebsd.orgがデフォルトとなる)
-r [バージョン]:取得するOSのバージョン

で、先程設定したqjail本体のrootディレクトリ(/hd/jails)の中に
色々と作りこまれます。
install途中ではこんなディレクトリが作られます。
banana3237# ls -l /hd/jails/
total 6
drwxr-xr-x 2 root wheel 512 Oct 13 02:26 archive
drwxr-xr-x 2 root wheel 512 Oct 13 02:32 fulljail
drwxr-xr-x 2 root wheel 1024 Oct 13 02:42 tempjail
banana3237#

ここで、fulljail、tempjailは一時的なディレクトリです。
FTPサーバから取得したbaseシステムのバイナリが格納されます。
色々取ってこられるので、日記本文中に記述すると、大変な量に
なるので、参考までにこちらにまとめました。

で、最終的にはこうなります。
banana3237# ls -l /hd/jails/
total 8
drwxr-xr-x 2 root wheel 512 Oct 13 02:26 archive
drwxr-xr-x 8 root wheel 512 Oct 13 03:20 basejail
drwxr-xr-x 3 root wheel 512 Oct 13 03:22 flavors
drwxr-xr-x 12 root wheel 512 Oct 13 03:22 newjail
banana3237#

で、次に仮想ホストを早速作ろうかな、と思っていましたが、時間が来てしまいました。
続きは次回の日記で・・・
それでは、また。▲('A`)/

204日目に戻る。   206日目に続く。

目次に戻る
1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
15日目 16日目 17日目 18日目 19日目 20日目 21日目
22日目 23日目 24日目 25日目 26日目 27日目 28日目
29日目 30日目 31日目 32日目 33日目 34日目 35日目
36日目 37日目 38日目 39日目 40日目 41日目 42日目
43日目 44日目 45日目 46日目 47日目 48日目 49日目
50日目 51日目 52日目 53日目 54日目 55日目 56日目
57日目 58日目 59日目 60日目 61日目 62日目 63日目
64日目 65日目 66日目 67日目 68日目 69日目 70日目
71日目 72日目 73日目 74日目 75日目 76日目 77日目
78日目 79日目 80日目 81日目 82日目 83日目 84日目
85日目 86日目 87日目 88日目 89日目 90日目 91日目
92日目 93日目 94日目 95日目 96日目 97日目 98日目
99日目 100日目 101日目 102日目 103日目 104日目 105日目
106日目 107日目 108日目 109日目 110日目 111日目 112日目
113日目 114日目 115日目 116日目 117日目 118日目 119日目
120日目 121日目 122日目 123日目 124日目 125日目 126日目
127日目 128日目 129日目 130日目 131日目 132日目 133日目
134日目 135日目 136日目 137日目 138日目 139日目 140日目
141日目 142日目 143日目 144日目 145日目 146日目 147日目
148日目 149日目 150日目 151日目 152日目 153日目 154日目
155日目 156日目 157日目 158日目 159日目 160日目 161日目
162日目 163日目 164日目 165日目 166日目 167日目 168日目
169日目 170日目 171日目 172日目 173日目 174日目 175日目
176日目 177日目 178日目 179日目 180日目 181日目 182日目
183日目 184日目 185日目 186日目 187日目 188日目 189日目
190日目 191日目 192日目 193日目 194日目 195日目 196日目
197日目 198日目 199日目 200日目 201日目 202日目 203日目
204日目 205日目 206日目 207日目 208日目 209日目 210日目
211日目 212日目 213日目 214日目 215日目 216日目 217日目
218日目 219日目 220日目 221日目 222日目 223日目 224日目
225日目 226日目 227日目 228日目 229日目 230日目 231日目
232日目 233日目 234日目 235日目 236日目 237日目 238日目
239日目 240日目 241日目 242日目 243日目 244日目 245日目
246日目 247日目 248日目 249日目 250日目 251日目 252日目
253日目 254日目 255日目 256日目 257日目 258日目 259日目
260日目 261日目 262日目 263日目 264日目 265日目 266日目
267日目 268日目 269日目 270日目 271日目 272日目 273日目
274日目 275日目 276日目 277日目 278日目 279日目 280日目
281日目 282日目 283日目 284日目 285日目 286日目 287日目
288日目 289日目 290日目 291日目 292日目 293日目 294日目
295日目 296日目 297日目 298日目 299日目 300日目 301日目
302日目 303日目 304日目 305日目 306日目 307日目 308日目
309日目 310日目 311日目 312日目 313日目 314日目 315日目
316日目 317日目 318日目 319日目 320日目 321日目 322日目
323日目 324日目 325日目 326日目 327日目 328日目 329日目
330日目 331日目 332日目 333日目 334日目 335日目 336日目
337日目 338日目 339日目 340日目 341日目 342日目 343日目
344日目 345日目 346日目 347日目 348日目 349日目 350日目
351日目 352日目 353日目 354日目 355日目 356日目 357日目
358日目 359日目 360日目 361日目 362日目 363日目 364日目

いま一番お得なページ! 解析
[an error occurred while processing this directive]