OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

12,009 views
11,877 views

Published on

Published in: Technology
0 Comments
34 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,009
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
570
Comments
0
Likes
34
Embeds 0
No embeds

No notes for slide

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

  1. 1. OpenStackクラウド基盤構築ハンズオンセミナー 第1日 講義資料 No.1 Ver1.2 2014/02/11 1 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  2. 2. 第1日 講義資料 No.1 目次 ■ OpenStackのこれまで ■ OpenStackの機能概要 ■ セキュリティ機能とストレージ機能 ■ プロジェクト管理機能 ■ OpenStackの特徴と主要コンポーネント ■ 演習環境におけるサーバ配置 ■ (参考)All-in-one構成のインストール手順と初期設定の概要 注意:本テキストで扱うOpenStackは、RDO(Grizzly)がベースとなります。 2 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  3. 3. 第1日 講義資料 No.1 OpenStackのこれまで 3 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  4. 4. 第1日 講義資料 No.1 OpenStackとは? ■ OpenStackは、Amazon EC2/S3相当のクラウドインフラを構築するためのオープン ソースソフトウェアです。 - マルチテナント型のIaaS (Infrastructure as a Service) 環境を提供します。 - 類似のオープンソースには、CloudStack、Eucalyptusなどがあります。 ■ 2010年末に「米RackSpace社」と「NASA」が共同で、OpenStackプロジェクトを立ち あげて、開発をスタートしました。 - RackSpaceが自社開発で利用していた「Swift」(S3相当の機能を提供)とNASAが作りかけて いた「Nova」(EC2相当の機能を提供)をオープンソース化して提供して、それらをベースにコ ミュニティモデルでの開発を開始しました。 単なる仮想化管理ツールではなく、 「パブリッククラウドと同等の機能」を 実現することがOpenStackの目的 4 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  5. 5. 第1日 講義資料 No.1 これまでの開発状況 ■ ■ これまで、年に2〜3回程度のメジャーバージョンアップが行われています。 当初は、RackSpace社が開発を主導していましたが、2012年にOpenStackの開発を支 える公式の非営利団体である「OpenStack Foudation」が設立されました。 「最低限動くもの」を 目指して地道に開発 Bexar Diablo 2011/02/03 2010/10/21 Folsom 2011/09/22 2011 Austin OpenStack Foudation設立 2012/09/27 2012 Cactus 2011/04/15 Havana 2013/10/17 2013 Essex 2012/04/05 2014 Grizzly 2013/04/04 EC2/S3相当機能がほぼ完成 5 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  6. 6. 第1日 講義資料 No.1 (参考) OpenStack Foundation設立のニュース記事 http://sourceforge.jp/magazine/12/04/13/0359223 6 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  7. 7. 第1日 講義資料 No.1 OpenStack Foundation Platinum Members (2014/01の情報) https://www.openstack.org/join 7 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  8. 8. 第1日 講義資料 No.1 OpenStack開発への貢献企業 開発者の所属企業別の OpenStack Havana変更数 開発者の所属企業別の OpenStack Havana問題解決数 http://activity.openstack.org/dash/releases/index.html?data_dir=data/havana 8 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  9. 9. 第1日 講義資料 No.1 OpenStackディストリビューション ■ コミュニティで開発されたOpenStackのソースコードを元にして、独自のインストーラ を組み合わせて簡単にインストールできるようにパッケージ化された「OpenStackディ ストリビューション」があります。 - 複数の企業/団体から、いくつかのディストリビューションが提供されています。 ■ 開発者向けのOpenStackディストリビューション - DevStack : 最新のソースコードをダウンロードしてOpenStack環境を構成するシェルスクリプ ト群が提供されています。 ■ その他の無償で利用できるOpenStackディストリビューション - Debian Linux、openSUSE、Ubuntu Linux : OpenStackパッケージを標準で同梱 - RDO : Red Hatが提供するRHEL / Fedoraで利用可能なディストリビューション 9 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  10. 10. 第1日 講義資料 No.1 RDOの紹介 ■ RDOは、RHEL/FedoraでOpenStackを利用するユーザのコミュニティです。 ■ 主な活動内容 - RHEL/Fedora用のRPMパッケージを提供 ● http://repos.fedorapeople.org/repos/openstack/ - Puppetベースのインストーラ「Packstack」を提供 - QAフォーラムを運営(Red Hatの開発者が回答してくれることもあります。) OpenStackを創る人々 のコミュニティ RHEL/FedoraでOpenStackを 使う人々のコミュニティ OpenStack Foundation http://openstack.redhat.com 10 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  11. 11. 第1日 講義資料 No.1 OpenStackの機能概要 11 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  12. 12. 第1日 講義資料 No.1 OpenStackが提供するコンピューティング環境 ■ OpenStackユーザ OpenStackのユーザは、Webコンソール やREST APIを用いて、次のようなコン ピューティングリソースを利用します。 外部ネットワーク - 仮想ネットワーク - 仮想マシンインスタンス プロジェクト環境 - ブロックボリューム ■ 仮想ルータ 各ユーザは特定の「プロジェクト」に所 属します。 仮想スイッチ - プロジェクト内でリソースを共有します。 - プロジェクト全体でのリソース使用量の上 限設定、リソース使用状況のレポーティン グなどが可能です。 OS領域 データ領域 仮想マシンインスタンス ブロックボリューム 12 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  13. 13. 第1日 講義資料 No.1 OpenStackの仮想ネットワークモデル ■ プロジェクトごとに仮想ルータを用いて、プライベートなネットワークを構成します。 - 仮想ルータの背後に任意の数の仮想スイッチを作成して、接続します。 - それぞれの仮想スイッチは、プライベートIPの独立したサブネットを持ちます。 ■ 仮想マシンインスタンス起動時に、接続する仮想スイッチを選択します。 - DHCPでプライベートIPアドレスが割り当てられます。 - 同じプロジェクトの仮想マシンインスタンス間は、プライベートIPで通信できます。 外部ネットワーク プロジェクトA 仮想ルータ 仮想スイッチ 192.168.101.0/24 プロジェクトB 仮想ルータ 仮想スイッチ 192.168.102.0/24 13 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  14. 14. 第1日 講義資料 No.1 プライベートIPとフローティングIP ■ 外部ネットワークと通信する際は、仮想マシンインスタンスに「フローティングIP」を 割り当てます。 - 外部ネットワークのサブネット上で、フローティングIPとして利用可能なIPアドレスをプールし ておきます。 - 仮想ルータ上で、フローティングIPとプライベートIPのNATが行われます。 - フローティングIPを割り当てない場合でも、仮想マシンインスタンスから外部ネットワークへの 接続は可能です。(仮想ルータのIPアドレスを代表IPとして、マスカレード接続します。) 外部ネットワークからは フローティングIPで接続 フローティングIP プライベートIP Webサーバ インスタンス同士は プライベートIPで接続 プライベートIP DBサーバ 14 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  15. 15. 第1日 講義資料 No.1 仮想マシンインスタンスの起動 ■ 仮想マシンインスタンスを起動する際は、次の項目を指定します。 - インスタンスタイプ 外部ネットワーク - テンプレートイメージ (*) - 接続する仮想ネットワーク - セキュリティグループ - キーペア 形式 説明 raw フラットなイメージファイル AMI/AKI/ARI Amazon EC2が利用する形式 qcow2 Linux KVMが利用する形式 VDI VirtualBoxが利用する形式 VMDK VMwareが利用する形式 VHD Hyper-Vが利用する形式 セキュリティグループ 複数ネットワーク 接続も可能 テンプレートとしてインポート可能なイメージ形式 テンプレート イメージ 複製 OS領域 15 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  16. 16. 第1日 講義資料 No.1 テンプレートイメージの準備方法 (1) ■ Oz(仮想マシンイメージの作成に特化したOSインストールツール)で作成する - OpenStack用イメージ作成のデファクトツール - https://github.com/clalancette/oz/wiki ■ ディストリビューション標準のテンプレートイメージを利用 - FedoraのOpenStack対応イメージ - http://fedoraproject.org/en/get-fedora-options#clouds 16 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  17. 17. 第1日 講義資料 No.1 テンプレートイメージの準備方法 (2) ■ Red Hat Enterprise Linux (RHEL)では、RHEL6.4より、OpenStackで利用可能なテン プレートイメージが提供されています。 - これをダウンロードして、OpenStackに登録することで、すぐにRHELの仮想マシンを起動する ことができます。 17 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  18. 18. 第1日 講義資料 No.1 メモとしてお使いください 18 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  19. 19. 第1日 講義資料 No.1 セキュリティ機能とストレージ機能 19 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  20. 20. 第1日 講義資料 No.1 セキュリティグループによるフィルタリング ■ 仮想マシンインスタンスの受信パケットを「セキュリティグループ」でフィルタリング します。 - セキュリティグループを作成して、「プロトコル、宛先ポート、送信元IP」などの条件で受信を 許可するパケットを指定します。 - 仮想マシンインスタンス起動時に適用するセキュリティグループを指定します。 TCP22番は任意の IPから受信許可 Pingは192.168.0.0/16 からのみ許可 セキュリティグループ「Development」の 仮想マシンインスタンスからは任意のTCP接続を許可 20 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  21. 21. 第1日 講義資料 No.1 キーペアによるSSHログイン認証 ■ 事前に公開鍵を登録しておき、仮想マシンインスタンス起動時にゲストOSに埋め込み ます。 - 公開鍵の登録は、ユーザ個別に行います。複数ユーザでキーペアを共有する形にはなりません。 仮想マシンインスタンス ③秘密鍵で認証 秘密鍵 公開鍵 ②公開鍵をゲストOSに埋め込み ①公開鍵を事前に登録 ユーザ情報データベース 21 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  22. 22. 第1日 講義資料 No.1 インスタンスタイプとディスク領域の関係 ■ デフォルトで用意されるインスタンスタイプは次のようになります。 - ルートディスクは、テンプレートイメージを複製した後に指定のサイズまで拡張されます。 (m1.tinyでは拡張しません。) インスタンスタイプ メモリ ルート ディスク 一時 ディスク スワップ ディスク m1.tiny 1 512MB 0GB 0 0 m1.small 1 2GB 20GB 0 0 m1.medium 2 4GB 40GB 0 0 m1.large 4 4GB 80GB 0 0 m1.xlarge ■ 仮想CPU 8 8GB 160GB 0 0 管理者ユーザは任意のインスタンスタイプを定義することができます。 - 一時ディスクとスワップディスクを与えると、ゲストOSからは下図のように認識されます。 - これらのディスク領域は、仮想マシンインスタンスを停止するとすべて破棄されます。(永続保 存が必要なユーザデータは、ブロックボリュームに保存します。) NAME vda └─vda1 vdb vdc MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 252:0 0 20G 0 disk 252:1 0 20G 0 part / 252:16 0 5G 0 disk /mnt 252:32 0 1G 0 disk [SWAP] ルートディスク 一時ディスク スワップディスク 22 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  23. 23. 第1日 講義資料 No.1 仮想マシンインスタンスのスナップショット ■ 仮想マシンインスタンスの「スナップショット」により、ルートディスクを複製して保 存することができます。 インスタンスの スナップショット テンプレートイメージ スナップショットから 仮想マシンインスタンス起動 テンプレートイメージから 仮想マシンインスタンス起動 OS領域 OS領域 ルートディスクを複製して スナップショットを作成 23 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  24. 24. 第1日 講義資料 No.1 ブロックボリュームの使い方 ■ ブロックボリュームは、仮想マシンインスタンスを停止してもそのまま残るので、永続 的なデータ保存領域として使います。 OS領域 データ領域 OS領域 他の仮想マシンインスタンスに 再接続可能(同時接続は不可) データ領域 ②仮想マシンインスタンスに 接続してデータ領域として使用 ④スナップショットを複製して 新たなブロックボリュームを作成 ①新規ブロックボリュームを作成 ③スナップショット作成 24 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  25. 25. 第1日 講義資料 No.1 ブロックボリュームからのOS起動 ■ ブロックボリュームにゲストOSをインストールして、ブロックボリュームから仮想マ シンインスタンスを起動することも可能です。 - 仮想マシンインスタンスを停止しても、OS領域への変更が破棄されずに残ります。 - スナップショットを作成しておき、仮想マシンインスタンスを起動するタイミングで、スナップ ショットから新しいブロックボリュームを用意することも可能です。 OS領域 仮想マシンインスタンスに 接続してゲストOS起動 テンプレート イメージ OS領域 テンプレートイメージを複製して ブロックボリュームを作成(*) OS領域 複製 OS領域 スナップショット作成 25 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  26. 26. 第1日 講義資料 No.1 メモとしてお使いください 26 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  27. 27. 第1日 講義資料 No.1 プロジェクト管理機能 27 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  28. 28. 第1日 講義資料 No.1 新規プロジェクト / ユーザの作成 28 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  29. 29. 第1日 講義資料 No.1 プロジェクト単位のリソース使用レポート 現在の使用量 指定月の累計 29 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  30. 30. 第1日 講義資料 No.1 プロジェクト全体でのリソース使用量の上限 30 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  31. 31. 第1日 講義資料 No.1 OpenStackの特徴と主要コンポーネント 31 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  32. 32. 第1日 講義資料 No.1 OpenStackの主要コンポーネント ■ OpenStackでは、機能別にソフトウェアをモジュール化して開発が進められています。 - Swift : オブジェクトストレージ ● ファイル単位で出し入れするだけの単純なファイルストア - Nova : 仮想マシンの配置決定と起動・停止処理 - Glance : 仮想マシンイメージの管理 ● バックエンドにSwift、その他のストレージを使用 - Cinder : ブロックボリュームの提供 ● サンプル実装では、Linux LVM + iSCSIソフトウェアターゲットを使用 ● 外部のストレージ装置をバックエンドにすることも可能 - Keystone : 統合認証機能 - Neutron : 仮想ネットワーク管理機能(Quantumから改名) ● 仮想ネットワークの作成を外部のプラグインモジュール(SDN製品)に移譲 ● 標準提供のプラグインでは、Linux bridge、もしくは、Open vSwitchを使用 - Horizon : GUIコンソールのサンプル実装 32 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  33. 33. 第1日 講義資料 No.1 コンポーネント間の連携処理 ■ Webコンソールで操作をすると、REST API経由で各モジュールに指示が飛びます。ま た、クライアントは、各モジュールのREST APIを直接操作することも可能です。 - これにより、プログラムコードからの呼び出しによる環境操作の自動化が可能になります。 クライアントPC パブリックネットワーク テンプレート イメージ保存 Webコンソールアクセス テンプレート イメージ検索 Network Node 仮想ネットワーク作成 Swift Glance Horizon Neutron Nova Nova Nova Nova Compute Compute Compute 管理ネットワーク 仮想マシン イメージ テンプレート ダウンロード Keystone 認証サーバ QPID 仮想マシン起動 MySQL メッセージキュー データベース ブロックボリューム提供 (iSCSI) Cinder LUN LUN LUN 33 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  34. 34. 第1日 講義資料 No.1 OpenStackの特徴 ■ APIで操作する「Programmable Infrastructure」の提供 - 既存のGUI・ワークフローに縛られたくないユーザ層の獲得 - プログラムによるインフラ環境の自動構築・変更に対応 ■ スケーラビリティを意識した疎結合アーキテクチャ - コンピューティングノードの追加が容易/コントローラの負荷分散が可能 - システム設計、運用・管理にはこれまでとは違うノウハウが必要 ■ Driver/Pluginによる外部コンポーネントとの連携 - 既存インフラと連携・統合するための作りこみが可能 - サードパーティ製品連携のエコシステム ここがポイント 34 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  35. 35. 第1日 講義資料 No.1 クラウドで実行されるアプリケーションの特徴 ■ ■ AWS(Amazon Web Services)に代表されるパブリッククラウドは、典型的にはSNSな どのコンシューマ向けサービスの提供に利用されてきました。 このようなアプリケーションは、「インフラ環境の自動操作」を前提とした、従来の企 業システムとは異なるアーキテクチャで設計されています。 - アプリケーションのSLA ≠ サーバ(仮想マシン)のSLA ● 一部の仮想マシンが停止してもアプリケーションは停止しない - 必要に応じて仮想マシンを追加・削除する機能が前提 ● 仮想マシンの追加・削除で性能要件の変化に対応 ● 仮想マシンが障害で停止した際は、新しい仮想マシンを追加して対応 - 仮想マシンのライフサイクルは数時間〜数カ月 ● 1つの仮想マシンを永続的に稼働することを前提としない - 永続データをアプリケーションと分離 ● 永続データはオブジェクトストアなどに保存して、仮想マシンとデータを分離 35 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  36. 36. 第1日 講義資料 No.1 企業システムにおけるクラウドの必要性 ■ ■ 企業システムにおいてもクラウドの柔軟性を必要とするユースケースが増加しており、 OpenStackによるプライベートクラウドが求められる要因となっています。 OpenStack Summit 2013 Portlandでのユーザ事例(抜粋) ● http://www.openstack.org/summit/portland-2013/session-videos - Bloomberg ● 証券情報の分析・配信システムのインフラとしてOpenStackに よるプライベートクラウドを活用 - Comcast ● ケーブルテレビのセットトップボックスのバックエンドシステ ムをOpenStackによるプライベートクラウド上に構築 - BestBuy ● OpenStackによるプライベートクラウドで開発環境をオンデマ ンドに提供できる環境を実現 - CERN ● 物理学の実験施設から取得されるPBクラスの実験データの保存 と分析にOpenStackのプライベートクラウドを活用 36 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  37. 37. 第1日 講義資料 No.1 システムアーキテクチャのパラダイムシフト http://www.slideshare.net/gmccance/cern-data-centre-evolution 37 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  38. 38. 第1日 講義資料 No.1 メモとしてお使いください 38 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  39. 39. 第1日 講義資料 No.1 演習環境におけるサーバ配置 39 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  40. 40. 第1日 講義資料 No.1 サーバ配置例 (1) ■ 1台のサーバにすべてのコンポーネントを導入する「All-in-one構成」の例です。 - コンピュートノードを増やせませんので、実用的な構成ではありません。 - eth0にIPアドレスを割り当てて、Webコンソール接続、および管理接続に使用します。 - 仮想マシンインスタンス間は、ローカルのOpen vSwitchを経由して通信します。外部ネット ワークとの通信は、NATで中継します。 パブリックネットワーク eth0 IP eth1 br-ex NAT br-int VM VM すべてのコンポーネントを まとめて導入 Open vSwitch 40 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  41. 41. 第1日 講義資料 No.1 サーバ配置例 (2) ■ 1台のコントローラノードにコントローラ機能をまとめて導入する構成例です。 - 各サーバのeth0にIPアドレスを割り当てて、Webコンソール接続、API接続、および管理接続に 使用します。 - 仮想マシンインスタンス同士は、プライベートネットワーク上で相互通信します。外部ネット ワークとの通信は、管理サーバがNATで中継します。 パブリックネットワーク プライベートネットワーク eth0 IP Nova Compute以外の すべてのコンポーネントを導入 eth1 eth2 br-ex br-priv eth0 IP br-int eth1 br-priv eth0 IP eth1 br-priv br-int コントローラノード Nova Computeと Neutron L2-pluginを導入 br-int VM NAT ・・・ VM コンピュートノード Open vSwitch 41 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  42. 42. 第1日 講義資料 No.1 (参考)主な設定ファイルとログファイル ■ 設定ファイル - /etc/nova/nova.conf - /etc/quantum/quantum.conf : Neutron(旧Quantum) - /etc/quantum/l3_agent.ini : L3 Agent - /etc/quantum/dhcp_agent.ini : DHCP Agent - /etc/quantum/plugin.ini : L2 Agent - /etc/cinder/cinder.conf ■ : Nova : Cinder ログファイル - /var/log/(nova|quantum|cinder|glance|horizon) ● 各コンポーネントのログ - /var/log/messages ● dnsmasqのログなどは、ここから確認 - /var/log/secure ● 内部的にsudoを多用しているので、sudoに起因する問題をsudoログから確認 42 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  43. 43. 第1日 講義資料 No.1 (参考)All-in-one構成のインストール手順と 初期設定の概要 43 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  44. 44. 第1日 講義資料 No.1 全体の構成 ■ ここでは、Fedora 18の上にRDO (Grizzly) をAll-in-one構成でインストールする場合を 例として、インストール手順と初期設定の概要を説明します。 ※ ここでは、物理サーバにインストールする手順を説明    しています。本講義の演習では、Nested KVMによる     仮想マシン環境を使用するため少し手順が異なります。 インターネット インターネットにアクセス できるネットワーク ホストアクセス用NIC Fedora18 VMアクセス用NIC em1 em2 Intel-VT/AMD-V 対応サーバ 4GB以上のメモリ 44 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  45. 45. 第1日 講義資料 No.1 ネットワーク構成の設計 ■ これから構築する環境で使用するIPアドレスを表のように決めておきます。 - サーバ自身のIPアドレスの他に、仮想ルータに割り当てるパブリックネットワーク側のIPアドレ スや仮想マシンインスタンスに割り当てるフローティングIPなどに、パブリックIPアドレスを使 用します。「IPアドレスプール」は、これらの目的にOpenStackが使用するパブリックIPアドレ スの範囲を指定します。 項目 値 サブネット 192.168.199.0/24 デフォルトゲートウェイ 192.168.199.1 DNSサーバ 8.8.8.8 IPアドレスプール 192.168.199.100 〜 192.168.199.199 サーバのIPアドレス 192.168.199.99 パブリック ネットワーク パブリックIP 仮想ルータ 仮想ネットワーク構成 仮想マシン インスタンス 45 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  46. 46. 第1日 講義資料 No.1 仮想ネットワークの設計 ■ 各プロジェクトの仮想ネットワークは、OpenStackをインストールした後に、プロジェ クトごとに自由に構成することができます。 - ここでは、図のように仮想ルータに2個の仮想スイッチを接続して、それぞれ、 「192.168.101.0/24」と「192.168.102.0/24」のサブネットを割り当てるものとします。 仮想ルータ 46 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  47. 47. 第1日 講義資料 No.1 Fedora 18のインストール (1) ■ DVDメディアからFedora18をインストールする際の手順を記載します。 ■ インストールメディアの入手 - 下記URLより「Fedora-18-x86_64-DVD.iso」をダウンロードしてDVDメディアに焼きます。 - http://download.fedoraproject.org/pub/fedora/linux/releases/18/Fedora/x86_64/iso/ ※上記がリンク切れの際は下記を使用 - http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/18/Fedora/x86_64/iso/ ■ インストール時の注意 - LVM構成のLinuxが導入された環境に対して、Fedora18を上書きインストールしようとすると、 インストーラがエラーで停止する場合があります。そのような際は、インストーラの画面で [Ctrl]+[Alt]+[F2]を押すとコマンド画面に切り替わるので、次のコマンドなどで、LVMの構成 情報を削除した上で、再度、インストールを行います。 # dd if=/dev/zero of=/dev/sda count=2 # reboot 47 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  48. 48. 第1日 講義資料 No.1 Fedora 18のインストール (2) ■ ネットワークの設定 - 「em1」にIPアドレスを設定します。この画面でホスト名を設定するのも忘れないでください。 ■ ソフトウェアの選択 - 「最小限のインストール」+ 「標準アドオン」を選びます 48 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  49. 49. 第1日 講義資料 No.1 Fedora 18のインストール (3) ■ ディスクパーティションは表の構成としますが、GUIインストーラでは、パーティショ ンを自由に構成することができないため次の手順に従います。 パーティション サイズ 用途 /dev/sda1 500MB /boot /dev/sda2 適宜 Swap /dev/sda3 50GB / /dev/sda4 残り全部 Cinder Volume - インストール先のディスクを選択して続行す ると「インストールオプション」のポップ アップがでるので、「パーティションスキー マの設定」→「パーティションタイプ」→ 「標準パーティション」を選んで、「代わり にディスクのパーティション設定をカスタマ イズさせて下さい。」にチェックを入れま す。 49 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  50. 50. 第1日 講義資料 No.1 Fedora 18のインストール (4) - パーティション設定の画面で「ここをクリッ クすると自動的に作成します。」をクリック します。 - 右下図のようなパーティションが構成されま すが、「/home」が余分なので削除します。 (画面下の「-」ボタンで削除します。) - これで、「/dev/sda1~/dev/sda3」からな るパーティションが構成できました。 「/dev/sda4」は、インストール完了後に手 動で作成します。 50 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  51. 51. 第1日 講義資料 No.1 Fedora 18のインストール (5) ■ インストール完了後の作業 - 「/etc/sysconfig/network-scripts/ifcfg-em2」をエディタで開いて、「ONBOOT=yes」を 「ONBOOT=no」に変更します。 - fdiskコマンドでディスクパーティション「/dev/sda4」を追加します。 # fdisk /dev/sda コマンド (m でヘルプ): n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): p 選択したパーティション 4 最初 sector (122316800-312499999, 初期値 122316800): ← 空エンター 初期値 122316800 を使います Last sector, +sectors or +size{K,M,G} (122316800-312499999, 初期値 312499999): ← 空エンター 初期値 312499999 を使います Partition 4 of type Linux and of size 90.7 GiB is set コマンド (m でヘルプ): wq 51 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  52. 52. 第1日 講義資料 No.1 Fedora 18のインストール (6) - この後で、Cinder Volume用のボリュームグループを作るために、lvm2のパッケージを追加しま す。さらに、全パッケージをアップデートして、再起動します。 # yum -y install lvm2 # yum -y update # reboot - 再起動したら、/dev/sda4を使って、ボリュームグループ「cinder-volumes」を作成します。 # pvcreate /dev/sda4 # vgcreate cinder-volumes /dev/sda4 52 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  53. 53. 第1日 講義資料 No.1 RDOのインストール (1) ■ RDO (Grizzly) をAll-in-one構成で導入します。 - ここでは、GitHubで公開されているインストールスクリプトを利用します。次の手順で、スク リプトをダウンロードして、「setup.sh」を実行します。 # # # # # # yum -y install git cd ~ git clone https://github.com/enakai00/quickrdo cd quickrdo git checkout f18-grizzly ./setup.sh - 途中で次のようなメッセージがでたら、rootパスワードを入力します。 Setting up ssh keys...root@192.168.199.99's password: - インストールが完了すると、「Done. Now, you need to reboot the server.」というメッセージ がでます。ここで、一度サーバを再起動します。 # reboot - インストールが途中で失敗した場合は、次のコマンドを実行するとインストール前の状態に戻り ます。再度、「~/quickrdo/setup.sh」を実行してください。 # cd ~/quickrdo # ./cleanup.sh This will completely uninstall all openstack-related components. Are you really sure? (yes/no) yes 「yes」を入力 # vgcreate cinder-volumes /dev/sda4 # reboot 53 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  54. 54. 第1日 講義資料 No.1 RDOのインストール (2) ■ インストールスクリプトの解説 - 「setup.sh」の内容は下記のURLから参照できます。 ● https://github.com/enakai00/quickrdo/blob/f18-grizzly/setup.sh - RDOのインストール処理は、下記の「packstack」コマンドで実施しています。これは、RDOに 標準付属のインストーラで、puppetマニフェストを利用してインストール処理を行います(*)。 # packstack --allinone --nagios-install=n --os-swift-install=n - 「setup.sh」では、その他にOSレベルの設定変更、既知の問題に対するパッチの適用などを併せ て行なっています。 (*) 「--allinone」オプションの動作は、Packstackのバージョンによって異なります。                ここでは、「openstack-packstack-2013.1.1-0.20.dev642.fc19」を使用する前提です。 54 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  55. 55. 第1日 講義資料 No.1 インストール後の初期設定 (1) ■ サンプルプロジェクト「demo」を作成して、仮想ネットワークの構成、その他、デモ 用途に必要な最小限の初期設定を行います。 - ここでは、先ほどのインストールスクリプトに付属の初期設定スクリプト「config.sh」を利用 します。スクリプト「~/quickrdo/config.sh」をエディタで開いて、下記のパラメータを環境に 合わせて修正します。 public="192.168.199.0/24" gateway="192.168.199.1" nameserver="8.8.8.8" pool=("192.168.199.100" "192.168.199.199") private=("192.168.101.0/24") - 上から順に「パブリックネットワークのサブネット」「デフォルトゲートウェイ」「DNSサー バ」「IPアドレスプール」「仮想ネットワークのサブネット」に対応します。ここでは、2個の 仮想ネットワークを作成するため、次のように修正します。 Private=("192.168.101.0/24" "192.168.102.0/24") 55 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  56. 56. 第1日 講義資料 No.1 インストール後の初期設定 (2) - 次のコマンドで、初期設定を行います。 # cd ~/quickrdo # ./config.sh - 「VM access NIC:」という表示が出るので、「仮想マシンアクセス用NIC」のデバイス名(今の 例では「em2」)を入力します。最後に「Configuration finished.」と表示されれば完了です。 - 設定を変更する際は、「./config.sh」を再度実行します。以前の設定を削除して、新しい設定が 行われます。 56 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  57. 57. 第1日 講義資料 No.1 インストール後の初期設定 (3) ■ 初期設定スクリプトの解説 - 「config.sh」の内容は下記のURLから参照できます。 ● https://github.com/enakai00/quickrdo/blob/f18-grizzly/config.sh - このスクリプトでは次のような処理を行なっています。 ● 管理者権限を使用するための環境変数をセット . /root/keystonerc_admin ● Fedora 19のマシンイメージをインターネットからインポート glance image-create --name "Fedora19" --disk-format qcow2 --container-format bare --is-public true --copy-from http://cloud.fedoraproject.org/fedora-19.x86_64.qcow2 ● プロジェクト「demo」と該当プロジェクトのユーザ(一般ユーザ「demo_user/passw0rd」 と管理者ユーザ「demo_admin/passw0rd」)を作成 keystone keystone keystone keystone keystone tenant-create --name demo user-create --name demo_admin --pass passw0rd user-create --name demo_user --pass passw0rd user-role-add --user demo_admin --role admin --tenant demo user-role-add --user demo_user --role Member --tenant demo 57 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  58. 58. 第1日 講義資料 No.1 インストール後の初期設定 (4) ● パブリックネットワークを定義 tenant=$(keystone tenant-list | awk '/ services / {print $2}') quantum net-create --tenant-id $tenant ext-network --shared --provider:network_type local --router:external=True quantum subnet-create --tenant-id $tenant --gateway ${gateway} --disable-dhcp --allocation-pool start=${pool[0]},end=${pool[1]} ext-network ${public} ● 仮想ルータを作成して、パブリックネットワークをデフォルトゲートウェイに設定 tenant=$(keystone tenant-list|awk '/ demo / {print $2}') quantum router-create --tenant-id $tenant demo_router quantum router-gateway-set demo_router ext-network ● 仮想スイッチを作成して、仮想ルータに接続 for (( i = 0; i < ${#private[@]}; ++i )); do name=$(printf "private%02d" $(( i + 1 ))) subnet=${private[i]} quantum net-create --tenant-id $tenant ${name} --provider:network_type local quantum subnet-create --tenant-id $tenant --name ${name}-subnet --dns-nameserver ${nameserver} ${name} ${subnet} quantum router-interface-add demo_router ${name}-subnet done 58 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  59. 59. 第1日 講義資料 No.1 インストール後の初期設定 (5) ● デフォルトのセキュリティグループに対して、SSHとPingを許可 export OS_USERNAME=demo_user export OS_PASSWORD=passw0rd export OS_TENANT_NAME=demo nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 nova secgroup-add-rule default icmp 8 0 0.0.0.0/0 ● キーペアを作成して、登録 nova keypair-add mykey > ~/mykey.pem chmod 600 ~/mykey.pem ● フローティングIPを確保 for i in $(seq 1 5); do quantum floatingip-create ext-network done ● 「VM access NIC:」で指定したNICをOpen vSwitch「br-ex」に接続 ovs-vsctl add-port br-ex ${extnic} 59 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  60. 60. 第1日 講義資料 No.1 仮想マシンインスタンスの起動 (1) ■ 初期設定が終わった環境で、仮想マシンを起動する手順を説明します。 - Webブラウザで「http://192.168.199.99」に接続して、ユーザ「demo_user」、パスワード 「passw0rd」でログインします。 - 画面左のメニューから「イメージとスナップショット」を選択して、イメージ名「Fedora19」 のアクション「起動」をクリックします。 60 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  61. 61. 第1日 講義資料 No.1 仮想マシンインスタンスの起動 (2) - 図の手順に従って、必要な項目を入力します。 ②「アクセスとセキュリティ」タブで  キーペアに「mykey」を選択 ①「詳細」タブでインスタンス名を入力 ③「ネットワーク」タブで「private01」を  選択して、「起動」を押す 61 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  62. 62. 第1日 講義資料 No.1 仮想マシンインスタンスの起動 (3) - 仮想マシンインスタンスが起動して、状態が「Active」になったら、図の手順に従って、フロー ティングIPを割り当てます。 ①「アクション」の「さらに」→「Floating IPの割り当て」を選択 ② プルダウンからIPアドレスを1つ選択して「割り当て」を押す 62 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  63. 63. 第1日 講義資料 No.1 仮想マシンインスタンスの起動 (4) - SSH認証の秘密鍵ファイルは、「~/mykey.pem」にありますので、次のコマンドでログインする ことができます。IPアドレスは、先に割り当てたフローティングIPを指定します。 # ssh -i ~/mykey.pem fedora@192.168.199.101 - Fedora19のテンプレートでは、ログイン用のユーザ「fedora」が自動作成されるようになって おり、rootユーザでのログインはできません。fedoraから、rootユーザには次のコマンドで切り 替えることができます。 $ sudo -i 63 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  64. 64. 第1日 講義資料 No.1 メモとしてお使いください 64 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  65. 65. 第1日 講義資料 No.1 メモとしてお使いください 65 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  66. 66. 第1日 講義資料 No.1 メモとしてお使いください 66 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  67. 67. 67 Copyright (C) 2014 National Institute of Informatics, All rights reserved.

×