OpenStack RDO 部署流程 - 1(自動化部署)
0.環境:
操作系統:CentOS6.5 amd64
目標系統:OpenStack Havana Release + Open vSwitch + GRE
網絡環境:
10.1.101.0/24:負責外網流量
192.168.200.0/24:負責管理流量
192.168.300.0/24:負責隧道流量
計劃部署3臺服務器:
(1)Controller:Nova、Neutron、Keystone、Cinder、Glance、Nagios
hostname: nick-controller
ip-eth0: 10.1.101.192
ip-eth1: 192.168.200.192
ip-eth2: 192.168.300.192
(2)Network:NeutronAgents
hostname: nick-network
ip-eth0: 10.1.101.191
ip-eth1: 192.168.200.191
ip-eth2: 192.168.300.191
(3)Compute:Nova-compute,Neutron-L2-Agent
hostname: nick-compute-1
ip-eth0: 10.1.101.190
ip-eth1: 192.168.200.190
ip-eth2: 192.168.300.190
1.操作系統配置
(1) /etc/hosts:保證所有結點互相能ping通hostname
(2) resolv.conf:保證DNS服務器正常
(3) SELinux: disabled
(4) sshd config: /etc/ssh/sshd_config: Listen 0.0.0.0
(5) EPEL Repo:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
# rpm -Uvh http://mirrors.hustunique.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
(6) RDO Repo:
# rpm -Uvh http://repos.fedorapeople.org/repos/openstack/openstack-havana/rdo-release-havana-7.noarch.rpm
(7) 更新操作系統到最新版本
# yum -y update
# reboot
2. RDO安裝(在控制結點上操作)
(1) yum install -y ntp
(2) yum install -y openstack-packstack
生成RDO配置文件
(3) packstack --gen-answer-file my_answers.txt
3.編輯配置文件
# 安裝Nagios監控
CONFIG_NAGIOS_INSTALL=y
# 測試Cinder,會mount一個本地文件作爲卷
CONFIG_CINDER_VOLUMES_CREATE=y
# 安裝Compute節點
CONFIG_NOVA_COMPUTE_HOSTS=192.168.200.190
# 開啓GRE隧道(暫時RDO還不支持直接部署VxLAN)
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre
# 配置隧道ID範圍,映射到租戶
CONFIG_NEUTRON_OVS_TUNNEL_RANGES=1:10000
# 配置隧道通訊網卡,一般建議獨佔
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth2
# 配置網絡節點
CONFIG_NEUTRON_DHCP_HOSTS=192.168.200.191
CONFIG_NEUTRON_L3_HOSTS=192.168.200.191
CONFIG_NEUTRON_LBAAS_HOSTS=192.168.200.191
CONFIG_NEUTRON_METADATA_HOSTS=192.168.200.191
4.自動化部署
packstack --answer-file my_answers.txt
5.後續問題處理
(1) Horizon訪問權限
在控制節點上,編輯/etc/openstack-dashboard/local_settings
ALLOWED_HOSTS = [ '*' ]
(2) 網橋配置
在網絡節點上,需要手動配置一次OVS網橋
將eth0外網網卡配置複製到br-ex,同時清除eth0的配置信息。
/etc/sysconfig/network-scripts/ifcfg-br-ex
/etc/sysconfig/network-scripts/ifcfg-eth0
添加br-ex、br-int網橋設備,將eth0綁定到網橋上。
# ovs-vsctl add-br br-ex
# ovs-vsctl add-port br-ex eth0
# ovs-vsctl add-br br-int
# service network restart
在計算節點上,需要手動配置一次OVS網橋
# ovs-vsctl add-br br-int
# service network restart
(3) 虛擬網卡MTU配置,降低MTU防止不必要的分片
在網絡節點上,增加dnsmasq配置文件:
/etc/neutron/dnsmasq-neutron.conf:
內容爲:dhcp-option-force=26,1400
將其指定到dhcp-agent配置文件中:
/etc/neutron/dhcp_agent.ini:
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf
# service neutron-dhcp-agent restart
(4) 配置NoVNC
在計算節點上:/etc/nova/nova.conf
--vnc_enabled=true
--vncserver_listen=0.0.0.0
--vncserver_proxyclient_address=192.168.200.190
--novncproxy_base_url=http://10.1.101.190:6080/vnc_auto.html
--xvpvncproxy_base_url=http://10.1.101.190:6081/console
(5) Libvirt配置
在計算節點上:
/etc/libvirt/libvirtd.conf:
listen_tls = 0
listen_tcp = 1
auth_tcp = "none"
auth_tls = "none"
/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/net/tun",
]
/etc/sysconfig/libvirtd:
LIBVIRTD_ARGS="-d -l"