XenServerにBlueOnyxをインストールするHowTo

今回のエントリも仕事絡み。

ネタ自体は随分前に仕込んだ物だけど、これまでドキュメント化してなかったのでまとめてみようと思う。

BlueOnyxとはSun(現Oracle)のCobalt RAQシリーズから続き、オープンソース化されたホスティング用アプライアンスサーバで、1つのサーバで複数のWeb/メールサーバをバーチャルホストベースで運用する時に便利なパッケージ。いわゆる共用レンタルサーバ的なものを手軽に構築・運用・管理できるWebコントロールパネルインターフェースを備えているのがウリ。というか、中身は通常のLinuxで、その上にWebアプリとして管理画面を被せただけのものなので、内部的にはApacheやらSendmailやらの設定が自動で行われているという代物。

SunによるCobalt RAQのサポートが無くなった後も熱いユーザたちの手によってBlueQuartzというオープンソース製品になり、紆余曲折を経てBlueOnyxになったらしい。詳しい事は他のサイトに書いてあるので割愛。

BlueOnyxに注目した理由は、ベースとして使用されているOSがCentOS5.3(5.2)なので、仕事で管理している他のOSと同じであること、CentOSはXenServerでサポートされている上にVMのテンプレートが用意されているのでXenServerでの運用に問題が無いこと、そして何よりCobalt RAQ時代からほぼ変わらないWebインターフェースが実装されているということ。

BlueOnyxの存在を知った時は以上の点に感激したが、XenServer上にインストールする場合いくつかの注意点があり、さらに運用していくにあたって気づいた点があったのでまとめようと思い立った。

この記事を書くに当たって、BlueOnyxのオフィシャルサイトにあるインストールマニュアルと同じ内容を含んでいるが、オフィシャルのマニュアルは日本語化されていないというのと、XenServer上にVMとして構築する場合の固有の内容は書かれていなかったので補足するつもりでまとめた。

前書きはここまでで、まずはインストールの仕方から。

通常のBlueOnyxインストールはISOイメージをDVD等に書き込んでからDVDブートし、物理サーバに直接インストールするが、XenServer上でそれをやろうと思っても全くうまくいかない。CentOS5.3のVMテンプレートを使ってもother install mediaテンプレートを使ってもダメ。

そこで、BlueOnyxオフィシャルサイトのDownloadsページの最下部にある「TAR-ball for self install on CentOS-5.3」の方法でインストールすることになる。この方法は大まかに言うと必要最小限の構成で構築したCentOSサーバを用意し、後付けでTARボールで用意されたBlueOnyxのインストーラを実行して構築するというもの。

ここからはインストール時のスクリーンショットを用いての説明。

最小構成のCentOSのセットアップ

XenCenterのNewVM…アイコンをクリックし、CentOS5.3テンプレート(x86_64ではない。BlueOnyxは64bitに対応していない)を選択してNextをクリック。

BlueOnyxインストール手順00

仮想ホスト名と説明を入力してNextをクリック。

BlueOnyxインストール手順01

「Install URL」を選択して「http://ftp.jaist.ac.jp/pub/Linux/CentOS/5.3/os/i386」と入力してNextをクリック。

BlueOnyxインストール手順02

割り当てるCPU数とメモリ量を指定してNextをクリック。今回はCPUを2つ、メモリを4GB指定した。

BlueOnyxインストール手順03

格納するディスクとサイズを指定してNextをクリック。今回は16GB割り当てた。

BlueOnyxインストール手順04

BlueOnyxで使用するNICを選択してNextをクリック。今回はWAN側インターフェースとLAN側インターフェースを用意した。

BlueOnyxインストール手順05

設定した内容でよければFinishをクリック。VMが作成されインストーラが起動するので対象のVMのConsoleタブを開いて起動を待つ。

BlueOnyxインストール手順06

起動するとCentOSのインストーラ画面の言語選択になるので「Japanese」を選択して「OK」を選択。

(以下の画面から先はTabキーで項目間の移動、Spaceキーで選択)

BlueOnyxインストール手順07

VMの作成時にNICを複数設定した場合はCentOSのインストールに使用するNICを選択する。ここではVMのinterface0がWANとして設定されているので「eth0 – Xen Virtual Ethernet」を選択した状態で「OK」を選択。

BlueOnyxインストール手順08

選択したNICのIP設定をする。「Enable IPv4 Support」を有効にして、「Manual configuration」を選択する。

また、IPv6は今回は使用しないので「Enable IPv6 Support」は無効にし、「OK」を選択。

BlueOnyxインストール手順09

割り当てるIPアドレスを設定する。ネットマスク(下図でyyy.yyy.yyy.yyy)の部分はCIDR形式での入力が可能なので、例えば「255.255.255.0」の場合は「24」と入力しても可。

入力したら「OK」を選択。

BlueOnyxインストール手順10

CentOSインストール用のファイルをダウンロードし始めるのでしばらく待つ。

BlueOnyxインストール手順11

これより先のインストール作業を引き続きテキストモードで行うか、VNCを使用してグラフィカルインストールをするかを選択。

テキストモードでのインストールでも問題が無いので「Use text mode」を選択。

BlueOnyxインストール手順12

テキストモードでは日本語での表示ができない旨のアラートが出るので「OK」を選択。

BlueOnyxインストール手順13

ウェルカムメッセージが表示されるので「OK」を選択。

BlueOnyxインストール手順14

ハードディスクにパーティションを作成するために初期化する旨の注意が表示されるので「Yes」を選択

BlueOnyxインストール手順15

「Remove all partitions…」を選択して「OK」を選択。

BlueOnyxインストール手順16

全ての既存のパーティションを削除する確認が表示されるので「Yes」を選択。

BlueOnyxインストール手順17

パーティションの構成の確認と変更をするかどうか聞かれるので「Yes」を選択。

BlueOnyxではquotaが使用できるが、自動作成されたパーティション構成では不都合なため変更を行う。

BlueOnyxインストール手順18

今回はswap領域を専用パーティションとしてではなく、ファイルシステム上のファイルとして用意するため、swapパーティションを削除する。

「LV LogVol01(Typeがswapのもの)」を選択した状態で「Delete」を選択

BlueOnyxインストール手順19

削除の確認が表示されるので「Delete」を選択。

BlueOnyxインストール手順20

続いてquota設定の関係から「/」と「/home」を分割する。(BlueOnyxでは仮想サイトのWebとメールは/home以下に配置されるので、/homeに対してquotaをかける)

今回は/に4GB、/homeに12GBを割り当てる。

「Lv LogVol00(Mount Pointが/のもの)」を選択した状態で「Edit」を選択。

BlueOnyxインストール手順21

「Size」をMB単位で任意の値に変更したら「OK」を選択。

BlueOnyxインストール手順22

続けて/homeを確保する。「VG VolGroup00」を選択した状態で「New」を選択。

BlueOnyxインストール手順23

パーティションを作成するか論理ボリュームを作成するか聞かれるので「logical volume」を選択。

BlueOnyxインストール手順24

「Mount Point」に「/home」を入力、「Logical Volume Name」に「LogVol01」を入力、「Size」に残りの領域サイズをMB単位で入力して「OK」を選択。

BlueOnyxインストール手順25

最終的な構成内容を確認したら「OK」を選択。

BlueOnyxインストール手順26

swapパーティションを作成せずに進もうとすると警告が出るが、後で作成するためここでは無視して「Yes」を選択。

BlueOnyxインストール手順27

ブートローダの設定に移る。「Use GRUB Boot Loader」を選択した状態で「OK」を選択。

BlueOnyxインストール手順28

ブートローダのオプションを設定。デフォルトのままで「OK」を選択。

BlueOnyxインストール手順29

GRUBに認証設定をするかどうか聞かれるがここでは認証しないので「OK」を選択。

BlueOnyxインストール手順30

ブートローダのブートパーティションやブートラベルはデフォルトのままで「OK」を選択。

BlueOnyxインストール手順31

ブートローダのインストール先として「/dev/xvda(MBR)」を選択して「OK」を選択。

BlueOnyxインストール手順32

CentOSがインストールされ、起動した後のネットワーク設定をする画面になるが、ここでの設定は後で変更できるので「OK」を選択。

BlueOnyxインストール手順33

その他のネットワーク設定。「Gateway」と「Primary DNS」の設定はインストール時設定を引き継いでいる。入力したら「OK」をクリック。

BlueOnyxインストール手順34

ホスト名の設定。「manually」を選択して、任意のホスト名を入力したら「OK」をクリック。

BlueOnyxインストール手順35

時刻と地域の設定。「System clock uses UTC」のチェックを外し、「Asia/Tokyo(日本の場合)」を選択して「OK」を選択。

BlueOnyxインストール手順36

スーパユーザのパスワードを指定する。ちなみに、BlueOnyxをインストールすると強制的にパスワードが変更されるのでここで設定するのは一時的なものとなる。

BlueOnyxインストール手順38

インストールするパッケージの選択。「Desktop – Gnome」のチェックを外し、「Server」にチェックを入れて、「Customize software selection」にチェックを入れてから「OK」を選択する。

BlueOnyxインストール手順39

全てのパッケージグループのチェックを外して「OK」を選択。

BlueOnyxインストール手順40

インストール前の最終確認が表示されるので「OK」を選択。インストールが始まるのでしばらく待つ。

BlueOnyxインストール手順41

インストール完了の表示が出たら「Reboot」を選択して再起動する。

BlueOnyxインストール手順42

BlueOnyxセットアップ前の下準備

以降はconsoleかsshターミナルでのコマンドラインの作業になる。

スーパユーザとしてログインしたら、まずはselinuxを無効化する設定を行う。

[root@blueonyx ~]# vi /etc/selinux/config

SELINUX=disabled ←変更

続いてquotaを有効にする。

まずquotaパッケージとwgetパッケージをyumから入手する。

[root@blueonyx ~]# yum -y install quota wget

quotaを設定する。

[root@blueonyx ~]# vi /etc/fstab

/dev/VolGroup00/LogVol01 /home                   ext3    defaults,usrquota,grpquota 1 2 ←変更

[root@blueonyx ~]# /bin/mount -o remount /home

[root@blueonyx ~]# /sbin/quotacheck -cuga

[root@blueonyx ~]# /sbin/quotaon -au

再起動する。

[root@blueonyx ~]# /sbin/shutdown -r now

BlueOnyxのセットアップ

まずBlueOnyxのインストーラ格納するディレクトリを作成する。

[root@blueonyx ~]# mkdir /install

[root@blueonyx ~]# cd /install

インストーラをダウンロード。

[root@blueonyx ~]# wget http://devel.blueonyx.it/pub/BlueOnyx/TAR/BlueOnyx-5106R-CentOS5-i386-20090402.tar.gz

TARボールを展開する。

[root@blueonyx ~]# tar zxvf BlueOnyx-5106R-CentOS5-i386-20090402.tar.gz

展開されたサブディレクトリに移動。

[root@blueonyx ~]# cd BlueOnyx-5106R-CentOS5-i386-20090402

インストールシェルスクリプトを起動。

[root@blueonyx BlueOnyx-5106R-CentOS5-i386-20090402]# ./install.sh

インストールが完了したメッセージが表示されたらBlueOnyx自体のセットアップは完了。このとき、デフォルトユーザ「admin」が設定され、adminのパスワードとスーパユーザのパスワードは「blueonyx」に変更される。

インストールに使用したディレクトリを削除する。

[root@blueonyx ~]# rm -rf /install

念のため再起動

[root@blueonyx ~]# /sbin/shutdown -r now

BlueOnyxの初期設定

WebブラウザでBlueOnyxの初期設定を行うが、iptablesが邪魔して設定画面が表示されないので設定を変更する。

このとき、スーパユーザでのssh接続はできなくなっているのでadminユーザで接続する必要がある。

[admin@blueonyx ~]$ su

スーパユーザパスワード入力(blueonyx)

[root@blueonyx admin]# /etc/rc.d/init.d/iptables stop

Webブラウザでhttp://FQDN又はIPアドレス/loginに接続する。

文字化けしているが気にせず下部のボタンをクリックする。(何が書かれているか見たい時はブラウザの表示メニューなどから文字コードをEUC-JPに変更する)

ライセンスについての表示が出るので「同意する」をクリック。

システムの設定画面が表示されるので管理者ユーザ「admin」のパスワードを任意の物に変更する。

時間帯をアジア-日本-日本標準時に変更して右矢印をクリック。

製品の無保証性の確認が出るので右矢印をクリック。

これで初期設定が完了し、BlueOnyxを使用する事ができるようになる。

BlueOnyxを運用するにあたっての細かなTips

XenServer Toolsをインストールする

XenCenterで左側のツリーメニューから該当のサーバを選択し、右側の「storage」タブをクリック。

「DVDドライブ」のプルダウンメニューから「xs-tools.iso」を選択。

mount -t iso9660 -o loop /dev/xvdd /mnt
/mnt/Linux/install.sh
/sbin/shutdown -r now

swapを作成する

mkdir /var/swap
dd if=/dev/zero of=/var/swap/swap0 bs=1024 count=524288
#ここでは512MBのswapを作成。512×1024×1024=536870912≒512MBのため、1024バイト単位で524288回書き込む
/bin/chmod 600 /var/swap/swap0
/sbin/mkswap /var/swap/swap0
/sbin/swapon /var/swap/swap0
echo "/var/swap/swap0   swap   swap  defaults  0  0" >> /etc/fstab

FFFTP向けにFTPサーバを調整する

FFFTPでFTP接続すると.(ドット)で始まるファイル名のファイルが参照できないことがあるのでFTPサーバの設定を変更する。

vi /etc/proftpd.conf
<Global>
    AllowOverwrite    yes
    ListOptions          "-a"
    <Limit ALL SITE_CHMOD>
        AllowAll
    </Limit>
</Global>

Movable Type向けの追加パッケージをインストールする

仮想サイトにMovable Typeを使用する場合、インストール自体はできるが追加モジュールがインストールされていないためにいくつかの拡張機能が利用できないので、追加モジュールをインストールする。

ImageMagick-perlのインストール。

yum install -y ImageMagick-perl

以下のperlモジュールは標準のyumレポジトリには存在しないのでrpmforgeリポジトリを追加する。

rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

各種perlモジュールの追加。

yum install perl-DBD-SQLite
yum install perl-DBD-SQLite2
yum install perl-Archive-Tar
yum install perl-DBD-Pg
yum install perl-Crypt-DSA
yum install perl-Archive-Zip
yum install perl-Crypt-SSLeay
yum install perl-IPC-Run
yum install perl-PerlIO-gzip
yum install perl-Mail-Sendmail

Leave a Reply