基础服务安装
一、上传镜像
Controller节点
双击 SecureFX 将Centos7镜像与openstack-M版镜像上次至root目录
~表示为root目录,上传镜像的位置是自己选择的
# mkdir -p /opt/centos /opt/mitaka (创建centos、mitaka目录)
# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/ (将centos镜像文件挂载到mnt目录下) # cp -rvf /mnt/* /opt/centos/ (将mnt目录下挂载的内容拷贝至/opt/centos目录) # umount /mnt/ (拷贝完成后取消挂载) # mount -o loop Mitaka.iso /mnt/ (将openstack镜像文件挂载到mnt目录下) # cp -rvf /mnt/* /opt/mitaka/ # umount /mnt/ (拷贝完成后取消挂载,mnt目录下的文件将会消失)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
注:挂载成功后,对应目录下应该有文件。
这样关闭虚拟机后不用重新挂载,可以继续使用yum源;
也可以在mnt目录下创建centos和mitaka目录,将两个镜像分别挂载在对应的mnt目录下,不过每次重启虚拟机后需要重新使用mount命令挂载
二、关闭防火墙与安全策略
Controller 和 Compute节点
1)关闭防火墙
# systemctl mask firewalld.service
注销防火墙服务
# systemctl stop firewalld.service
暂停防火墙服务
# systemctl disable firewalld.service
关闭防火墙开机自启
- 1
- 2
- 3
- 4
- 5
- 6
2)清除iptables安全规则(服务器慎用)
# iptables -F # iptables -X # iptables -Z
# iptables<span class="token operator">-</span>save Generated by iptables<span class="token operator">-</span>save v1<span class="token punctuation">.</span><span class="token number">4.21</span> on Sun Sep <span class="token number">30</span> <span class="token number">16</span><span class="token operator">:</span><span class="token number">33</span><span class="token operator">:</span><span class="token number">19</span> <span class="token number">2018</span> <span class="token operator">*</span>filter <span class="token operator">:</span>INPUT ACCEPT <span class="token punctuation">[</span><span class="token number">18</span><span class="token operator">:</span><span class="token number">1188</span><span class="token punctuation">]</span> <span class="token operator">:</span>FORWARD ACCEPT <span class="token punctuation">[</span><span class="token number">0</span><span class="token operator">:</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">:</span>OUTPUT ACCEPT <span class="token punctuation">[</span><span class="token number">10</span><span class="token operator">:</span><span class="token number">936</span><span class="token punctuation">]</span> COMMIT Completed on Sun Sep <span class="token number">30</span> <span class="token number">16</span><span class="token operator">:</span><span class="token number">33</span><span class="token operator">:</span><span class="token number">19</span> <span class="token number">2018</span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
3)关闭Selinux
# vi /etc/selinux/config
修改 SELINUX=permissive
# setenforce 0 临时关闭Selinux
- 1
- 2
- 3
三、配置主机映射
Controller 和 Compute节点
# vi /etc/hosts 在hosts文件中添加如下内容
192.168.100.10 controller
192.168.100.20 compute
- 1
- 2
- 3
修改完成后两台虚拟机互ping主机名,例如 compute节点 ping controller
能ping通说明配置正确
四、配置yum源
Controller节点
1)配置controller节点的yum源
注: baseurl=file://+centos文件的路径 /opt/centos
baseurl=file://+Openstack-Mitaka文件的路径/opt/mitaka/Openstack-Mitaka
# mkdir /opt/repo
# mv /etc/yum.repos.d/*.repo /opt/repo/ (离线安装,所以yum.repos.d目录下只能有你自己配置的repo文件)
- 1
- 2
[root@controller yum.repos.d]# vi /etc/yum.repos.d/local.repo [centos] name=centos baseurl=file:///opt/centos gpgcheck=0 enabled=1 [mitaka] name=mitaka baseurl=file:///opt/mitaka/Openstack-Mitaka gpgcheck=0 enabled=1
# yum clean all (清理yum缓存)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
# yum list
(列出yum源,检验yum是否配置成功)
- 1
- 2
如图,yum源配置成功
2)Controller节点安装FTP服务
# yum install -y vsftpd
# vi /etc/vsftpd/vsftpd.conf
(在vsftpd.conf内添加)
anon_root=/opt (/opt为centos、mitaka文件的路径)
# systemctl start vsftpd.service (启动vsftpd服务)
# systemctl enable vsftpd.service (设置vsftpd服务开机自启)
- 1
- 2
- 3
- 4
- 5
- 6
Compute节点
3)Compute配置yum源
# mkdir /opt/repo
# mv /etc/yum.repos.d/*.repo /opt/repo/
(离线安装,所以yum.repos.d目录下只能有你自己配置的repo文件)
- 1
- 2
- 3
# vi /etc/yum.repos.d/local.repo [centos] name=centos baseurl=ftp://192.168.100.10/centos gpgcheck=0 enabled=1 [mitaka] name=mitaka baseurl=ftp://192.168.100.10/mitaka/Openstack-Mitaka gpgcheck=0 enabled=1
# yum clean all # yum list (检验yum是否配置成功)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
五、安装ntp(时间同步)服务
Controller
# yum install -y ntp
- 1
配置ntp.conf文件
[root@controller ~]# vi /etc/ntp.conf (server下添加) server 127.127.1.0 fudge 127.127.1.0 stratum 10
# systemctl start ntpd<span class="token punctuation">.</span>service # systemctl enable ntpd<span class="token punctuation">.</span>service # ntpstat (查看ntp服务状态)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Compute节点
# yum install -y ntp
# ntpdate controller
- 1
- 2
如图,表示ntp服务安装成功
29 Sep 16:47:08 ntpdate[21333]: the NTP socket is in use, exiting
没有数字显示表示ntp服务安装失败
六、安装Openstack软件包
Controller和Compute节点
# yum install -y python-openstackclient openstack-selinux
# yum –y upgrade --skip-broken
- 1
- 2
注:安装完成后可以重启两台虚拟机,使linux更新的内核生效
七、 安装数据库
Controller节点
[root@controller ~]# yum install -y mariadb mariadb-server python2-PyMySQL
- 1
配置数据库
编辑/etc/my.cnf文件,在[mysqld]下添加如下内容
[mysqld]
bind-address=192.168.100.10 (controller节点的内网IP地址)
default-storage-engine=innodb
innodb_file_per_table
max_connection=4096 (最大连接时间4096s)
collation-server=utf8_general_ci
character-set-server=utf8 (使用UTF-8字符集)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
# systemctl start mariadb.service
# systemctl enable mariadb.service
# mysql_secure_installation (初始化数据库并设置密码)
- 1
- 2
- 3
设置数据库密码
默认情况下,MariaDB安装有一个匿名用户,允许任何人使用
要登录MariaDB,无需创建用户帐户
删除匿名用户? yes (提高数据安全性)
通常,root用户只能从“localhost”连接。
这确保某人无法从网络猜测根密码。
远程禁止root用户登录? no
默认情况下,MariaDB附带一个名为“test”的数据库,任何人都可以使用访问。
这也只是为了测试,应该删除在进入生产环境之前。
删除测试数据库并访问它? yes
重新加载特权表将确保到目前为止所做的所有更改将立即生效。
现在重新加载权限表? yes
八、安装并配置消息服务器和Memcached
Controller节点
# yum install -y rabbitmq-server
# systemctl start rabbitmq-server.service
# systemctl enable rabbitmq-server.service
- 1
- 2
- 3
创建rabbitmq用户并设置权限
创建用户:openstack;密码:123456
rabbitmqctl add_user openstack 123456
给openstack用户授予读/写访问权限
rabbitmqctl set_permissions openstack “." ".” “.*”
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
九、安装Memcached
# yum install -y memcached python-memcached
# systemctl enable memcached.service
# systemctl start memcached.service
- 1
- 2
- 3