やっぱり残念なので再度KVM重ねがけなしで
管理サーバ、DBサーバ、ストレージ、ホストすべて
1台の物理PCしかもNIC1枚で構築しなおしてみました。
ただ..この環境でセットアップすると
インスタンス作成まではうまくいきますが、
管理コンソール上のコンソール画面が動作しません。
All in Oneサーバ上でブラウザを開いても駄目でした。
詳細は次の記事に書いていますが..
KVM重ねがけの場合は親サーバから各セグメントが見えているので
親サーバ上のブラウザからなら問題なくコンソールは上がるのですが...
0. 用意したもの
・インターネット接続可能なセグメントに接続されたPC1台
MouseComputer
Core i7 1.2GHz×8
HDD 500GB/Mem 8GB
NIC 1枚(DHCP範囲外で固定IP割り当て、Proxyなし)
※PCによってはBIOSでIntelVTを有効化する必要がある
・Ubuntu Server 12.04.2LTS CD-ROM
・Buffalo製WZR-HP-G450H
家庭用ルータ
デフォルト設定(リセットスイッチ押下→iフィルタオフ)
LAN側:
ルータのIP192.168.11.1
DHCP有効範囲:192.168.11.2~65
※66番目以降は自由に固定IPを使える
・インターネット接続
ルータのWAN側に接続
プロクシ無しで接続できる
・クライアントPC(ルータにつながり、ブラウザが入っていればOK)
1. OSのインストール
- Ubuntu Server12.04.2LTS CD-ROMメディアを挿入し電源オン
- 日本語
- Ubuntu Serverをインストール(I)
- はい
- 日本
- 日本語
- 日本語 - 日本語(かな 86) ※各自のキーボードによる
- Alt + Shift
- 戻る ※DHCPが引けたが固定IPを振る
- ネットワークを手動で設定
- 192.168.11.100
- 255.255.255.0
- 192.168.11.1
- 192.168.11.1
- william
- royal ※ドメイン名は適当に変更すること
- cloud ※OSアカウントは適当に変更すること
- cloud ※OSアカウントは適当に変更すること
- cloud ※パスワードは適当に変更すること
- cloud
- はい
- いいえ
- はい
- ガイド - ディスク全体を使いLVMをセットアップする
- SCSI1 (0,0,0) (sda) - 500.1 GB ATA Hitachi HDS72105 ※環境による
- はい
- はい
- 499.8GB ※環境による
- はい
- いいえ
- 空欄で次へ
- 自動的にアップデートしない ※適宜変更
- 続ける
- はい
- PCからCD-ROMを取り出す
- 続ける ※再起動
- cloud ※OSアカウントは適当に変更すること
- cloud
- sudo su -
- cloud
- vi .profile
(最終行へ以下の1行を追加)
export LANG=C
- exit
- sudo su -
- cloud
- vi /etc/sysctl.conf
(最終行へ以下の2行を追加)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
- sysctl -p
- vi /etc/apt/sources.list.d/cloudstack.list
(新規:以下の行を追加)
deb http://cloudstack.apt-get.eu/ubuntu precise 4.1
- wget -O - http://cloudstack.apt-get.eu/release.asc|apt-key add -
2. プライマリ/セカンダリストレージ構築
- aptitude update && aptitude -y dist-upgrade && aptitude -y install ssh openntpd nfs-kernel-server bridge-utils
- vi /etc/network/interfaces
(iface eth0 inet static以降を以下のように変更)
iface eth0 inet manual
iface cloudbr0 inet static
address 192.18.11.100
netmask 255.255.255.0
network 192.168.11.0
broadcast 192.168.11.255
gateway 192.168.11.1
dns-nameservers 192.168.11.1
dns-search royal
bridge-ports eth0
bridge-stp off
auto cloudbr0
- mkdir -p /export/primary /export/secondary
- vi /etc/exports
(最終行に以下の1行を追加)
/export *(rw,async,no_root_squash,no_subtree_check)
- exportfs -a
- vi /etc/modprobe.d/nfs_lockd.conf
(新規:以下の1行を追加)
options lockd nlm_udpport=32769 nlm_tcpport=32803
- vi /etc/default/nfs-kernel-server
(修正前)
RPCMOUNTDOPTS=--manage-gids
(修正後)
RCPMOUNTDOPTS="--port 892"
- vi /etc/default/nfs-common
(修正前)
STATDOPTS=
(修正後)
STATDOPTS="--port 662 --outgoing-port 2020"
- ufw allow 111
- ufw allow 662
- ufw allow 32769/udp
- ufw allow 32803/tcp
- ufw allow 2049
- ufw allow 892
- reboot
3. 管理サーバの構築
- cloud ※OSへログインするユーザ
- cloud
- sudo su -
- cloud ※聞かれない場合あり
- aptitude -y install mysql-server cloudstack-management
- cloud ※MySQLのrootパスワード
- cloud
- vi /etc/mysql/my.cnf
([mysqld]セクション内に以下の5行を追加)
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
- service mysql restart
- cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:cloud
- cloudstack-setup-management
- mkdir -p /mnt/secondary
- mount -t nfs 192.168.11.100:/export/secondary /mnt/secondary
- mount -t nfs 192.168.0.1:/export/secondary /mnt/secondary
- /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-mount-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F
- umount /mnt/secondary
- cd /mnt
- rmdir secondary
- reboot
4. ホストの構築
- cloud ※OSログインユーザ
- cloud
- sudo su -
- cloud ※聞かれない場合あり
- passwd root
- cloud ※OSのルートパスワードを設定
- cloud
- aptutude -y install kvm qemu-utils qemu-kvm libvirt-bin virtinst cloudstack-agent
- vi /etc/default/libvirt-bin
(修正前)
libvirtd_opts="-d"
(修正後)
libvirtd_opts="-d -l"
- vi /etc/init/libvirt-bin.conf
(修正前:11行目)
env libvirtd_opts="-d"
(修正後:11行目)
env libvirtd_opts="-d -l"
- vi /etc/libvirtd/libvirtd.conf
(以下の行をコメントアウト)
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
mdns_adv = 0
(修正前)
#auth_tcp = "sasl"
(修正後)
auth_tcp = "none"
- service libvirt-bin restart
- ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
- ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/
- apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
- apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
- ufw allow proto tcp from any to any port 22
- ufw allow proto tcp from any to any port 3922
- ufw allow proto tcp from any to any port 1798
- ufw allow proto tcp from any to any port 16509
- ufw allow proto tcp from any to any port 5900:6100
- ufw allow proto tcp from any to any port 49152:49216
- ufw allow proto tcp from any to any port 9090
- ufw allow proto tcp from any to any port 8250
- ufw allow proto tcp from any to any port 8080
- vi /etc/idmapd.conf
(修正前)
#Domain = localdomain
(修正後)
Domain = royal
- vi /etc/sudores
(11行目に以下の1行を追加し強制保存)
Defaults:cloud !requiretty
- reboot
5. ゾーンの構築
※クライアントPCをルータの無線LANに接続(優先でもOK)
DHCPにより192.168.11.2~65のいずれか1つ割り当てられる
※インターネットオプションでプロクシなし設定にしておく
- ブラウザを起動
- http://192.168.11.100:8080/client を開く
- Language欄を「Japanese」に変更
- ユーザ名「admin」
- パスワード「password」
- ドメインは空欄のまま
- 「ログオン」ボタン押下
- 「CloudStackを使用したことがあるので、このガイドをスキップする」押下
- 「インフラストラクチャ」押下
- ゾーンの「すべてを表示」押下
- 「+ゾーンの追加」押下
- 「基本」をチェック
- 「Next」押下
- 名前に「zone01」と入力
- DNS1に「192.168.11.1」と入力 ※publicネットワークのDNS(NAT)として
- 内部DNS1に「192.168.11.1」と入力 ※privateネットワークのDNS(NAT)として
- ハイパーバイザを「KVM」に変更
- 「Next」押下
- 管理の「Edit」押下
- KVMトラフィックラベルに「cloudbr0」と入力 ※privateネットワーク
- 「OK」押下
- ゲストの「Edit」押下
- KVMトラフィックラベルに「cloudbr0」と入力 ※publicネットワーク
- 「OK」押下
- トラフィックの種類上の「ストレージ」アイコンをドラッグしてPhysical Network 1の破線部内へドロップ
- ストレージの「Edit」押下
- KVMトラフィックラベルに「cloudbr0」と入力 ※storageネットワーク
- 「OK」押下
- 「Next」押下
- ポッド名に「pod01」と入力 ※privateネットワークの情報を設定
- 予約済みシステムゲートウェイに「192.168.11.1」を入力
- 予約済みシステムネットマスクに「255.255.255.0」を入力
- 予約済み開始システムIPアドレスに「192.168.11.121」を入力
- 予約済み終了システムIPアドレスに「192.168.11.140」を入力
- 「Next」押下
- ゲストゲートウェイに「192.168.11.1」を入力 ※publicネットワークの情報を設定
- ゲストネットマスクに「255.255.255.0」を入力
- ゲストの開始IPアドレスに「192.168.11.141」を入力 ※非DHCPなので4より上を適当に割り当てる
- ゲストの終了IPアドレスに「192.168.11.160」を入力
- 「Next」押下
- ゲートウェイに「192.168.11.1」と入力 ※storageネットワークセグメントで記述
- ネットマスクに「255.255.255.0」と入力
- VLANは空欄のままにする
- 開始IPアドレスに「192.168.11.161」と入力
- 終了IPアドレスに「192.168.11.180」と入力
- 「追加」押下
- 「Next」押下
- クラスタ名に「cluster01」と入力
- 「Next」押下
- ホスト名に「192.168.11.100」と入力 ※privateネットワークのIPアドレス
- ユーザ名に「root」と入力
- パスワードに「cloud」と入力
- ホストタグは空欄のままにする
- 「Next」押下
- 名前に「primary01」と入力
- プロトコルは「nfs」のままにする
- サーバーに「192.168.11.100」と入力 ※本来はホストのIPアドレスをstorageネットワークアドレスで記述
- Pathに「/export/primary」と入力
- ストレージタグは空欄のままにする
- 「Next」押下
- NFSサーバーに「192.168.11.100」と入力 ※本来はホストのIPアドレスをstorageネットワークアドレスで記述
- パスに「/export/secondary」と入力
- 「Next」押下
- 「Launch zone」押下 ※時間が少し掛かる
※ゾーンを有効化するかのダイアログが表示される
- 「はい」押下
※管理コンソール画面に戻る
- 右の「インフラストラクチャ」を押下
- 「更新」を押下
- システムVMの「すべてを表示」を押下
- 2つのVMが存在し、ステータスが両方「Running」になるまで待機(結構時間がかかる)
- 画面左の「テンプレート」を押下
- 「CentOS 5.5(64-bit) no GUI (KVM)」をクリック
- 準備完了欄が「Yes」となるまで待機(すこじ時間がかかる)
6. テスト
※Ubuntu Server12.04.2LTSのISOイメージを取り込み、インスタンスを起動するところまで
6.1 ISOイメージの取り込み
※管理コンソールが立ち上がり、adminでログイン済みの状態
- 画面左の「テンプレート」を押下
- 画面上のビューの選択を「ISO」に変更
- 画面右上の「+ISOの登録」を押下
- 名前欄に「Ubuntu Server 12.04.2 LTS」と入力
- 説明欄に「Downloaded YYYY/MM/DD」と入力
- URL欄に「http://release.ubuntu.com/12.04.2/ubuntu-12.04.2-server-amd64.iso」と入力 ※むちゃくちゃ遅かったので注意
ここではUbuntuサイトを指しているので、特にグローバル設定変更は不要。
もし192.168.11.100上にApache2をインストールしてローカルのHTTPサーバ
からダウンロードしたい場合は、
「secstorage.allowed.internal.sites」にCIDR表記でIP範囲指定する。
例えば「192.168.11.0/24」とすればよい。
- ゾーンは「All Zone」のままにする
- 起動可能はチェックのままにする
- OSの種類を「Ubuntu 12.04 (64-bit)」に変更する
- 抽出可能のチェックはないままとする
- パブリックをチェックする
- おすすめをチェックする
- 「OK」押下
- 「Ubuntu Server 12.04.2 LTS」をクリックする
- 準備完了欄が「Yes」になるまで待機(更新ボタンで再表示して確認する)
6.2 インスタンス作成
- 画面左の「インスタンス」を押下する
- 画面右上の「+インスタンスの追加」を押下
- ゾーンの選択は「zone01」のままとする
- ISOまたはテンプレートの選択は「ISO」をチェック
- 「次へ」押下
- おすすめタブのUbuntu Server 12.04.2 LTSがチェックされているままとする
- Hypervisorは「KVM」のままとする
- 「次へ」押下
- 「Small Instance」をチェックしたままにする
- 「次へ」押下
- 「Small」をチェックしたままにする
- 「次へ」押下
- 「default」をチェックする
- 名前(オプション)欄に「Test」と入力する
- グループへの追加(オプション)欄を空欄のままとする
- 「VMの起動」押下
- 画面左の「インスタンス」を押下する
- 「Test」をクリックし、詳細タブの一番上にアイコン群がならぶまで待機する
- アイコン群の右端のアイコン(コンソールの表示)をクリックする
- ※UbuntuのインストーラのLanguage選択が出ればOK、あとは継続するかは適宜
以上
【注意】
最初にも書きましたが、インスタンスまでは作成されますが
コンソール画面をひらくとエラーになります。
現在調査中です。
最初、1つのLANに複数のセグメントを混ぜようかと思ったが、
KVMかさねがけによるKMのNAT設定を使ったなんちゃってルーティングがないので
同一セグメントを切り分けして設定した。
cloudbr0というブリッジを1つ作成し、
192.168.11.2~192.168.11.65はそのままルータのDHCP割り当てさせておき、
192.168.11.121~192.168.11.140 を管理ネットワーク(private)に、
192.168.11.141~192.168.11.160をゲストネットワーク(public)に、
192.168.11.161~192.168.11.180をstorageネットワークに
固定IP領域をそれぞれに割り振る。
このため3つのネットワークの
デフォルトゲートウェイは192.168.11.1、
サブネットは255.255.255.0、
DNSサーバはNATなのでルータのLAN側IPアドレス192.168.11.1を
割り当てる。
やはりSecondary Storage VMで起動停止を繰り返す問題は、
渡しの場合ufwコマンドで設定するポートが足りなかったのだと思う。
0 件のコメント:
コメントを投稿