68
OpenStackをコマンドで攻める! 構築・運用とトラブル解決 日本仮想化技術株式会社 技術部 遠山 洋平 1

OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Embed Size (px)

DESCRIPTION

講師:日本仮想化技術 遠山 日時:2014/06/05 タイトル:OpenStackをコマンドで攻める! 構築・運用とトラブル解決 概要: - OpenStackの構築方法 - 動作確認の方法 - トラブルシューティング

Citation preview

Page 1: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

OpenStackをコマンドで攻める! 構築・運用とトラブル解決

日本仮想化技術株式会社 技術部 遠山 洋平

1

Page 2: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

本日の内容

!

1. 自己紹介 2. OpenStackの構築方法 3. 動作確認の方法 4. トラブルシューティング

2

Page 3: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

About Me

名前: 遠山 洋平

出身: 宮城県

    VDI / 最近はOpenStack担当

[他の仕事]

– 日経Linux執筆・連載(2011年5月〜)

– 秀和システム「VMware 設計・運用・構築プロフェッショナルガイド」

– 技評「VMwareポケットリファレンス」

3

Page 4: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

  OpenStackの構築方法

4

Page 5: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

OpenStackの構築方法

• 公式マニュアル • Ubuntu Juju + MAAS • RDO OpenStack • Mirantis Fuel etc.. !

• Chef, Puppet etc.. • DevStack

5

詳細 > http://www.openstack.org/software/start/

Page 6: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Ubuntu Juju

• サーバーデプロイ・環境構築ツール • MAAS

• OpenStack

• HP Public Cloud

• Amazon EC2

• Windows Azure

• LXC

6

Page 7: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

コマンド例

$ juju deploy juju-gui ; juju expose juju-gui (JuJu-GUIのデプロイ) $ juju deploy wordpress mysite $ juju deploy mysql mysite-db $ juju add-relation mysite mysite-db (mysiteとmysite-dbを接続) $ juju expose mysite !$ juju add-unit -n1 mysite (スケールアウトの実施) $ juju deploy haproxy mysite-ha (HAProxyのデプロイ) $ juju add-relation mysite-ha mysite ; juju expose mysite-ha

7

Page 8: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

MAAS(Metal As A Service)

• 物理ノード管理ツール • Juju + MAASでOpenStackをデプロイ

8

Page 9: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

MAAS管理画面

9

Page 10: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Juju + MAAS → OpenStack

10

Page 11: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

RDO

• Red Hat Enterprise LinuxユーザーのOpenStack構築を支援するコミュニティ

• RHEL, CentOS, Fedora • 単体構成なら15分でデプロイできる

11

# setenforce permissive # yum -y install http://rdo.fedorapeople.org/rdo-release.rpm # yum install -y openstack-packstack # packstack --allinone

Page 12: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

こんなの作りました

# git clone https://github.com/ytooyama/rdo-centos6-installtool.git # cd rdo-centos6-installtool # chmod +x centos6-rdo.sh # ./centos6-rdo.sh Do you want to Copy the sysctl.conf (y/n)? (デフォルトのカーネルパラメータを上書きするか)

Do you want to Set SELinux (y/n)? (SELinuxを設定変更するか)

Set the Repo (havana/icehouse/skip)? (インストールするOpenStackのバージョンを指定)

Do you want to Custom installation of RDO OpenStack (y/n)? (RDO OpenStackでカスタムインストールするか)

12

詳細 > https://github.com/ytooyama/rdo-centos6-installtool

Page 13: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

  OpenStackの状態を確認

13

Page 14: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

動作状況の確認方法

• OpenStack Dashboardで確認 • コマンドで確認

14

Page 15: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

コマンドのルール

• COMPONENT option-list • COMPONENT option list

- 一覧の表示 • COMPONENT option-show id • (もしくはCOMPONENT option-get id)

- 詳細情報の表示

15

Page 16: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

demo

16

Page 17: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

OpenStackの構成

Page 18: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Keystone(認証)

• 重要コンポーネント「Keystone」 !

• keystone token-get ユーザートークン

• keystone service-list サービス • keystone user-list ユーザー • keystone tenant-list テナント

18

Page 19: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

keystoneでエラー

• Keystoneのログ • ログレベルをあげる • SQLサーバーログ • メッセージキューサービスのログ !

• Keystoneの設定 • Keystoneサービスの再起動

19

Page 20: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Glance(イメージ)

• glance image-list – 登録済みイメージ一覧

• glance image-show “VM Name” – 登録済みイメージ詳細

20

Page 21: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Glanceでエラー

• Glanceのログ • ログレベルをあげる • SQLサーバーログ • メッセージキューサービスのログ !

• Glanceの設定 • Glance関連サービスの再起動

21

Page 22: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Nova(OpenStack本体)

• nova service-list - サービス一覧

• nova hypervisor-list - ハイパーバイザー一覧

• nova list • nova-manage vm list

- インスタンス一覧

22

Page 23: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Neutron(ネットワーク)

• neutron agent-list – エージェントの表示

• neutron floatingip-list – 確保済みFloating IPのリスト

• neutron net-list – ネットワークのリスト

• neutron subnet-list – サブネットのリスト

23

→ 次ページに続きます

Page 24: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

• neutron port-list – ネットワークポートの表示

• neutron security-group-role-list – セキュリティグループの設定

24

Page 25: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Neutronでエラー

• Neutronのログ • ログレベルをあげる • SQLサーバーログ • メッセージキューサービスのログ !

• Nova-Computeとネットワークノードの設定

• Neutron関連サービスの再起動

25

Page 26: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

demo

26

Page 27: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

RDO OpenStack

• openstack-status

27

Page 28: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

トラブルシューティング編

• 私が構築時にはまったところ

28

Page 29: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

パッケージミス(症例1)

29

Page 30: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

症例1

• UbuntuでOpenStack Icehouse RC1 • 公式マニュアル参考にインストール • glance-manage db_syncでエラー発生 !!!

• 公式のソースを持ってきて実行→正常

30

CRITICAL glance [-] AttributeError: ‘NoneType' object has no attribute ‘drivername'

Page 31: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

原因

• Ubuntuパッケージのミス – /etc/glance/schema-image.jsonがディレクト

リーに無いため

– パーミッションがおかしい問題もあった模様

!• バグ報告(LP1307518)→RC2で修正済

31

Page 32: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

症例2

• UbuntuでOpenStack Havana • 公式マニュアル参考にインストール • heat-engineサービスでエラー発生 !!!

• 公式のソースを上書きして実行→正常

32

2014-02-25 14:52:01.567 8263 ERROR heat.engine.resources [-] Failed to read /etc/heat/environment.d2014-02-25 14:52:01.567 8263 ERROR heat.engine.resources [-] [Errno 2] No such file or directory: '/etc/heat/environment.d'

Page 33: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

原因

• Ubuntuパッケージのミス – default.yamlファイルの欠損 !

• バグ報告(LP1284471)→修正済

33

Page 34: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

ここまでのまとめ

1. 正常に動かないときはログ確認 2. 公式のソースを展開して実行 3. バグは報告する

34

Page 35: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

RDOで構築したIcehouseで Nova-Computeが正常動作しない

(症例2)

35

Page 36: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

症例

• XenServer上にRDOでIcehouseを構築 • Fedora 20を利用 • コンピュートサービスがFailed • libvirtdが動かない

36

Page 37: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

libvirtdが動いていない!

37

(DOMU-Fed20)# systemctl status libvirtd.service libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: inactive (dead) since 火 2014-05-20 20:23:20 JST; 3s ago Docs: man:libvirtd(8) http://libvirt.org Process: 2619 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS) Main PID: 2619 (code=exited, status=0/SUCCESS) ! 5月 20 20:23:19 icecom systemd[1]: Started Virtualization daemon. 5月 20 20:23:20 icecom libvirtd[2619]: libvirt version: 1.1.3.5, package: 1.fc20 (Fedora Project, 2014-05-03-21:46:09, buildvm-16.phx2.fedoraproject.org) 5月 20 20:23:20 icecom libvirtd[2619]: cannot initialize libxenlight context, probably not running in a Xen Dom0, disabling driver 5月 20 20:23:20 icecom libvirtd[2619]: Initialization of LIBXL state driver failed: Unknown problem 5月 20 20:23:20 icecom libvirtd[2619]: Driver state initialization failed

Page 38: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

原因

• Fedoraパッケージのバグでした – Bug 1098376 - libvirtd fails to start

on Xen instances • libvirt-1.1.3.5-2で修正済

!• CentOS 6.5では動作

– qemu

38

Page 39: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

インスタンスが 外部ネットワークにつながらない!

(症例3)

39

Page 40: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

症例

1. ソフトウェアアップデート適用 2. 再起動 3. インスタンス起動 4. ネットワーク不通

40

udhcpc (v1.20.1) started Sending discover... Sending discover… Sending discover...

Page 41: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

実行するコマンド

ip route

41

Page 42: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

解決方法(一例)

• ip route delete

42

Page 43: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

解決方法(一例)

• 問題解決

43

Page 44: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Ubuntuでの回避策

• /etc/network/interface

44

auto eth0 iface eth0 inet static pre-up service openvswitch-switch start || true address 192.168.0.9 netmask 255.255.255.0 auto br-ex iface br-ex inet static pre-up service openvswitch-switch start || true address 10.0.0.9 netmask 255.255.255.0 gateway 10.0.0.1 dns-nameservers 10.0.0.1 auto eth1 iface eth1 inet manual pre-up service openvswitch-switch start || true up ip address add 0/0 dev $IFACE up ip link set $IFACE up down ip link set $IFACE down

Page 45: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

原因が分からないときは どうする?

ネットワークにつながらない!

45

Page 46: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

まず実行するのは

ip addr show

46

Page 47: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

ネットワークノードで実行

• br-int,br-tunなどがあることを確認

47

Page 48: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Fedora 20の場合

• ホスト再起動  ↓ • ネットワーク接続不可  ↓ • ifdown , ifup or • networkサービスを再起動

48

詳細 > http://openstack.redhat.com/Fedora_20_with_existing_network

Page 49: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

次に実行するのは

ovs-vsctl

49

Page 50: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

ネットワークノードで実行

• GREの場合

50

Page 51: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

コンピュートノードで実行

• GREの場合

51

Page 52: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

ブリッジの状態を確認

• ブリッジの登録を確認 !!!

• ブリッジとデバイスの接続を確認

52

# ovs-vsctl list-br br-ex br-int br-tun

# ovs-vsctl list-ports br-ex eth0 (略)

Page 53: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

その他

53

Page 54: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Network Name Spaceの確認

ip netns exec

54

Page 55: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

ip netns execの利用法

• ip netns • 仮想ルーターと仮想DHCPサーバーを

確認

55

Page 56: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

qrouterの確認(1)

• ifconfigでIPアドレスを確認

56

Page 57: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

qrouterの確認(2)

• qrouterからPing • 外部PCからqrouterにPing

57

Page 58: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

qdhcpの確認(1)

• ifconfigでIPアドレスを確認

58

Page 59: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

qdhcpの確認(2)

• qdhcpからインスタンスにPing

59

Page 60: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

それでもつながらない

• Floating IPを付け直し

• インスタンス再起動

• neutron-openvswitch-agent再起動

• ネットワークノード再起動

• ログを見る

• 各種設定の見直し

60

Page 61: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

その他注意すべきポイント

61

Page 62: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

PDFからのコピペ

• 手順通り実行 • エラー !

• PDFから複数行に渡る文字列をコピペする

 ↓ • 折り返し部分に謎のスペースが • コマンド失敗

62

Page 63: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Adobe Reader

63

Page 64: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

Mac OS X プレビュー

64

Page 65: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

キーペアがインポートできない

• ssh-keygenコマンドで鍵を作成 • インポート実行 • エラー • 何回やってもエラー !

• エディタ設定が原因

65

Page 66: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

原因

• viエディタで開いてコピペ • .vimrc設定の問題

66

set formatoptions=q 自動改行オフ set textwidth=0 長い文章の自動折り返しをしない set linebreak ワードラップを有効

Page 67: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

• linebreak オン !!!!

• linebreak オフ

67

Page 68: OpenStackをコマンドで攻める! 構築・運用とトラブル解決 - OpenStack最新情報セミナー 2014年6月

まとめ

• OpenStackコマンドで確認 • ログを確認 • 設定を確認 • ログレベルを上げる • ログを確認 • マニュアルを疑え • 自分の環境を疑え

68