iOSS

オープンソースをもっと身近なものに

Posted on by hagix9


StackOpsはOpenStackのNovaを構築するためのベアメタル・ディストリビューションです。
インストールするまで気づかなかったのですがまだ最新版でもDiabloベースです。
って言ってたのですが気づいていなかっただけで昨日(2012/9/11)最新版がリリースされておりEssexベースになってました。
もしかして一番良くできているOpenStackディストリビューションなのかも知れません。

①StackOpsのインストール
apt-getなども利用できUbuntuをベースとしてカスタマイズされたディストリビューションみたいです。
http://sourceforge.net/projects/stackops/
からダウンロードできます。
仮想マシンで利用してみました。
Ubuntu12.04のKVMはネスト出来ますので検証レベルなら問題ありません。

1.仮想マシンイメージの作成
nova-volumeが利用する論理ボリュームnova-volumesはパーティションの作成部分でなくあとで付け足すようにします。

$ sudo qemu-img create -f qcow2 /opt/virt/kvm/stackops.img 32G
$ sudo qemu-img create -f qcow2 /opt/virt/kvm/stackops-volumes.img 50G

2.仮想マシンをStackOpsのイメージで起動
VNCで接続してインストールします。
ポートはデフォルトである5900ですので仮想マシン起動後は5900ポートへ接続してインストールしていきます。

$ sudo virt-install \
--noautoconsole \
--vnc --vnclisten=0.0.0.0 \
--connect=qemu:///system \
--accelerate \
--name=stackops \
--ram=4096 \
--vcpus=1 \
--network bridge:br0,model=virtio \
--sound \
--os-type=linux \
--os-variant=virtio26 \
--cdrom=/mnt/stackops-0.6-b1448-d20120911.iso \
--disk path=/opt/virt/kvm/stackops.img,format=qcow2,cache=writeback

キーボードがデフォルトでは英語版なので日本語を選択するように2番目のメニューで選びます。

Ubuntuと同じく完全では無いと出ますが特に問題ありません。

StackOpsをインストールするマシンのIPアドレスを設定していきます。

パーティションの設定
追加ディスクにnova-volumesを作成するためここではディスク全体をStackOpsに利用するようにします。

あとは、待機していればインストールが自動的に完了します。

電源が停止するのでディスクの追加を行います。

$ sudo virsh edit stackops
<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='writeback'/>
  <source file='/opt/virt/kvm/stackops-volumes.img'/>
  <target dev='vdb' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>

マシンの電源を投入します。
ユーザ名root、パスワードstackopsでログインします。

$ sudo virsh start stackops
$ ssh stackops

マシンの電源投入後VGをnova-volumesという名前で作成します。

# fdisk /dev/vdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルをディスク識別子 0x3290da83 で作成します。
あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。

警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-104025, 初期値 1):
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-104025, 初期値 104025):
初期値 104025 を使います

コマンド (m でヘルプ): t
選択した領域 1
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

# fdisk -lu /dev/vdb

ディスク /dev/vdb: 53.7 GB, 53687091200 バイト
ヘッド 16, セクタ 63, シリンダ 104025, 合計 104857600 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x3290da83

デバイス ブート 始点 終点 ブロック Id システム
/dev/vdb1 63 104857199 52428568+ 8e Linux LVM

# apt-get install lvm2 -y
# pvcreate /dev/vdb1
Physical volume "/dev/vdb1" successfully created
# vgcreate nova-volumes /dev/vdb1
Volume group "nova-volumes" successfully created
# vgdisplay nova-volumes
  --- Volume group ---
  VG Name               nova-volumes
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               50.00 GiB
  PE Size               4.00 MiB
  Total PE              12799
  Alloc PE / Size       0 / 0
  Free  PE / Size       12799 / 50.00 GiB
  VG UUID               PSxM9S-qAka-CQiI-BZQI-YaId-0uGQ-2VoEza

②OpenStackのインストール
ディスクの追加後StackOpsを利用してOpenStackをインストールします。
WebUIで全てできます。CUIでログインする場合はSSHでユーザ名root、パスワードはstackopsです。

まずWebUIにログインするにはStackOpsへの登録が必要ですので登録します。
WebUIへのログイン方法は http://サーバIPアドレス(もしくはホスト名):8888
とサーバの8888ポートへ接続します。
Registerを押下して必要な情報を登録しましょう。

その後その情報でログインします。
ログイン後にどういうOpenStackの構成にするか訪ねてきますので設定する構成を決めてその構成のStart developmentを押下します。
ここでは仮想マシン一台だけのためSingle Nodeを選びました。
難しい構成の場合は購入する必要があるみたいです。

ハードウェア情報が出力されますが特に何も変更することは無いのでそのまま次へ行きます。

ソフトウェア構成?ネットワーク構成だと思いますがこちらも特に何も変更できないため次へ行きます。

パブリックネットワーク用のインターフェースを設定する項目が出てきますがこちらもNICが一枚のため特に何も選ばず次へ行きます。

Horizonを利用するかどうかを選び次へいきます。
最初からチェックが入っていますので特に何もすることはありません。

Novaが利用するネットワーク構成などの設定変更を行う前の画面が出力されます。次へ行きます。

フローティングIPアドレスだけ設定する必要があります。
フローティングIPはNovaで構築した仮想マシンが外部から接続出来るようにするための外部IPアドレスです。
ここでは192.168.10.112/28としました。ほかは特に設定しなくても問題ないと思います。

nova-volumeが利用するパーティションを選択します。
先ほど追加した外部ディスクを選択して次へ行きます。

仮想化タイプを何にするかを設定します。kvmとqemuしか選べません。
devstackもそうですがlxcは何で選べないんでしょうかね。
特にKVMで問題ないためそのまま次へ行きます。

ゾーンの情報を入力します。
わかり易い名前であれば何でもいいと思います。入力後次へ行きます。

設定が全て終わったので後は作成ボタンをおして待っていればOpenStackが出来上がります。

あとはHorizonに接続できるようになっていますのでユーザ名admin、パスワードpasswordで接続してみましょう。
とそのまえに何だかglance-registryが起動していなかったので端末でログインしてstart glance-registryしておきましょう。

但しイメージやセキュリティ、鍵などは何も設定されていませんのでその辺はOpenStackの使い方をある程度知ってる必要があります。
あと、いつも思いますがイメージのコンポーネントみたいなのは必要ないんですかね。
え?無いならオープンソースだし作れと。。

Posted on by hagix9 | Posted in 未分類


コメントを残す

メールアドレスが公開されることはありません。