6月5日に、
OpenStack最新情報セミナー(2014年6月)
『OpenStack環境構築入門』&『Cinder/Swift/Ceph OpenStackでのストレージ活用法』
に行って来た!
まずは、昼の部のいちばんはじめ
OpenStack環境構築入門
から
・2014年になってOpenStack構築増えている
・手順書のダウンロードも増えている
・3台構成でつくる
・EnterpriseCloud.jp
・第5回 ビデオもアップする(今後も)
・たまおきのOpenstackWatch(以前、クラウドwatch)
・ベアメタルOpenStack
従来:仮想マシンの管理
物理サーバーを丸ごと使う:ベアメタル
・次期バージョンIceHouseに取り入れられた
→Ironic
→従来は仮想マシン、今、インフラ
TripleO(OpenStack on OpenStack)
→統合環境に
・最近のOpenStack
IaaSはもちろん
PaaSも
Macaroni:メッセージサービス
DBaaS
Hadoop(ビッグデータ)Sahara(旧Savanna)
・最近やっていること
OpenStackデプロイツールの評価検証
UbuntuのJuJu/MaaSを使ったOpenStack環境
RDOを使ったOpenStack環境構築
IceHouse導入手順書の作成
Havanaと手順がかなり変わった
相変わらずNeutron周りが・・
DevStackの検証
最近、ネットワークがうまくつながらなくなった
→Havana入れないとIceHouseはわかんないかも?
本日のアジェンダ
・OpenStackの概要
・環境設計入門
・Ubuntu
・Keystone(勘所1)
・Neutron(勘所2)
OpenStackの概要
・IaaS環境を実現するソフトウェアスタック
仮想マシン
ネットワーク
ストレージ
→クラウドOS
・OpenStack構成図
MQやRESTで相互接続
docs.openstack.org
疎結合
→スケールアウトできる
今回の設計の方針
・ubuntu server 12.04LTS
・3ノード
コントローラ
ネットワーク(Neutron+open vSwitch)
仮想マシンインスタンス(Nova compute+Open vSwitch)
仮想環境ではOpen vSwitchが広まっている
環境設計入門編
考慮点
・ネットワーク構成
物理設計
論理設計(Open vSwitch,OpenFlow、従来のvlanだとタグ足りない
・ストレージ構成
マスタイメージ管理(Glance)
ブロックストレージ管理(Cinder+外部ストレージ)
共有ストレージ領域の準備(NFSなど)
オブジェクトストレージの利用(swift)
・ネットワークは2系統
管理系「eth0」
サービス系「eth1」
GREトンネリング
Floating IP
・FixedIP とFloating IPの組み合わせ
→逆方向のNAT
仮想スイッチに入る
br-int(インテグレーション)されている。
Ubuntu Server
・注意点
英語で入れている(キーボードはJapanese)
特別なものは入れなくていい
→KVMも入る。OS標準を入れるとおかしくなる
Primary:eth1(外に出れるのを振ったほうがいいから)
sysctl.confの編集
aptの設定
Pythonクライアント
→3つ仮想マシンをつかうとやりやすい
Keystone
・OpenStackのアカウント構造
テナント→従来プロジェクト
ゆーざー:テナントに所属
権限:ロール
admin,service
一般:memberロール
→policy.jsonに
RESTfulAPI いきさき endpoint
adminAPI,internalAPI,publicAPI
1.keyStoneにサービスとendpointの作成
2.各設定ファイル内
Policy.json
ポリシー:[["ルール"]]
ポリシー:操作とルール
ルール:ロール、フィールド、一般
Neutronの勘所
・各ノードに合わせたパッケージの導入
長いクラス名
プラグインアーキテクチャ:ドライバという考え方
ファイヤーウォールも
動作でも
horizon
インスタンス
・IPアドレスで失敗すると、意味なくなる
・アクション→フローティングIP割り当て
ログを確認するが、ログをきれいにしておく
Glance
is-public=true フォーマットはqcow2
→ephemeral(きえてしまう)場合
qemu-img info disk
インスタンス終了→消えている
→ディスクファイルを残したい場合Cinder
tgt:iscsiをソフトウェアで
iscsid
公式OSイメージのダウンロード
cloud-initを導入すると良い
→それ以上だとheat,Chef,Puppet
イメージ格納要ボリュームの作成
pvcrate /dev/sdb
vgcreate cinder-volume /dev/sdb
neutron
br-exがない→ovs-vsctlであとでつくる
ovs-vsctl show