OpenStackで始めるクラウド環境構築入門 Havana&DevStack編

11,127 views

Published on

イベント名:オープンソースカンファレンス(OSC) 2013
講師:日本仮想化技術 宮原
日時:2013/12
アジェンダ:
• OpenStack概要
• OpenStack導入手順
– Ubuntu Server 11.10 インストールと設定
– 各種コンポーネント インストールと設定
– イメージ作成
– インスタンス起動
概要:
OpenStackはOSSで開発が行われているクラウド環境構築のためのソフトウェアです。本セッションでは、OpenStackの基本的な導入方法について分かりやすく解説します。 セッションを聴講するにあたり、仮想化環境構築の基本的な知識を身につけていることが前提となります。

Published in: Technology

OpenStackで始めるクラウド環境構築入門 Havana&DevStack編

  1. 1. OpenStackで始める クラウド環境構築入門 Havana対応版 日本仮想化技術株式会社 VirtualTech.jp
  2. 2. 日本仮想化技術株式会社 概要 • 社名:日本仮想化技術株式会社 • • • • • • • • • – 英語名:VirtualTech Japan Inc. – 略称:日本仮想化技術/VTJ ベンダーニュートラ 設立:2006年12月 ルな独立系仮想化技 資本金:2,000万円 術の 売上高:1億3,573万円(2013年7月期) 本社:東京都渋谷区渋谷1-8-1 エキスパート集団 取締役:宮原 徹(代表取締役社長兼CEO) 伊藤 宏通(取締役CTO) スタッフ:8名(うち、7名が仮想化技術専門エンジニアです) URL:http://VirtualTech.jp/ 仮想化技術に関する研究および開発 – – – – 仮想化技術に関する各種調査 仮想化技術に関連したソフトウェアの開発 仮想化技術を導入したシステムの構築 OpenStackの導入支援・新規機能開発 2
  3. 3. 仮想化環境構築をトータルサポート • 戦略立案 – 戦略立案 • コスト削減、社内標準化、将来プランのコンサルティ ング 設計 – 要求仕様の策定 – サーバ、ストレージからネットワークまでアプ リケーションまで考慮した設計最適化 – キャパシティプランニング(ベンチマーク) 設計 導入・移行 運用保守 • 導入 – 仮想化ソリューションパッケージの提供 – 仮想化統合(P2V既存環境移行) • 運用保守 – エンジニア教育 – 技術サポートの提供 – OSSソースコードレベルサポート ベンダーニュートラルなワンストップ・サポートをご提供 3
  4. 4. OpenStackへの取り組み • お客様向けOpenStack評価環境の構築 • ベアメタルOpenStackの開発 – 仮想環境と物理環境をOpenStackで一括管 理 – 単一のイメージで仮想マシンと物理マシン の双方を起動可能 – 2013年4月リリースのGrizzlyで本体にマー ジ • 某OpenStackクラウドサービス評価 4 – 機能検証・性能検証
  5. 5. ベアメタルOpenStackの特徴 従来のOpenStack クラウド クラウド クラウド サービスA サービスB サービスC ベアメタルOpenStack クラウド クラウド クラウド サービスA サービスB サービスC サーバ仮想化技術 を利用しない サーバ 仮想化 技術 物理サーバ群 状況に応じて 仮想/物理の 切替可能 5 物理サーバ群
  6. 6. EnterpriseCloud.jp • OpenStackで始める エンタープライズク ラウドの情報サイト • OpenStack導入手順 書のダウンロード • 各種プレゼン資料 • その他ブログ記事 6
  7. 7. OpenStack最新情報セミナー開催 中 • OpenStackに関する最新情報セミナーを開催 次回日程 • 日時:2014年2月6日(木) 14時〜(予定) 18時30分〜 • 内容:OpenStack環境構築入門(14時〜) HP Moonshot+ベアメタルOpenStack (18時30分〜) • 費用:無償 詳細はEnterpriseCloud.jpをご覧下さい 7
  8. 8. 本日のアジェンダ • OpenStackの概要 • OpenStack導入手順 – – – – Ubuntu Server 12.04.3のインストールと設定 DevStackによるOpenStackのインストール インスタンスの起動 Floating IPによる外部接続設定 まずはOpenStackを体験してみたい人向け 8
  9. 9. OpenStackの概要
  10. 10. OpenStack概要 Web管理画面 仮想マシン ネットワーク ストレージ IaaS環境を実現するソフトウェアスタック 10
  11. 11. OpenStack構成図 MQやRESTで相互接続 11
  12. 12. OpenStackの構成要素(1) • Nova – コンピュータ(計算機)インフラ – 仮想マシンやネットワークを管理 • Swift – オブジェクトストレージ • Glance – イメージ管理 – 仮想マシンのイメージを登録 12
  13. 13. OpenStackの構成要素(2) • Quantum → Neutron – 仮想ネットワークインフラを提供 • Horizron – Dashboardとも呼ばれる – Web管理インターフェース • Keystone – 認証系サービス – Identity/Token/Catalog/Policy • Cinder – ブロックストレージを提供 13
  14. 14. OpenStackの構成要素(3) Havanaから追加されたコンポーネント • Ceilometer – 雲高計・雲量計 – クラウドリソースの利用量を計測するAPI – 課金システムと連動させる • Heat – 自動化を支援するAPI – ChefやPuppetとも連動 – AWS CloudFormationと互換性 14
  15. 15. Novaの主なコンポーネント • API Server ( nova-api ) – 外部にAPIを提供 • Message Queue ( rabbit-mq server ) – 各コンポーネントへの通信をキューイング • Compute Workers ( nova-compute ) – インスタンスの管理 • Network Controller ( nova-network ) – ネットワークの管理 • Volume Worker ( nova-volume ) – ボリュームの管理 • Scheduler ( nova-scheduler ) – API呼び出しのコンポーネントへの割り当て 15
  16. 16. 今回の方針 • Ubuntu Server 12.04.3LTSをベースに構 築 • DevStackを使ってOpenStackを動かす • すべてを1台でまかなう – 必要に応じて複数台での構成も可能 • Floating IPで外部からインスタンスに接 続できるようにする • 今回はNeutron,Ceilometer,Heatは未使用 16
  17. 17. DevStackとは • OpenStackの開発環境を容易に構築できるシェ ルスクリプト群 – http://devstack.org/ – 動作検証目的でも十分利用可能 – All in Oneや複数Novaノードなど各種形態 • 必要となるパッケージをaptで自動インストー ル • gitリポジトリからOpenStackの各種ファイルを 取得 • 一般ユーザー権限で実行する点に注意 – root権限はsudo呼び出しで実行 17
  18. 18. Ubuntu Server 12.04.3の インストールと設定
  19. 19. Ubuntu Server 12.04.3のインストールと設 定 1. ベースOSとしてのインストール – Englishでインストールする – ロケールをUnited Statesに設定する – KVMを有効にしておく 2. デスクトップ環境のインストール 3. 仮想マシンマネージャーのインストー ル 4. IPアドレスの設定 – 固定IPアドレスに設定 19
  20. 20. ベースOSとしてのインストー ル 1. インストール時に以下のコンポーネントを追 加でインストールしておく – OpenSSH server – Virtual Machine host 2. デスクトップ環境のインストール # apt-get update # apt-get upgrade # apt-get -y install ubuntu-desktop 3. システムの再起動 4. 仮想マシンマネージャーのインストール # apt-get -y install virt-manager 20
  21. 21. 固定IPアドレスの設定 1. /etc/network/interfacesの編集 auto eth0 iface eth0 inet static address 192.168.1.100 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 1. networkingサービスの再起動 # /etc/init.d/networking restart 21
  22. 22. 各種コンポーネントの インストールと設定
  23. 23. 各種コンポーネントのインストールと設 定 1. gitのインストール 2. DevStackのソースを取得 3. DevStackの設定 – localrcの作成 4. stack.shの実行 23
  24. 24. gitのインストール • DevStackのソースを取得するためにgit をインストールする $ sudo apt-get update $ sudo apt-get -y install git 24
  25. 25. DevStackのソースを取得 1. githubよりDevStackを取得 $ cd ~ $ git clone https://github.com/openstack-dev/devstack.git $ cd devstack/ 2. 安定版のHavanaを使うようにブランチを設定 $ git checkout -b havana remotes/origin/stable/havana 3. ブランチの設定が完了すると以下のメッセージを 表示 Branch havana set up to track remote branch stable/havana from origin. Switched to a new branch ’havana' 25
  26. 26. ~/devstack/localrcの設定 ~/devstack/localrcに様々な設定を記述 1. OpenStackのインストール先 2. adminのパスワード 3. MySQLのパスワード 4. Floating RangeのIP範囲の設定 5. Fixed RangeのIP範囲の設定 26
  27. 27. Fixed IPとFloating IPの仕組み ① FIXED_RANGEで 割り当てられる。 サービ ①同士は通信でき インスタン ス るが、③とは通信 ス できない ① ① ② FLOATING_RANG ② Eで割り当てられ る。実際には②と ①との間で静的 ③ クライアント NATを行ってい る。 ③→②→①と繋が 27 る
  28. 28. localrcの作成 DEST=/opt/stack ADMIN_PASSWORD=openstack MYSQL_PASSWORD=openstack RABBIT_PASSWORD=openstack SERVICE_PASSWORD=openstack SERVICE_TOKEN=tokentoken FLOATING_RANGE=192.168.1.224/27 FIXED_RANGE=10.0.0.0/24 FIXED_NETWORK_SIZE=256 FLAT_INTERFACE=eth0 28 ※次のページに続く
  29. 29. stack.shの実行 • stack.shを実行 $ cd ~/devstack $ ./stack.sh • 環境の構成が行なわれる – – – – localrcに指定した構成でインストール開始 sudoコマンドを呼び出す(要パスワード) 必要なパッケージを自動でインストール 構成に時間がかかる(デモ環境で40分程 度) • 2回目で5分半ぐらい(Essexより長くなっ 29 た!)
  30. 30. インストールが成功すると Horizon is now available at http://192.168.1.100/ Keystone is serving at http://192.168.1.100:5000/v2.0/ Examples on using novaclient command line is in exercise.sh The default users are: admin and demo The password: openstack This is your host ip: 192.168.1.100 stack.sh completed in 2470 seconds. 30
  31. 31. iptablesの追加設定 • DevStackのバグ?でインスタンスに Fixed IPが割り当てられない – ゲストOSがDHCPでFixed IPを取得しよう とするが「bad udp cksum」でエラーになる – 今後ネットワークはNeutron+Open vSwitch になるので直されることは無いかも? • 以下のiptablesコマンドを実行 – $ sudo iptables -A POSTROUTING -t mangle -p udp --dport 68 -j CHECKSUM -checksum-fill 31
  32. 32. Web管理インターフェースへの接 続 • テスト用にイメージが既に登録されて いる – CirrOSが動作する • Web管理インターフェイス(Horizon)に アクセスするとインスタンスの作成な どが行なえる – http://192.168.1.100/ – ユーザー名:admin – パスワード:openstack 32
  33. 33. Horizon 認証画面 33
  34. 34. Horizon インスタンス画面 34
  35. 35. インスタンスの起動 • 「プロジェクトタブ」をクリック • 「イメージとスナップショット」をク リック • 起動したいイメージのアクションから 「起動」をクリック • インスタンス名を入力 • 「起動」をクリック 35
  36. 36. インスタンス起動画面 36
  37. 37. いくつかTips • DevStackを停止する方法 – $ ./unstack.shを実行 – 仮想マシンのインスタンスは実行されたま ま • インターネット接続無しで起動する – 最低でも初回はインターネット接続が必要 – $ OFFLINE=True ./stack.shとして実行 • stack.shの中身を読むと色々書いてある 37
  38. 38. Floating IPとセキュリティ設定 38
  39. 39. Floating IP 概要 • Floating IPを利用することで外部から インスタンスへアクセス可能 1. Floating IPを発行 2. インスタンスにFloating IPを割当 3. セキュリティグループを設定して、ア クセスに必要なポートを開放 – SSH接続なら22/TCP など
  40. 40. Floating IPを発行 1. 2. 3. 4. 5. 6. 7. 「プロジェクト」タブをクリック 「アクセスとセキュリティ」をクリック 「Floating IP」タブをクリック 「Floating IPの確保」をクリック 「プール」を選択(ここではpublic) 「IPの確保」をクリック IPアドレスが割り当てられたことを確認 40
  41. 41. Floating IPを割り当て 1. 「プロジェクト」タブをクリック 2. 「インスタンス」をクリック 3. 割り当てたいインスタンスのアクションか ら「Floating IPの割り当て」を選択 4. Floating IPが割り当てられたことを確認 41
  42. 42. セキュリティグループの設定 • セキュリティグループを設定し、必要な ポートを開ける – defaultセキュリティグループは全てのポート が閉じた状態 • 「アクセスとセキュリティ」をクリック • defaultセキュリティグループのアクション から「ルールの編集」をクリック • 「ルールの追加」をクリック • ルール、パラメータを入力して「追加」を クリック 42
  43. 43. ポート開放例 • Web(HTTP,HTTPS)、SSH、ICMPす べてを許可 43
  44. 44. Pingを発行 $ ping 192.168.1.226 PING 192.168.1.226 (192.168.1.226): 56 data bytes 64 bytes from 192.168.1.226: icmp_seq=0 ttl=63 time=1.015 ms 64 bytes from 192.168.1.226: icmp_seq=1 ttl=63 time=1.233 ms 64 bytes from 192.168.1.226: icmp_seq=2 ttl=63 time=1.484 ms ^C --- 192.168.1.226 ping statistics --3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 1.015/1.244/1.484/0.192 ms 44
  45. 45. インスタンスにSSH接続 $ ssh cirros@192.168.1.226 The authenticity of host '192.168.1.226 (192.168.1.226)' can't be established. RSA key fingerprint is c0:50:ba:99:35:e7:a7:1c:e8:f3:0b:10:67:ed:7f:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.226' (RSA) to the list of known hosts. cirros@192.168.1.226's password: cubswin:) $ uname -a Linux cirros 3.2.0-37-virtual #58-Ubuntu SMP Thu Jan 24 15:48:03 UTC 2013 x86_64 GNU/Linux $ ifconfig eth0 eth0 Link encap:Ethernet HWaddr FA:16:3E:76:8B:4B inet addr:10.0.0.2 Bcast:10.0.0.255 Mask:255.255.255.0 45
  46. 46. いくつかの宿題 • Neutronを利用した仮想ネットワークの構 築 – openvswitch-datapath-dkmsのインストールが失 敗 – UbuntuのカーネルバージョンとOpen vSwitchの バージョンの不整合周りを検証していて時間 切れ • 複数台によるOpenStack環境の構成 – nova-computeノードを複数台 • Ceilometer、Heatのインストール 46 • DevStackを使わないインストール
  47. 47. 仮想化について相談したい 無料コンサルティング実施中 • 既存環境を仮想化移行する概要設計 • 他社提案に対する「セカンドオピニオ ン」 • もちろんOpenStack構築・カスタマイズ お気軽にお問い合わせください も 47
  48. 48. お問い合わせ先 「仮想化環境を構築したいが、どこに相談すればいい の?」 「OpenStackのサポートしてくれる会社はないの?」 まずは我々にご相談ください http://VirtualTech.jp/ sales@VirtualTech.jp 03-6419-7841 48

×