挨踢小茶今天因业务原因需要修改Openstack集群的(使用Mirantis搭建的基于Centos的Openstack环境)Public IP地址,使用不同的网段和网络接口,并且使用Vlan Tag接入到生产环境的思科交换机中,下面是整理的一些步骤,也以便以后可以回顾。
创建Vlan接口
登录到Openstack Controller节点(Public IP地址为10.0.0.100)
进入/etc/sysconfig/network-scripts/目录,可以看到有很多关于网口的配置文件,在这个目录下创建一个新的vlan子接口配置文件,在本文中是eth0.204(即这个Public网络的数据会从eth0出去,204代表了这个网段的vlan id,同时eth0接入的对端网络设备需要开启802.1q trunk模式,以及支持vlan 204通过)。如果本来没有存在这个配置文件,可以按以下步骤手动添加;如果本来已经有关于这个vlan的接口,就可以不用进行下面的操作了。
输入vi ifcfg-eth0.204,添加如下内容,本例中10.0.0.100是新的public IP 地址
DEVICE=eth0.204
IPADDR=10.0.0.100
NETMASK=255.255.255.0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
VLAN=yes
然后重启网络服务/etc/init.d/network restart即可在ifconfig下看到多出了一个网络接口为eth0.204
同理在openstack compute节点上也创建出关于public网络的接口配置文件
更改mysql数据库
这个时候,在controller节点输入keystone endpoint-list
可以看到这里面的publicurl的地址还是旧的IP地址,需要进入mysql数据库进行手动修改。
在命令行输入mysql -uroot-p 并输入mysql密码,如果使用的是Mirantis安装的Openstack,可以从/etc/mysql/conf.d/password.cnf 看到自动配置的mysql密码是什么。
[root@node-4 ]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 486
Server version: 5.5.28 MySQL Community Server (GPL)Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>use keystone;
mysql>select id,url from endpoint;
mysql>update endpoint set url='http://10.0.0.100:8773/services/Cloud' where id='c6edf51290e34b84995bccacbc2a2454';
(以上的url字段和id字段根据实际情况填写,这条命令会更新mysql数据库的url字段,将其中的IP地址更改为新的Public IP地址。实际过程需要执行7,8条相似的命令让所有的url都更新过来)
完事后重启mysql, httpd, memcached服务。
修改openstack nova配置文件
因为在Openstack搭建初期很多地方已经将public IP地址写入到配置文件中了,需要手动重新修改。
主要修改的是所有节点的nova.conf文件,一个方法是将nova.conf文件里关于所有旧的IP地址的配置统统改成新的IP地址。另一种方法是使用下面的命令:
find {keystone,nova,cinder,quantum,glance} -type f -exec grep -nH 10.0.0.25 {} \;
#查看所有关于旧IP地址的配置信息,你可以将10.0.0.25替换成你的旧IP地址find {keystone,nova,cinder,quantum,glance} -type f -exec sed -i s/10.0.0.25/10.0.0.100/g {} \;
#将配置中所有10.0.0.25改成10.0.0.100
修改完后,还需要修改nova.conf文件里面的字段public_interface=eth0.204
之后需要重启每个节点的nova-compute和nova-network(或者neutron)服务。
然后再根据个人的需求修改floating ip的地址池来给客户机提供外网的服务吧。
文章评论