Linux
KVM
ESXi
openstack

OpenStackをESXi 6.5上で立ち上げる時にハマったこと

自分のための備忘録

  • ESXi側でのNested Virt設定
  • OpenStack側でのKVM有効化
    • Booting from Hard Disk.. で止まる件の解消
  • その他
    • packstackでのインストール時、次のオプションのどれかでネットワークが死んだ。時間がなかったので深堀はせず。
      • --neutron-fwaas=y
      • --os-neutron-vpnaas=y
      • --os-trove-install=y
      • --os-panko-install=y

ESXi 6.5

全体

/etc/vmware/config
vhv.enable = "TRUE"
/etc/init.d/hostd restart

VM

  • CPUのハードウェア仮想化にチェック
  • 仮想マシンオプション
    • 構成パラメータ
      • hypervisor.cpuid.v0 : FALSE (Hyper-Vじゃないし多分いらない)
  • BIOS設定とかもいるのかな~っと思ってBIOSも確認したけど設定箇所自体無かった
  • VMが属してるvSwitchで無差別モード(promisc)の承認が必要かも

OpenStack / CentOS 7.4

# 2.0GHz*4Core*2CPU 64GB RAMでインストールに3000秒くらい
packstack ¥
  --allinone            ¥
  --provision-demo=n    ¥
  --os-neutron-ovs-bridge-mappings=extnet:br-ex      ¥
  --os-neutron-ovs-bridge-interfaces=br-ex:ens192    ¥
  --os-neutron-ml2-type-drivers=vxlan,flat           ¥
  --os-ssl-cert=/etc/pki/tls/certs/domain.tld.cer    ¥
  --os-ssl-key=/etc/pki/tls/private/domain.tld.key   ¥
  --os-ssl-cachain=/etc/pki/tls/certs/ca.cer         ¥
  --nova-ssl-cert=/etc/pki/tls/certs/domain.tld.cer  ¥
  --nova-ssl-key=/etc/pki/tls/private/domain.tld.key ¥
  --os-horizon-ssl=y    ¥
  --os-manila-install=y ¥
  --os-sahara-install=y ¥
  --os-heat-install=y   ¥
  --os-magnum-install=y ¥
  --os-neutron-lbaas-install=y ¥
  --cinder-volumes-create=n    ¥
  --default-password=hogefuga

. keystonerc_admin
neutron net-create external_network --provider:network_type flat --provider:physical_network extnet  --router:external
neutron subnet-create --name public_subnet --enable_dhcp=False --allocation-pool=start=192.168.10.100,end=192.168.10.150 --gateway=192.168.10.1 external_network 192.168.10.0/24
openstack image create --file CentOS*.qcow2 --container-format bare --disk-format qcow2 --public CentOS7
openstack project create --enable internal
openstack user create --project internal --password `grep OS_PASSWORD keystonerc_admin | awk -F= '{print $NF}' | sed -e "s@'@@g"` --email admin@domain.tld --enable internal
openstack role add --project internal --user internal _member_
sed -e "s@admin@internal@g" keystonerc_admin > keystonerc_internal
. keystonerc_internal
neutron router-create router1
neutron router-gateway-set router1 external_network
neutron net-create private_network
neutron subnet-create --name private_subnet private_network 192.168.100.0/24
neutron router-interface-add router1 private_subnet
openstack keypair create host --public-key .ssh/id_rsa.pub
openstack security group rule create --protocol icmp --ingress default
openstack security group rule create --dst-port 22 --protocol tcp --ingress default

ここまでの設定でも動きはするもののaccel=tcgのせいか?異常に重い。
http://uramocha02.blogspot.jp/2016/06/kvm3.html

調べてみるとKVMを使えという回答が主流なので使おうとするが、booting from hard diskと表示される部分でスタックする。
下記にhw_machine_typeを設定しろというコメントがあったため設定してみると、確かに改善された。
https://bugs.launchpad.net/kolla/+bug/1688496

/etc/nova/nova.conf
virt_type=kvm
#virt_type=qemu

#hw_machine_type=<None>
hw_machine_type= x86_64=pc-i440fx-rhel7.2.0

ほかの設定可能値は/usr/libexec/qemu-kvm -machine helpで確認可能。