1、新建一个虚拟机作为新增计算节点compute2
##虚拟机配置如下:
2个硬盘 8G/4H/100G/200G
两个网卡:
ens33一个浮动地址(桥接),提供出网地址:192.168.12.159
ens37一个内网IP地址(桥接),用于内网之间通信:192.168.12.160
2、修改ip配置文件,配置静态ip (两个网卡都要配置)
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.12.159
NETMASK=255.255.255.0
GATEWAY=192.168.12.1
DNS1=192.168.111.2
3、网络重启
service network restart
4、初始化,安装要用到的服务
yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server
5、关闭防火墙、networkmanager,iptables,selinux
systemctl stop firewalld && systemctl disable firewalld && systemctl stop NetworkManager && systemctl disable NetworkManager
(正常情况下,Centos不存在iptables)
systemctl stop iptables && systemctl disable iptables
6、修改selinux ,重启虚拟机生效
vim /etc/sysconfig/selinux
SELINUX=disabled
7、配置host文件,各个节点保持一致,另两个节点添加最后一行
vim /etc/hosts
192.168.12.137 controller
192.168.12.133 compute
192.168.12.160 compute2
8、配置主机名
hostnamectl set-hostname compute2
9、做时间同步,各个节点操作
ntpdate cn.pool.ntp.org
[root@computer etc]# yum install -y chrony
[root@computer etc]# vim /etc/chrony.conf
server 192.168.12.137 iburst #只留一行
[root@computer etc]# systemctl enable chronyd.service
[root@computer etc]# systemctl start chronyd.service
[root@computer etc]# timedatectl set-timezone Asia/Shanghai
[root@computer etc]# chronyc sources
10、配置无密码登陆,各个节点操作
cd /root
ssh-keygen -t rsa
#一直回车即可
ssh-copy-id -i .ssh/id_rsa.pub controller
ssh-copy-id -i .ssh/id_rsa.pub compute
ssh-copy-id -i .ssh/id_rsa.pub compute2
11、上传openstack_N版本压缩包
rz #上传
12、开始安装openstack,N版本
——上传openstack离线软件包到root目录下
在root下创建一个目录openstack,然后把软件包解压到这个目录下
mkdir /root/openstack && cd /root/openstack && tar zxvf /root/openstack_N.tar.gz
——解压之后会出现一个openstack目录,把openstack目录整体移动到/下
mv openstack /
——重新配置yum源
cd /etc/yum.repos.d/ && mkdir bak && mv CentOS-* bak/ && mv epel* bak/
cp bak/CentOS-Base.repo ./
生成一个新的openstack的yum源
cat < /etc/yum.repos.d/openstack.repo
[openstack]
enable=1
gpgcheck=0
baseurl=file:///openstack
EOF
yum makecache #(理清缓存)
13、在controller节点操作
(1)修改之前生成openstack.txt文件
cd /root
vim openstack.txt
在已有环境中(controller中)找到之前生成的配置文件,修改CONFIG_COMPUTE_HOSTS=192.168.12.133为CONFIG_COMPUTE_HOSTS=192.168.12.133,192.168.12.160保存退出
(2)执行packstack配置文件
packstack answer -file=openstack.txt
执行过程根据配置来定,一般要等20分钟。
安装过程需要查看iptables状态,打开一个新对话,在controller和computer和compute2节点
systemctl status iptables
如果发现iptables处于active状态,需要停掉,否则后期可能出错
systemctl stop iptables
17、修改nova配置文件
vim /etc/nova/nova.conf
transport_url=rabbit://guest:[email protected] #在第一行[DEFAULT]字段加如下一行
memcache_servers=192.168.12.137:11211 #这行注释打开,ip变成这个主机ip
api_servers=http://192.168.12.137:9292 #这行注释打开,变成这个ip地址
my_ip=192.168.12.160 #这行注释打开,变成这个ip地址
vncserver_proxyclient_address=192.168.12.160 #这行注释打开,变成这个ip地址
novncproxy_base_url=http://192.168.12.137:6080/vnc_auto.html #这行注释打开,变成这个ip地址
virt_type=qemu #这行注释打开
18、重新启动服务
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl restart libvirtd.service openstack-nova-compute.service
19、在controller节点中同步新的计算节点
source keystonerc_admin
openstack hypervisor list
20、配置网络
(1)创建一个桥接网卡,桥接到能够访问外网的那个网卡,也就是ens33
cd /etc/sysconfig/network-scripts
mkdir bak
cp ifcfg-ens33 bak/
(2) 创建网桥,网桥就是用来给实例分配浮动ip地址的(浮动ip也就是外网ip)
vim ifcfg-br-ex
将以下内容复制到ifcfg-br-ex配置文件中
DEVICE=br-ex
BOOTPROTO=static
ONBOOT=yes
TYPE=OVSBridge
DEVICETYPE=ovs
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
IPADDR=192.168.12.159 #外网ip
NETMASK=255.255.255.0
DNS1=192.168.111.2
GATEWAY=192.168.12.1
(3)修改配置文件 ifcfg-ens33
vim ifcfg-ens33
将原内容全部删除,复制以下内容
DEVICE=ens33
ONBOOT=yes
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
(4)重启网络
service network restart
(5)查看网卡配置
ip addr
(6)修改配置文件
vim /etc/neutron/neutron.conf #修改配置文件
transport_url = rabbit://guest:[email protected] #新增加一行配置文件
memcached_servers=192.168.12.137:11211 #新增加一行
lock_path=/var/lib/neutron/tmp #原来的路径变成这个
cd /etc/neutron
vim l3_agent.ini #修改三层代理的和浮动ip相关的配置文件
ovs_integration_bridge = br-int #这行注释打开
availability_zone = nova #这行注释打开
vim metadata_agent.ini #修改配置文件
nova_metadata_port = 8775 #这行注释打开
nova_metadata_protocol = http #这行注释打开
memcache_servers = 192.168.12.137:11211 #新增加一行
vim dhcp_agent.ini # 修改配置文件
ovs_integration_bridge = br-int #这行注释打开
enable_metadata_network = True #原来是False,需要变成True
dhcp_domain = test.localdomain #新增加一行
dnsmasq_dns_servers = 192.168.111.2 #原来的注释打开,修改成外网的dns地址
dnsmasq_lease_max = 16777216 #这行注释打开
availability_zone = nova #这行注释打开
上面修改好了之后重启服务
(7)重新启动服务
systemctl restart neutron-ovs-cleanup.service neutron-openvswitch-agent.service neutron-metering-agent.service neutron-metadata-agent.service neutron-lbaasv2-agent.service neutron-l3-agent.service neutron-dhcp-agent.service
(8)#查看启动了哪些服务
systemctl list-unit-files | grep neutron
22、在控制节点上查看新节点
neutron agent-list //看到新节点
nova service-list //看到新节点
效果图:
23、登录dashboard,管理员——系统——虚拟机管理器,
参考:
https://blog.csdn.net/yunlilang/article/details/79304916 https://blog.csdn.net/duanminglei1/article/details/80500320
https://www.dwhd.org/20180824_140441.html