関連記事
- CloudStack 4.18をUbuntu 22.04 LTSにインストールしてみた
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ネットワーク設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントサーバー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ストレージ&システムVMイメージ設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: エージェント(KVMホスト)
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントコンソールからのセットアップ
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: GPUパススルー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ゲストネットワークにL2ネットワークを設定
エージェント(KVMホスト)インストール
aptでエージェントをインストールします。
$ sudo apt install cloudstack-agent
$ sudo vi /etc/cloudstack/agent/agent.properties
agent.propertiesを編集してCPUモードをホストのCPUに合わせます。
パフォーマンスが上がるようですが、複数のエージェントを稼働させる時にVMが異なるCPUで稼働することになります。エージェントを複数使用する場合は要注意。
guest.cpu.mode=host-model
設定終わったらエージェントを再起動。
$ sudo systemctl restart cloudstack-agent.service
次はlibvirtdのボートの設定です。
$ sudo cp /etc/libvirt/libvirtd.conf /etc/libvirt/libvirtd.conf.orig
$ sudo vi /etc/libvirt/libvirtd.conf
下記設定をおこなう。
確認はしていないけど、この設定は手動でやる必要はないかも。(自動で設定される?)
listen_tls = 0 listen_tcp = 0 tls_port = "16514" tcp_port = "16509" auth_tcp = "none" mdns_adv = 0
次に libvirtd を設定します。
$ sudo vi /etc/default/libvirtd
下記のコメントアウトを外します。
LIBVIRTD_ARGS="--listen"
最後にlibvirtd.serviceを設定してマシンを再起動します。
$ sudo vi /lib/systemd/system/libvirtd.service
下記を追記
Wants=libvirtd-tls.socket
Wants=libvirtd-tcp.socket
デーモンを更新して再起動。
$ sudo systemctl daemon-reload
$ sudo systemctl enable libvirtd-tcp.socket
$ sudo systemctl enable libvirtd-tls.socket
$ sudo systemctl mask libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tls.socket libvirtd-tcp.socket
$ sudo reboot
マシンを再起動したら、Apparmorを無効化します。
$ sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
$ sudo ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/
$ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
$ sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
エージェントを再起動すればオッケーです。
$ sudo systemctl restart cloudstack-agent
マネジメントサーバー – エージェントサーバー接続用設定
マネジメントサーバーとエージェントサーバーはSSHで接続するため、公開鍵を交換しておきます。(同一サーバーだけど、接続はSSH)
$ sudo cat /var/lib/cloudstack/management/.ssh/id_rsa.pub | sudo tee -a /root/.ssh/authorized_keys
ファイアウォール設定
一応ファイアウォールの設定もしておきます。iptablesを使うので、もし入っていなければインストールします。
$ sudo apt install iptables iptables-persistent
インストールしたら下記コマンドを実行します。
ただ、このあたりは適切に設定できているのか微妙。一旦スキップして、動作確認取れてから改めて設定した方がいいかも。
$ NETWORK=192.168.0.0/20
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p udp --dport 111 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 111 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 2049 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 32803 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p udp --dport 32769 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 892 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 875 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 662 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 8250 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 8080 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 9090 -j ACCEPT
$ sudo iptables -A INPUT -s $NETWORK -m state --state NEW -p tcp --dport 16514 -j ACCEPT
エージェント(KVMホスト)の設定はこれで終わり。
次はマネージメントサーバーの管理画面からの設定です。
関連記事
- CloudStack 4.18をUbuntu 22.04 LTSにインストールしてみた
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ネットワーク設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントサーバー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ストレージ&システムVMイメージ設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: エージェント(KVMホスト)
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントコンソールからのセットアップ
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: GPUパススルー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ゲストネットワークにL2ネットワークを設定