OpenStackの仮想ネットワーク管理機能「Quantum」の基本的な設定 4ページ
設定ファイルの編集:計算ノード
ネットワークノードでは、制御ノードで設定したquantum.confおよびapi-paste.iniファイルの編集に加え、以下の設定が必要だ。
- プラグインの設定
- nova-computeの設定
- sudoersファイルの設定
- libvertdの設定
プラグインの設定は、ネットワークノードの設定と同じく/linuxbridge/linuxbridge_conf.iniのみ編集が必要だ。これらは原則としてネットワークノードで設定したものと同じで構わない。
続くnova-computeの設定だが、設定ファイルである/etc/nova.confの修正が必要だ。まず、「network_manager」項目をコメントアウトしておく。
# network_manager = nova.network.quantum.manager.QuantumManager
次に、表3の項目について設定を変更しておく。
設定項目 | 値 |
---|---|
network_api_class | nova.network.quantumv2.api.API |
quantum_admin_username | <管理用のユーザー名> |
quantum_admin_password | <管理用ユーザーのパスワード> |
quantum_admin_auth_url | http://<Keystoneが稼働しているホスト名>:5000/v2.0/ |
quantum_auth_strategy | Keystone |
quantum_admin_tenant_name | <管理用テナント名> |
quantum_url | http://<Quantum Serverが稼働しているホスト名>:9696/ |
libvirt_vif_driver | nova.virt.libvirt.vif.QuantumLinuxBridgeVIFDriver |
また、quantumユーザーがroot権限でコマンドを実行できるよう、ネットワークノードの場合と同様/etc/sudoersファイルに下記を追加しておく。
quantum ALL=(ALL) NOPASSWD:ALL
仮想化ソフトウェアのフロントエンドにlibvirtを利用している場合、その設定ファイルについても変更が必要だ。変更が必要なのは/etc/libvirt/qemu.confというファイルで、まずコメントアウトされている下記の行について行頭の#を削除して有効にする。
#cgroup_device_acl = [ # "/dev/null", "/dev/full", "/dev/zero", # "/dev/random", "/dev/urandom", # "/dev/ptmx", "/dev/kvm", "/dev/kqemu", # "/dev/rtc", "/dev/hpet", #]
そのうえで、「”/dev/hpet”,」の後に「”/dev/net/tun”,」を追加する。この個所は最終的に以下のようになる。
cgroup_device_acl = [ "/dev/null", "/dev/full", "/dev/zero", "/dev/random", "/dev/urandom", "/dev/ptmx", "/dev/kvm", "/dev/kqemu", "/dev/rtc", "/dev/hpet", "/dev/net/tun", ]
さらに、下記の太字の行についてもコメントアウトを外して有効にしておこう。
# The user ID for QEMU processes run by the system instance. #user = "root" # The group ID for QEMU processes run by the system instance. #group = "root"
最後に、「clear_emulator_capabilities」を「0」に設定しておく。
# If clear_emulator_capabilities is enabled, libvirt will drop all # privileged capabilities of the QEmu/KVM emulator. This is enabled by # default. # # Warning: Disabling this option means that a compromised guest can # exploit the privileges and possibly do damage to the host. # # clear_emulator_capabilities = 1 clear_emulator_capabilities = 0 ←この行を追加する
以上で設定は完了だ。libvirtdサービスおよびopenstack-nova-computeサービスを再起動して設定を反映させるとともに、プラグイン(quantum-linuxbridge-agent)サービスを稼働させておこう。
# service openstack-nova-compute restart # service libvirtd restart # service quantum-linuxbridge-agent start