OpenStackで自動化ツール
を使ってみた!
(Ubuntu MAAS 1.7 対応版)
日本仮想化技術株式会社
VitrualTech.jp
たまおき のぶゆき
オープンソースカンファレンス 2015 Tokyo/Spring
自己紹介
• 玉置 伸行(たまおき のぶゆき)
– ntamaoki@virtualtech.jp
– twitter.com/ntamaoki
– facebook.com/ntamaoki
• 日本仮想化技術株式会社 2013/8 -
– エンタープライズクラウド事業部
• OpenStackの価値を伝える
– ThinkITでOpenStackディストリビューション8社比較記事を企画
• エンタープライズクラスのクラウド基盤構築の検討支援
• 日本オラクル株式会社 – 2013/7
2
イントロダクション
日本仮想化技術株式会社 概要
• 社名:日本仮想化技術株式会社
– 英語名:VirtualTech Japan Inc.
– 略称:日本仮想化技術/VTJ
• 設立:2006年12月
• 資本金:2,000万円
• 売上高:1億3,000万円(2013年7月期)
• 本社:東京都渋谷区渋谷1-8-1
• 取締役:宮原 徹(代表取締役社長兼CEO)
• 伊藤 宏通(取締役CTO)
• スタッフ:9名(うち、8名が仮想化技術専門エンジニアです)
• URL:http://VirtualTech.jp/
• 仮想化技術に関する研究および開発
– 仮想化技術に関する各種調査
– 仮想化技術に関連したソフトウェアの開発
– 仮想化技術を導入したシステムの構築
– OpenStackの導入支援・新規機能開発
ベンダーニュートラルな
独立系仮想化技術の
エキスパート集団
3
イントロダクション
導入・移行
仮想化環境構築をトータルサポート
設計
• 戦略立案
– コスト削減、社内標準化、将来プランのコンサルティング
• 設計
– 要求仕様の策定
– サーバ、ストレージからネットワークまでアプリケー
ションまで考慮した設計最適化
– キャパシティプランニング(ベンチマーク)
• 導入
– 仮想化ソリューションパッケージの提供
– 仮想化統合(P2V既存環境移行)
• 運用保守
– エンジニア教育
– 技術サポートの提供
– OSSソースコードレベルサポート
運用保守
ベンダーニュートラルなワンストップ・サポートをご提供4
戦略立案
イントロダクション
OpenStackへの貢献
• 開発
– Nova bare-metal
provisioning
– DiskImage Builder
– Bug fixes in various
projects
• イベント企画・運営
• ドキュメント公開
5
Stackalytics – VirtualTech’s contributions
Commit 数は 120
OpenStack最新情報セミナー
イントロダクション
EnterpriseCloud.jp
• OpenStackで始めるエンタープ
ライズクラウドの情報サイト
• OpenStack導入手順書のダウ
ンロード
– 年間1,000ダウンロード
• セミナー資料
• OpenStack環境構築ノウハウ
6
イントロダクション
本日お話ししたいこと
• OpenStack で自動化ツールについて
– OpenStack で使用する自動化ツールについて
のおさらい
• OpenStack で自動化ツールを使ってみた!
– Ubuntu MAAS を使って仮想マシンに Ubuntu や
CentOS をプロビジョニングしてみます
7
プレゼンテーションの目的
OPENSTACKの自動化ツールに
ついて
OpenStack で使用する
自動化ツールについてのおさらい
8
OpenStack + 自動化ツール
についての質問
• OpenStack を使ったことがありますか?
• OpenStack 環境を構築したことがあります
か?
• 自動化ツールを使ったことがありますか?
– プロビジョニングツール
– オーケストレーションツール
• 自動化ツールを使って OpenStack を使っ
たことがありますか?
9
二人の登場人物
10
はじまりはいつも思いつき
11
のぞみはすぐにはかなわない
12
のぞみがすぐにかなう
(クラウドならね)
13
クラウド化のメリット(開発者視点)
• すぐに始められる
• 増設するのが容易
(スケールアップというよりはスケールアウト)
– 小さく始めて大きく育てる
– 利用状況を見ながらリソースを調達できる
• 自動化ツールを組み合わせて
– 開発環境やテスト環境をあっというまに構築できる
– 閾値を設定してオートスケールする仕組みを作れる
– CI/CDを組み合わせて継続的に開発/デリバリーできる
• モバイルやビックデータなどの新領域のアプリに適している
14
OpenStack の自動化ツール
運用者の悩みは深い
15
クラウドといっても
16
プロビジョニングツール
17
オーケストレーションツール
18
自動化のメリット(運用担当者視点)
• 数百台や数千台のサーバを運用するには自動化技術は必
須
• 業務の自動化による運用コストの削減は願ったり叶ったり
• 業務の見直しによる業務効率の向上は良い
– 自動化技術の採用による、業務の高速化や業務の省力化をやりた
い
– 業務範囲の見直しや属人化の排除に繋がるとなお良い
19
OpenStack の自動化ツール
20
プロビジョニングツールの選択
• OpenStack TripleO
– HP Helion や Red Hat で採用
• Ubuntu MAAS
• Crowbar
• Cobbler
21
OpenStack の自動化ツール
MAAS
Ubuntu MAAS
MAAS:Metal as a Service
物理マシンプロビジョニング
物理サーバも仮想サーバも一
元管理
プロビジョニングをコマンド
やREST APIで提供
1
3
2
MAAS の管理画面①
23
Ubuntu MAAS
MAAS の管理画面②
24
Ubuntu MAAS
筐体の一括登録も可能 (*1)
複数の電源管理方式に対応 (*2)
サブネット単位で
DHCP/PXE 管理
複数サブネットを
一元管理
MAAS アーキテクチャー
25
* 1. SeaMicro, UCS, libvirt
* 2. IPMI, UCS Manager,
iLO4, Moonshot iLO, Intel
AMT, SeaMicro 15k,
libvirt, etc.
Ubuntu MAAS
MAASの動作イメージ
26
Server MAAS User
Power-on, DHCP, PXE-boot
Boot image, Power-off電源管理情報検出 Enlist
Power-on
DHCP, PXE-boot
Boot image, Power-offインベントリ情報取得
Commissioning
Declared
Ready
Request a machine
Power-on
DHCP, PXE-boot
Deploy platform
Installed successfully
Return a machine
運用中
Allocated
Ubuntu MAAS
MAAS API
• RESTful
• GET / POST / PUT / DELETE
• http://<maas-controller>/MAAS
– /api/1.0/<object>/<path>/?op=<operation>&<param>=<value>&…
• object: account, maas, networks, nodegroups, nodes, node, tags, users, zone, etc.
• 使用例:
– GET /api/1.0/nodes/?op=list # MAAS 登録ノード一覧取得
– GET /api/1.0/nodes/{system_id}/ # ノード情報取得
– PUT /api/1.0/nodes/{system_id}/ # ノード情報更新
– GET /api/1.0/tags/?op=list # タグ一覧取得
– POST /api/1.0/tags/?op=new&name=‘Neutron’ # 新規タグ追加
– POST /api/1.0/nodes/{system_id}/?op=start # ノード電源オン
– GET /api/1.0/nodes/?op=list_allocated # 使用中ノード一覧取得
– POST /api/1.0/nodes/{system_id}/?op=stop # ノード電源オフ
– DELETE /api/1.0/nodes/{system_id}/ # ノード削除27
Ubuntu MAAS
運用オペレーション(例)
• 初期化
$ juju bootstrap –e maas
• OpenStack 環境構築
$ juju-deployer –c openstack.yml –e maas
• ノード増設
– サーバー電源オン
• Web コンソール
– http://<maas-controller>/MAAS
• ノード タグ付け
$ maas login <profile> http://<maas-controller>/MAAS <apikey>
$ maas <profile> update-nodes <tag> add=<system_id>
• 等々
28
Ubuntu MAAS
まとめ:Ubuntu MAAS
• 物理マシンプロビジョニング
– Ubuntu、CentOS、Windows OS対応
• プロビジョニングをコマンドやREST APIで
提供
– 独自処理をスクリプト呼び出しで対応
• 大量のサーバを一元管理するためにベア
メタルプロビジョニングをやるには最適
29
Ubuntu MAAS
自動化ツールを使ってみた!
Ubuntu MAAS を使って
仮想マシンに Ubuntu や CentOS を
プロビジョニングしてみます
30
作業ステップの説明
MAAS環境の構築
1. KVM サーバのインストール
2. KVM 管理用クライアントのインストール
3. MAAS サーバのインストール
4. MAAS のセットアップ
5. 物理サーバのセットアップ
6. 仮想サーバのセットアップ
MAAS 環境での仮想サーバのプロビジョニング
1. Ubuntu Server のプロビジョニング
2. CentOS のプロビジョニング
31
MAAS 環境の構築
環境の説明①
32
KVMサーバ
192.168.1.10
ルーター
192.168.1.1
外部
ネットワーク
KVM管理
クライアント
192.168.1.2
MAAS
サーバ
192.168.1.20
KVM
仮想サーバ1
192.168.1.31
仮想サーバ2
192.168.1.32
MAAS 環境の構築
環境の説明②
• KVM サーバ
– KVM を使用し、MAAS サーバや仮想サーバを稼働
– 本当は物理サーバで試したいが、KVM は便利なので採用
• MAAS サーバ
– KVM と virsh を使用し、仮想サーバを管理
– PXE(TFTP) や DHCP や DNS を MAAS サーバ上で起動
– MAAS は物理サーバを管理し、ベアメタルサーバをプロビジョニング
できる
– パッケージをダウンロードするために外部ネットワークに接続
– 同一ネットワーク内にDHCPサーバがないこと
• KVM 管理用クライアント
– KVM サーバの KVM を管理するために使用
• 仮想サーバ
– MAAS を使用し、ベアメタルサーバと見立ててプロビジョニングする
33
MAAS 環境の構築
環境の説明③
• 使用しているソフトウェア
– KVM サーバ、MAAS サーバ
• Ubuntu Server: 14.04.2
• MAAS: 1.7.1
– KVM 管理クライアント
• Lubuntu: 14.04.2
34
MAAS 環境の構築
1. KVM サーバのインストール
35
KVMサーバ
192.168.1.10
ルーター
192.168.1.1
外部
ネットワーク
KVM管理
クライアント
192.168.1.2
MAAS
サーバ
192.168.1.20
KVM
仮想サーバ1
192.168.1.31
仮想サーバ2
192.168.1.32
MAAS 環境の構築
1. KVM サーバのインストール①
1. Ubuntu Server のインストール
OpenSSH Server を追加する、本書では ubuntu ユーザを作成
2. bridge-utilsパッケージのインストール
kvm$ sudo apt-get update
kvm$ sudo apt-get install bridge-utils
3. ネットワークの設定
kvm$ sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
bridge_ports eth0
36
interface ファイルの記述については
各自の環境に合わせて編集してください
MAAS 環境の構築
1. KVM サーバのインストール②
4. ブリッジの確認
ブリッジが作成できていることが確認できればOK
kvm% brctl show
5. KVM パッケージのインストール
kvm% sudo apt-get install qemu-kvm qemu-system libvirt-bin virtinst
kvm% sudo adduser $USER libvirtd
6. Ubuntu Server インストールイメージの配置
kvm% cd /var/lib/libvirt/images
kvm% sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.2-server
-adm64.iso
37
MAAS 環境の構築
2. KVM 管理用クライアントのインストール
38
KVMサーバ
192.168.1.10
ルーター
192.168.1.1
外部
ネットワーク
KVM管理
クライアント
192.168.1.2
MAAS
サーバ
192.168.1.20
KVM
仮想サーバ1
192.168.1.31
仮想サーバ2
192.168.1.32
MAAS 環境の構築
2.KVM 管理用クライアントのインストール
1. Lubuntu のインストール
2. 仮想マシンマネージャをインストール
desktop% sudo apt-get install virt-manager ssh-askpass-gnome
3. 仮想マシンマネージャの初期設定
KVM 管理用クライアントでKVMサーバへ接続
1. ターミナルを開き、仮想マシンマネージャを起動
desktop% virt-manager
2. 仮想マシンマネージャのメニューバーより[ファイル]-[接続の追加]を選択
3. 下記の項目を指定し、接続ボタンを押す
39
項目 設定値
ハイパーバイザー QEMU/KVM
リモートホストに接続 有効
メソッド SSH
ユーザー名 [KVM サーバのユーザー名]
ホスト名 [KVMサーバのホスト名]
MAAS 環境の構築
3. MAAS サーバのインストール
40
KVMサーバ
192.168.1.10
ルーター
192.168.1.1
外部
ネットワーク
KVM管理
クライアント
192.168.1.2
MAAS
サーバ
192.168.1.20
KVM
仮想サーバ1
192.168.1.31
仮想サーバ2
192.168.1.32
MAAS 環境の構築
3. MAAS サーバのインストール
1. Ubuntu Serverのインストール
OpenSSH Serverを追加する、本書では ubuntu ユーザを作成
2. MAAS用のパーソナルパッケージアーカイブ(PPA)を追加
maas% sudo add-apt-repository ppa:maas-maintainers/stable
3. MAAS パッケージのインストール
MAASパッケージには複数のバージョンが存在するため、インス
トール時には最新のパッケージ・リストを入手する必要がある
maas% sudo apt-get update
下記のコマンドでインストール可能なバージョンを確認できる
maas% sudo apt-cache policy maas
MAAS パッケージをインストール
maas% sudo apt-get install maas maas-dhcp maas-dns
41
MAAS 環境の構築
4. MAAS のセットアップ①
1. MAAS の管理画面にWebブラウザでアクセス
MAAS がインストールされたことを下記URLにアクセスして確認する
http://[MAASサーバのIPアドレス]/MAAS
2. MAAS の管理ユーザーを作成
maas% maas-region-admin createadmin
Username: [MAAS 管理ユーザの名前]
Password: [MAAS 管理ユーザのパスワード]
Again: [MAAS 管理ユーザのパスワード]
Email: [MAAS 管理ユーザのメールアドレス]
3. MAAS の管理画面にログイン
4. MAAS の管理画面の”Images”タブにてデプロイ用のOSイメージを設定
Ubuntu “14.04 LTS” と “amd64”を選択し、Import Imagesボタンを押す
MAAS の内部処理のためにOSイメージを使用するため amd64 は必ず
選択する
42
MAAS 環境の構築
4. MAAS のセットアップ②
5. MAASの管理画面の”Clusters”タブにてクラスタのインターフェースを設定
クラスタ“Cluster master”のリンクを押し、「Edit Cluster Controller」画面にて
“Interface”の編集ボタンを押す
43
MAAS 環境の構築
Interface 変更せず
Management “DHCP and DNS”に変更
IP 変更せず
Subnet mask 変更せず
broadcast IP 変更せず
Router IP 変更せず
DHCP dynamic IP range low DHCPで使用するIPアドレス
を設定DHCP Dynamic IP range high
4. MAAS のセットアップ③
6. SSH公開鍵を作成
MAASサーバでSSH公開鍵を作成
公開鍵の作成先とパスフレーズの設定を求められますが、
空白のまま Enter キーを押す
maas% ssh-keygen –t rsa
maas% cat $HOME/.ssh/id_rsa.pub
7. MAAS の管理画面の”Preference”にてSSH公開鍵を設定
MAAS の管理画面の右上にある MAAS ユーザ名をクリックすると、”Preference”リンクを
確認できる
“Preference”リンクをクリックし、”+ Add SSH Key”ボタンをクリックし、SSH公開鍵を登録する
SSH公開鍵は複数登録することができ、このSSH公開鍵はMAASでベアメタルサーバや
仮想サーバをプロビジョニングした際に各サーバに自動的に配布される
44
MAAS 環境の構築
5. 物理サーバのセットアップ①
1. 物理サーバを起動
2. ノード情報を確認
45
MAAS 環境の構築
1. Hostname MAAS に登録するホスト名(任意/未入力時はランダム)
2. Release 変更せず
3. Cluster 変更せず
4. Architecture 変更せず
5. Power type 本書では“IPMI”を設定、HP iLO とDell iDrac を例示
5.1 Power driver “LAN_2.0[IPMI 2.0]” “LAN_2.0[IPMI 2.0]”
5.2 IP address HP iLO の IP アドレス Dell iDrac の IP アドレス
5.3 Power user HP iLO のログインユーザー Dell iDracのログインユーザー
5.4 Power password HP iLO のログインパスワード Dell iDracのログインパスワード
5.5 MAC Address MAASネットワークに接続しているNICのMACアドレス
6. Physical zone 変更せず
7. MAC Address 変更せず
5. 物理サーバのセットアップ②
46
– Power type の選択項目
– Power type の詳細パラメータについて
• 本来は HP iLO や Dell iDrac のユーザを作成し、自動的に詳細パラメータを入力
• パラメータが自動入力されない場合は、手動でユーザの作成とパラメータを入力
MAAS 環境の構築
6. 仮想サーバのセットアップ
47
KVMサーバ
192.168.1.10
ルーター
192.168.1.1
外部
ネットワーク
KVM管理
クライアント
192.168.1.2
MAAS
サーバ
192.168.1.20
KVM
仮想サーバ1
192.168.1.31
仮想サーバ2
192.168.1.32
MAAS 環境の構築
6. 仮想サーバのセットアップ①
1. KVM 管理用クライアントで仮想サーバを作成
1. KVM 管理用クライアントでKVMサーバへ接続
ターミナルを開き、仮想マシンマネージャを起動
desktop% virt-manager
2. 仮想マシンマネージャで“新しい仮想マシンの作成”ボタンをクリック
48
MAAS 環境の構築
1. 仮想マシンの名前 仮想サーバの名前を設定
2. インストール方法 “ネットワークブート(PXE)”を選択
3. OSの種類 Linux
4. バージョン “Generic 2.6.25 or later kernel with virtio”を選択
5. メモリー 仮想サーバに割り当てるメモリ
6. CPU 仮想サーバに割り当てる仮想CPU
7. ストレージ 仮想サーバに割り当てるディスク容量
6. 仮想サーバのセットアップ②
1. KVM 管理用クライアントで仮想サーバを作成
3. “新しい仮想マシンの作成”を実行
4. 作成した仮想サーバを“強制的に電源オフ”ボタンを押し、仮想サー
バを停止
5. 仮想サーバを開き、仮想サーバの情報を表示
6. “Boot Options”メニューを選択し、起動デバイスを追加
起動デバイスに“Network(PXE)”を追加し、起動デバイスの順序を一
番上に設定する
49
MAAS 環境の構築
6. 仮想サーバのセットアップ③
2. MAASサーバで、仮想サーバを MAAS に追加するための手順
1. MAAS サーバに libvirt ライブラリのパッケージを追加
maas% sudo apt-get install libvirt-bin
2. MAAS サーバに maas ユーザ用のディレクトリを作成
maas% sudo mkdir –p /home/maas
maas% sudo chown maas:maas /home/maas
3. MAAS サーバの maas ユーザのログインシェルを変更
maas% sudo chsh –s /bin/bash maas
4. MAAS サーバの maas ユーザの公開鍵を作成
公開鍵の作成先とパスフレーズの入力が求められますが、空白のま
ま Enter キーを押す
maas% sudo –u maas ssh-keygen –t rsa
50
MAAS 環境の構築
6. 仮想サーバのセットアップ④
2. MAASサーバで、仮想サーバを MAAS に追加するための手順
5. MAAS サーバの maas ユーザの公開鍵を KVM サーバへ転送
KVM サーバ(192.168.1.10)の ubuntu ユーザにコマンドを実行した例
maas% sudo -u maas -i ssh-copy-id ubuntu@192.168.1.10
6. 動作確認
MAAS サーバで下記のコマンドを実行して、KVM サーバ上の
仮想マシンの一覧を取得する
KVM サーバ(192.168.1.10)の ubuntu ユーザにコマンドを実行した例
maas% sudo -u maas virsh -c
qemu+ssh://ubuntu@192.168.1.10/system list --all
51
MAAS 環境の構築
作業ステップの説明
MAAS環境の構築
1. KVM サーバのインストール
2. KVM 管理用クライアントのインストール
3. MAAS サーバのインストール
4. MAAS のセットアップ
5. 物理サーバのセットアップ
6. 仮想サーバのセットアップ
MAAS 環境での仮想サーバのプロビジョニング
1. Ubuntu Server のプロビジョニング
2. CentOS のプロビジョニング
52
MAAS 環境での仮想サーバのプロビジョニング
1. Ubuntu Server のプロビジョニング①
1. KVM 管理用クライアントで仮想サーバを実行
MAAS 内部で Enlist 作業を実行し、MAAS のノードデータベースにノード
が追加される
2. MAAS の管理画面でノードを確認
3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する
4. 管理画面のノード情報画面より「Commision node」ボタンをクリック
仮想ノードが自動的にパワーオンし、Commision 作業を実行
5. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する
詳細については次ページにて説明
6. MAAS の管理画面の “Nodes”タブにて、ノードを選択して「Start select
nodes」 → 「Go」ボタンをクリックすると仮想マシンが起動
内部ではAcquire(ノードの確保)が自動的に行う
Acquireの操作はデフォルトに設定したOSをデプロイする場合は省略でき
るが、それ以外の場合一度ノード確保をしないとOS選択ができない53
MAAS 環境での仮想サーバのプロビジョニング
1. Ubuntu Server のプロビジョニング②
3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する
54
1. Hostname MAAS に登録するホスト名(任意/未入力時はランダム)
2. Release “Ubuntu 14.04 LTS”を選択
3. Cluster 変更せず
4. Architecture 変更せず
5. Power type “virsh(virtual systems)”を選択
5.1 Power address “qemu+ssh://ubuntu@192.168.1.10/system”を指定
5.2 Power ID 仮想サーバの名前、仮想マシンマネージャで指定した名前を設定
5.3 Power password 仮想サーバのパスワード(任意)
6. CPU Count 変更せず
7. Memory 変更せず
8. Disk space 変更せず
9. Physical zone 変更せず
10. Network Interfaces 変更せず
MAAS 環境での仮想サーバのプロビジョニング
2. CentOS のプロビジョニング①
CentOS や Windows をプロビジョニングするためのツールは現在 Canonical
で開発中です。公開時期や公開方法が決まり次第アナウンスするようです。
詳しくは Canonical の担当者までお問い合わせください。
本書では MAAS 用にカスタマイズした CentOS のイメージが既に手元にある
ものとして記します。
55
MAAS 環境での仮想サーバのプロビジョニング
2. CentOS のプロビジョニング②
1. MAAS サーバにて MAAS CLI を使用するための手順
CentOS や Windows などのカスタムOSイメージを登録したり、MAAS で
管理しているノードに対してタグを追加したりするために MAAS CLI を使
用します。
1. MAAS の管理画面の”Preference”にて MAAS Key を参照
2. MAAS サーバで MAAS CLI にログイン
MAAS サーバ(192.168.1.20)のプロファイル my-maas でログインを実
行した例
maas% maas mymaas http://192.168.1.20/MAAS/api/1.0 [MAAS
Key]
プロファイルは任意の名前で構いません。ここでは”mymaas”とします。
56
MAAS 環境での仮想サーバのプロビジョニング
2. CentOS のプロビジョニング③
2. MAAS サーバにて CentOS カスタムイメージを追加
CentOS カスタムイメージ(centos6-amd64-root-tgz.gz)を実行した例
maas% maas mymaas boot-resource create name=CentOS os=CentOS 
title=“CentOS65” architecture=amd64/generic filetype=tgz 
content@=centos6-amd64-root-tgz
3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する
OSを”Custom”、Releaseを”CentOS65”に変更して更新
4. MAAS の管理画面の “Nodes”タブにて、ノードを選択して「Start select
nodes」 → 「Go」ボタンをクリックすると仮想マシンが起動
57
MAAS 環境での仮想サーバのプロビジョニング
1. ロギングレベルの変更
• log.py ファイルの configure_root_logger() メソッドの中の記述を変更
"logging.INFO"を"logging.DEBUG"に変更
maas% sudo vi /usr/lib/python2.7/dist-
packages/provisioningserver/logger/log.py.
• maas_local_settings.py ファイルの記述を変更
LOGGING_LEVEL = ‘INFO’ を LOGGING_LEVEL = ‘DEBUG’に変更
maas% sudo vi /usr/share/maas/maas_local_settings.py
• Apache HTTP サーバを再起動
maas% sudo service apache2 restart
58
トラブルシューティング
2. トラブルシューティング情報源
Ubuntu MAAS 1.7 manuals
https://maas.ubuntu.com/docs/troubleshooting.html
Troubleshooting
• Nodes hang on “Commissioning”
• Nodes fail to PXE boot
• Can’t log in to node
• Forgot MAAS superuser password
• Need to reconfigure server IP address
• Can’t find MAAS webpage
• Debugging ephemeral image
59
トラブルシューティング
再掲:本日お話ししたいこと
• OpenStack で自動化ツールについて
– OpenStack で使用する自動化ツールについて
のおさらい
• OpenStack で自動化ツールを使ってみた!
– Ubuntu MAAS を使って仮想マシンに Ubuntu や
CentOS をプロビジョニングしてみます
60
プレゼンテーションの目的
お問い合わせ先
「仮想化環境を構築したいが、どこに相談すればいいの?」
まずは我々にご相談ください
http://VirtualTech.jp/
sales@VirtualTech.jp
050-7571-0584
61

OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)

  • 1.
    OpenStackで自動化ツール を使ってみた! (Ubuntu MAAS 1.7対応版) 日本仮想化技術株式会社 VitrualTech.jp たまおき のぶゆき オープンソースカンファレンス 2015 Tokyo/Spring
  • 2.
    自己紹介 • 玉置 伸行(たまおきのぶゆき) – ntamaoki@virtualtech.jp – twitter.com/ntamaoki – facebook.com/ntamaoki • 日本仮想化技術株式会社 2013/8 - – エンタープライズクラウド事業部 • OpenStackの価値を伝える – ThinkITでOpenStackディストリビューション8社比較記事を企画 • エンタープライズクラスのクラウド基盤構築の検討支援 • 日本オラクル株式会社 – 2013/7 2 イントロダクション
  • 3.
    日本仮想化技術株式会社 概要 • 社名:日本仮想化技術株式会社 –英語名:VirtualTech Japan Inc. – 略称:日本仮想化技術/VTJ • 設立:2006年12月 • 資本金:2,000万円 • 売上高:1億3,000万円(2013年7月期) • 本社:東京都渋谷区渋谷1-8-1 • 取締役:宮原 徹(代表取締役社長兼CEO) • 伊藤 宏通(取締役CTO) • スタッフ:9名(うち、8名が仮想化技術専門エンジニアです) • URL:http://VirtualTech.jp/ • 仮想化技術に関する研究および開発 – 仮想化技術に関する各種調査 – 仮想化技術に関連したソフトウェアの開発 – 仮想化技術を導入したシステムの構築 – OpenStackの導入支援・新規機能開発 ベンダーニュートラルな 独立系仮想化技術の エキスパート集団 3 イントロダクション
  • 4.
    導入・移行 仮想化環境構築をトータルサポート 設計 • 戦略立案 – コスト削減、社内標準化、将来プランのコンサルティング •設計 – 要求仕様の策定 – サーバ、ストレージからネットワークまでアプリケー ションまで考慮した設計最適化 – キャパシティプランニング(ベンチマーク) • 導入 – 仮想化ソリューションパッケージの提供 – 仮想化統合(P2V既存環境移行) • 運用保守 – エンジニア教育 – 技術サポートの提供 – OSSソースコードレベルサポート 運用保守 ベンダーニュートラルなワンストップ・サポートをご提供4 戦略立案 イントロダクション
  • 5.
    OpenStackへの貢献 • 開発 – Novabare-metal provisioning – DiskImage Builder – Bug fixes in various projects • イベント企画・運営 • ドキュメント公開 5 Stackalytics – VirtualTech’s contributions Commit 数は 120 OpenStack最新情報セミナー イントロダクション
  • 6.
    EnterpriseCloud.jp • OpenStackで始めるエンタープ ライズクラウドの情報サイト • OpenStack導入手順書のダウ ンロード –年間1,000ダウンロード • セミナー資料 • OpenStack環境構築ノウハウ 6 イントロダクション
  • 7.
    本日お話ししたいこと • OpenStack で自動化ツールについて –OpenStack で使用する自動化ツールについて のおさらい • OpenStack で自動化ツールを使ってみた! – Ubuntu MAAS を使って仮想マシンに Ubuntu や CentOS をプロビジョニングしてみます 7 プレゼンテーションの目的
  • 8.
  • 9.
    OpenStack + 自動化ツール についての質問 •OpenStack を使ったことがありますか? • OpenStack 環境を構築したことがあります か? • 自動化ツールを使ったことがありますか? – プロビジョニングツール – オーケストレーションツール • 自動化ツールを使って OpenStack を使っ たことがありますか? 9
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
    クラウド化のメリット(開発者視点) • すぐに始められる • 増設するのが容易 (スケールアップというよりはスケールアウト) –小さく始めて大きく育てる – 利用状況を見ながらリソースを調達できる • 自動化ツールを組み合わせて – 開発環境やテスト環境をあっというまに構築できる – 閾値を設定してオートスケールする仕組みを作れる – CI/CDを組み合わせて継続的に開発/デリバリーできる • モバイルやビックデータなどの新領域のアプリに適している 14 OpenStack の自動化ツール
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    自動化のメリット(運用担当者視点) • 数百台や数千台のサーバを運用するには自動化技術は必 須 • 業務の自動化による運用コストの削減は願ったり叶ったり •業務の見直しによる業務効率の向上は良い – 自動化技術の採用による、業務の高速化や業務の省力化をやりた い – 業務範囲の見直しや属人化の排除に繋がるとなお良い 19 OpenStack の自動化ツール
  • 20.
  • 21.
    プロビジョニングツールの選択 • OpenStack TripleO –HP Helion や Red Hat で採用 • Ubuntu MAAS • Crowbar • Cobbler 21 OpenStack の自動化ツール
  • 22.
    MAAS Ubuntu MAAS MAAS:Metal asa Service 物理マシンプロビジョニング 物理サーバも仮想サーバも一 元管理 プロビジョニングをコマンド やREST APIで提供 1 3 2
  • 23.
  • 24.
  • 25.
    筐体の一括登録も可能 (*1) 複数の電源管理方式に対応 (*2) サブネット単位で DHCP/PXE管理 複数サブネットを 一元管理 MAAS アーキテクチャー 25 * 1. SeaMicro, UCS, libvirt * 2. IPMI, UCS Manager, iLO4, Moonshot iLO, Intel AMT, SeaMicro 15k, libvirt, etc. Ubuntu MAAS
  • 26.
    MAASの動作イメージ 26 Server MAAS User Power-on,DHCP, PXE-boot Boot image, Power-off電源管理情報検出 Enlist Power-on DHCP, PXE-boot Boot image, Power-offインベントリ情報取得 Commissioning Declared Ready Request a machine Power-on DHCP, PXE-boot Deploy platform Installed successfully Return a machine 運用中 Allocated Ubuntu MAAS
  • 27.
    MAAS API • RESTful •GET / POST / PUT / DELETE • http://<maas-controller>/MAAS – /api/1.0/<object>/<path>/?op=<operation>&<param>=<value>&… • object: account, maas, networks, nodegroups, nodes, node, tags, users, zone, etc. • 使用例: – GET /api/1.0/nodes/?op=list # MAAS 登録ノード一覧取得 – GET /api/1.0/nodes/{system_id}/ # ノード情報取得 – PUT /api/1.0/nodes/{system_id}/ # ノード情報更新 – GET /api/1.0/tags/?op=list # タグ一覧取得 – POST /api/1.0/tags/?op=new&name=‘Neutron’ # 新規タグ追加 – POST /api/1.0/nodes/{system_id}/?op=start # ノード電源オン – GET /api/1.0/nodes/?op=list_allocated # 使用中ノード一覧取得 – POST /api/1.0/nodes/{system_id}/?op=stop # ノード電源オフ – DELETE /api/1.0/nodes/{system_id}/ # ノード削除27 Ubuntu MAAS
  • 28.
    運用オペレーション(例) • 初期化 $ jujubootstrap –e maas • OpenStack 環境構築 $ juju-deployer –c openstack.yml –e maas • ノード増設 – サーバー電源オン • Web コンソール – http://<maas-controller>/MAAS • ノード タグ付け $ maas login <profile> http://<maas-controller>/MAAS <apikey> $ maas <profile> update-nodes <tag> add=<system_id> • 等々 28 Ubuntu MAAS
  • 29.
    まとめ:Ubuntu MAAS • 物理マシンプロビジョニング –Ubuntu、CentOS、Windows OS対応 • プロビジョニングをコマンドやREST APIで 提供 – 独自処理をスクリプト呼び出しで対応 • 大量のサーバを一元管理するためにベア メタルプロビジョニングをやるには最適 29 Ubuntu MAAS
  • 30.
    自動化ツールを使ってみた! Ubuntu MAAS を使って 仮想マシンにUbuntu や CentOS を プロビジョニングしてみます 30
  • 31.
    作業ステップの説明 MAAS環境の構築 1. KVM サーバのインストール 2.KVM 管理用クライアントのインストール 3. MAAS サーバのインストール 4. MAAS のセットアップ 5. 物理サーバのセットアップ 6. 仮想サーバのセットアップ MAAS 環境での仮想サーバのプロビジョニング 1. Ubuntu Server のプロビジョニング 2. CentOS のプロビジョニング 31 MAAS 環境の構築
  • 32.
  • 33.
    環境の説明② • KVM サーバ –KVM を使用し、MAAS サーバや仮想サーバを稼働 – 本当は物理サーバで試したいが、KVM は便利なので採用 • MAAS サーバ – KVM と virsh を使用し、仮想サーバを管理 – PXE(TFTP) や DHCP や DNS を MAAS サーバ上で起動 – MAAS は物理サーバを管理し、ベアメタルサーバをプロビジョニング できる – パッケージをダウンロードするために外部ネットワークに接続 – 同一ネットワーク内にDHCPサーバがないこと • KVM 管理用クライアント – KVM サーバの KVM を管理するために使用 • 仮想サーバ – MAAS を使用し、ベアメタルサーバと見立ててプロビジョニングする 33 MAAS 環境の構築
  • 34.
    環境の説明③ • 使用しているソフトウェア – KVMサーバ、MAAS サーバ • Ubuntu Server: 14.04.2 • MAAS: 1.7.1 – KVM 管理クライアント • Lubuntu: 14.04.2 34 MAAS 環境の構築
  • 35.
  • 36.
    1. KVM サーバのインストール① 1.Ubuntu Server のインストール OpenSSH Server を追加する、本書では ubuntu ユーザを作成 2. bridge-utilsパッケージのインストール kvm$ sudo apt-get update kvm$ sudo apt-get install bridge-utils 3. ネットワークの設定 kvm$ sudo vi /etc/network/interfaces auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 bridge_ports eth0 36 interface ファイルの記述については 各自の環境に合わせて編集してください MAAS 環境の構築
  • 37.
    1. KVM サーバのインストール② 4.ブリッジの確認 ブリッジが作成できていることが確認できればOK kvm% brctl show 5. KVM パッケージのインストール kvm% sudo apt-get install qemu-kvm qemu-system libvirt-bin virtinst kvm% sudo adduser $USER libvirtd 6. Ubuntu Server インストールイメージの配置 kvm% cd /var/lib/libvirt/images kvm% sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.2-server -adm64.iso 37 MAAS 環境の構築
  • 38.
  • 39.
    2.KVM 管理用クライアントのインストール 1. Lubuntuのインストール 2. 仮想マシンマネージャをインストール desktop% sudo apt-get install virt-manager ssh-askpass-gnome 3. 仮想マシンマネージャの初期設定 KVM 管理用クライアントでKVMサーバへ接続 1. ターミナルを開き、仮想マシンマネージャを起動 desktop% virt-manager 2. 仮想マシンマネージャのメニューバーより[ファイル]-[接続の追加]を選択 3. 下記の項目を指定し、接続ボタンを押す 39 項目 設定値 ハイパーバイザー QEMU/KVM リモートホストに接続 有効 メソッド SSH ユーザー名 [KVM サーバのユーザー名] ホスト名 [KVMサーバのホスト名] MAAS 環境の構築
  • 40.
  • 41.
    3. MAAS サーバのインストール 1.Ubuntu Serverのインストール OpenSSH Serverを追加する、本書では ubuntu ユーザを作成 2. MAAS用のパーソナルパッケージアーカイブ(PPA)を追加 maas% sudo add-apt-repository ppa:maas-maintainers/stable 3. MAAS パッケージのインストール MAASパッケージには複数のバージョンが存在するため、インス トール時には最新のパッケージ・リストを入手する必要がある maas% sudo apt-get update 下記のコマンドでインストール可能なバージョンを確認できる maas% sudo apt-cache policy maas MAAS パッケージをインストール maas% sudo apt-get install maas maas-dhcp maas-dns 41 MAAS 環境の構築
  • 42.
    4. MAAS のセットアップ① 1.MAAS の管理画面にWebブラウザでアクセス MAAS がインストールされたことを下記URLにアクセスして確認する http://[MAASサーバのIPアドレス]/MAAS 2. MAAS の管理ユーザーを作成 maas% maas-region-admin createadmin Username: [MAAS 管理ユーザの名前] Password: [MAAS 管理ユーザのパスワード] Again: [MAAS 管理ユーザのパスワード] Email: [MAAS 管理ユーザのメールアドレス] 3. MAAS の管理画面にログイン 4. MAAS の管理画面の”Images”タブにてデプロイ用のOSイメージを設定 Ubuntu “14.04 LTS” と “amd64”を選択し、Import Imagesボタンを押す MAAS の内部処理のためにOSイメージを使用するため amd64 は必ず 選択する 42 MAAS 環境の構築
  • 43.
    4. MAAS のセットアップ② 5.MAASの管理画面の”Clusters”タブにてクラスタのインターフェースを設定 クラスタ“Cluster master”のリンクを押し、「Edit Cluster Controller」画面にて “Interface”の編集ボタンを押す 43 MAAS 環境の構築 Interface 変更せず Management “DHCP and DNS”に変更 IP 変更せず Subnet mask 変更せず broadcast IP 変更せず Router IP 変更せず DHCP dynamic IP range low DHCPで使用するIPアドレス を設定DHCP Dynamic IP range high
  • 44.
    4. MAAS のセットアップ③ 6.SSH公開鍵を作成 MAASサーバでSSH公開鍵を作成 公開鍵の作成先とパスフレーズの設定を求められますが、 空白のまま Enter キーを押す maas% ssh-keygen –t rsa maas% cat $HOME/.ssh/id_rsa.pub 7. MAAS の管理画面の”Preference”にてSSH公開鍵を設定 MAAS の管理画面の右上にある MAAS ユーザ名をクリックすると、”Preference”リンクを 確認できる “Preference”リンクをクリックし、”+ Add SSH Key”ボタンをクリックし、SSH公開鍵を登録する SSH公開鍵は複数登録することができ、このSSH公開鍵はMAASでベアメタルサーバや 仮想サーバをプロビジョニングした際に各サーバに自動的に配布される 44 MAAS 環境の構築
  • 45.
    5. 物理サーバのセットアップ① 1. 物理サーバを起動 2.ノード情報を確認 45 MAAS 環境の構築 1. Hostname MAAS に登録するホスト名(任意/未入力時はランダム) 2. Release 変更せず 3. Cluster 変更せず 4. Architecture 変更せず 5. Power type 本書では“IPMI”を設定、HP iLO とDell iDrac を例示 5.1 Power driver “LAN_2.0[IPMI 2.0]” “LAN_2.0[IPMI 2.0]” 5.2 IP address HP iLO の IP アドレス Dell iDrac の IP アドレス 5.3 Power user HP iLO のログインユーザー Dell iDracのログインユーザー 5.4 Power password HP iLO のログインパスワード Dell iDracのログインパスワード 5.5 MAC Address MAASネットワークに接続しているNICのMACアドレス 6. Physical zone 変更せず 7. MAC Address 変更せず
  • 46.
    5. 物理サーバのセットアップ② 46 – Powertype の選択項目 – Power type の詳細パラメータについて • 本来は HP iLO や Dell iDrac のユーザを作成し、自動的に詳細パラメータを入力 • パラメータが自動入力されない場合は、手動でユーザの作成とパラメータを入力 MAAS 環境の構築
  • 47.
  • 48.
    6. 仮想サーバのセットアップ① 1. KVM管理用クライアントで仮想サーバを作成 1. KVM 管理用クライアントでKVMサーバへ接続 ターミナルを開き、仮想マシンマネージャを起動 desktop% virt-manager 2. 仮想マシンマネージャで“新しい仮想マシンの作成”ボタンをクリック 48 MAAS 環境の構築 1. 仮想マシンの名前 仮想サーバの名前を設定 2. インストール方法 “ネットワークブート(PXE)”を選択 3. OSの種類 Linux 4. バージョン “Generic 2.6.25 or later kernel with virtio”を選択 5. メモリー 仮想サーバに割り当てるメモリ 6. CPU 仮想サーバに割り当てる仮想CPU 7. ストレージ 仮想サーバに割り当てるディスク容量
  • 49.
    6. 仮想サーバのセットアップ② 1. KVM管理用クライアントで仮想サーバを作成 3. “新しい仮想マシンの作成”を実行 4. 作成した仮想サーバを“強制的に電源オフ”ボタンを押し、仮想サー バを停止 5. 仮想サーバを開き、仮想サーバの情報を表示 6. “Boot Options”メニューを選択し、起動デバイスを追加 起動デバイスに“Network(PXE)”を追加し、起動デバイスの順序を一 番上に設定する 49 MAAS 環境の構築
  • 50.
    6. 仮想サーバのセットアップ③ 2. MAASサーバで、仮想サーバをMAAS に追加するための手順 1. MAAS サーバに libvirt ライブラリのパッケージを追加 maas% sudo apt-get install libvirt-bin 2. MAAS サーバに maas ユーザ用のディレクトリを作成 maas% sudo mkdir –p /home/maas maas% sudo chown maas:maas /home/maas 3. MAAS サーバの maas ユーザのログインシェルを変更 maas% sudo chsh –s /bin/bash maas 4. MAAS サーバの maas ユーザの公開鍵を作成 公開鍵の作成先とパスフレーズの入力が求められますが、空白のま ま Enter キーを押す maas% sudo –u maas ssh-keygen –t rsa 50 MAAS 環境の構築
  • 51.
    6. 仮想サーバのセットアップ④ 2. MAASサーバで、仮想サーバをMAAS に追加するための手順 5. MAAS サーバの maas ユーザの公開鍵を KVM サーバへ転送 KVM サーバ(192.168.1.10)の ubuntu ユーザにコマンドを実行した例 maas% sudo -u maas -i ssh-copy-id ubuntu@192.168.1.10 6. 動作確認 MAAS サーバで下記のコマンドを実行して、KVM サーバ上の 仮想マシンの一覧を取得する KVM サーバ(192.168.1.10)の ubuntu ユーザにコマンドを実行した例 maas% sudo -u maas virsh -c qemu+ssh://ubuntu@192.168.1.10/system list --all 51 MAAS 環境の構築
  • 52.
    作業ステップの説明 MAAS環境の構築 1. KVM サーバのインストール 2.KVM 管理用クライアントのインストール 3. MAAS サーバのインストール 4. MAAS のセットアップ 5. 物理サーバのセットアップ 6. 仮想サーバのセットアップ MAAS 環境での仮想サーバのプロビジョニング 1. Ubuntu Server のプロビジョニング 2. CentOS のプロビジョニング 52 MAAS 環境での仮想サーバのプロビジョニング
  • 53.
    1. Ubuntu Serverのプロビジョニング① 1. KVM 管理用クライアントで仮想サーバを実行 MAAS 内部で Enlist 作業を実行し、MAAS のノードデータベースにノード が追加される 2. MAAS の管理画面でノードを確認 3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する 4. 管理画面のノード情報画面より「Commision node」ボタンをクリック 仮想ノードが自動的にパワーオンし、Commision 作業を実行 5. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する 詳細については次ページにて説明 6. MAAS の管理画面の “Nodes”タブにて、ノードを選択して「Start select nodes」 → 「Go」ボタンをクリックすると仮想マシンが起動 内部ではAcquire(ノードの確保)が自動的に行う Acquireの操作はデフォルトに設定したOSをデプロイする場合は省略でき るが、それ以外の場合一度ノード確保をしないとOS選択ができない53 MAAS 環境での仮想サーバのプロビジョニング
  • 54.
    1. Ubuntu Serverのプロビジョニング② 3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する 54 1. Hostname MAAS に登録するホスト名(任意/未入力時はランダム) 2. Release “Ubuntu 14.04 LTS”を選択 3. Cluster 変更せず 4. Architecture 変更せず 5. Power type “virsh(virtual systems)”を選択 5.1 Power address “qemu+ssh://ubuntu@192.168.1.10/system”を指定 5.2 Power ID 仮想サーバの名前、仮想マシンマネージャで指定した名前を設定 5.3 Power password 仮想サーバのパスワード(任意) 6. CPU Count 変更せず 7. Memory 変更せず 8. Disk space 変更せず 9. Physical zone 変更せず 10. Network Interfaces 変更せず MAAS 環境での仮想サーバのプロビジョニング
  • 55.
    2. CentOS のプロビジョニング① CentOSや Windows をプロビジョニングするためのツールは現在 Canonical で開発中です。公開時期や公開方法が決まり次第アナウンスするようです。 詳しくは Canonical の担当者までお問い合わせください。 本書では MAAS 用にカスタマイズした CentOS のイメージが既に手元にある ものとして記します。 55 MAAS 環境での仮想サーバのプロビジョニング
  • 56.
    2. CentOS のプロビジョニング② 1.MAAS サーバにて MAAS CLI を使用するための手順 CentOS や Windows などのカスタムOSイメージを登録したり、MAAS で 管理しているノードに対してタグを追加したりするために MAAS CLI を使 用します。 1. MAAS の管理画面の”Preference”にて MAAS Key を参照 2. MAAS サーバで MAAS CLI にログイン MAAS サーバ(192.168.1.20)のプロファイル my-maas でログインを実 行した例 maas% maas mymaas http://192.168.1.20/MAAS/api/1.0 [MAAS Key] プロファイルは任意の名前で構いません。ここでは”mymaas”とします。 56 MAAS 環境での仮想サーバのプロビジョニング
  • 57.
    2. CentOS のプロビジョニング③ 2.MAAS サーバにて CentOS カスタムイメージを追加 CentOS カスタムイメージ(centos6-amd64-root-tgz.gz)を実行した例 maas% maas mymaas boot-resource create name=CentOS os=CentOS title=“CentOS65” architecture=amd64/generic filetype=tgz content@=centos6-amd64-root-tgz 3. MAAS の管理画面の “Nodes”タブにて、ノードの情報を更新する OSを”Custom”、Releaseを”CentOS65”に変更して更新 4. MAAS の管理画面の “Nodes”タブにて、ノードを選択して「Start select nodes」 → 「Go」ボタンをクリックすると仮想マシンが起動 57 MAAS 環境での仮想サーバのプロビジョニング
  • 58.
    1. ロギングレベルの変更 • log.pyファイルの configure_root_logger() メソッドの中の記述を変更 "logging.INFO"を"logging.DEBUG"に変更 maas% sudo vi /usr/lib/python2.7/dist- packages/provisioningserver/logger/log.py. • maas_local_settings.py ファイルの記述を変更 LOGGING_LEVEL = ‘INFO’ を LOGGING_LEVEL = ‘DEBUG’に変更 maas% sudo vi /usr/share/maas/maas_local_settings.py • Apache HTTP サーバを再起動 maas% sudo service apache2 restart 58 トラブルシューティング
  • 59.
    2. トラブルシューティング情報源 Ubuntu MAAS1.7 manuals https://maas.ubuntu.com/docs/troubleshooting.html Troubleshooting • Nodes hang on “Commissioning” • Nodes fail to PXE boot • Can’t log in to node • Forgot MAAS superuser password • Need to reconfigure server IP address • Can’t find MAAS webpage • Debugging ephemeral image 59 トラブルシューティング
  • 60.
    再掲:本日お話ししたいこと • OpenStack で自動化ツールについて –OpenStack で使用する自動化ツールについて のおさらい • OpenStack で自動化ツールを使ってみた! – Ubuntu MAAS を使って仮想マシンに Ubuntu や CentOS をプロビジョニングしてみます 60 プレゼンテーションの目的
  • 61.