- 第二部分:安装基础环境
- 1、安装控制节点的 CentOS 7 系统
- 2、克隆计算节点的 CentOS 7 系统
- 3、安装基础环境
- https://www.cnblogs.com/abclife/p/4736064.html
_">chronyc sourcestats -v
210 Number of sources = 1
.- Number of sample points in measurement set.
/ .- Number of residual runs with same sign.
| / .- Length of measurement set (time).
| | / .- Est. clock freq error (ppm).
| | | / .- Est. error in freq.
| | | | / .- Est. offset.
| | | | | | On the -.
| | | | | | samples. \
| | | | | | |
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
controller 6 3 324 +3.379 64.747 +14us 1911us
chrony 配置参考文明当:https://www.cnblogs.com/abclife/p/4736064.html
_ - 3、SQL数据库安装(在控制节点操作)
- 4、安装消息队列(在控制节点安装)
- 5、安装Memcached(在控制节点安装)
- 6、安装CentOS的Etcd服务(此服务为选装服务,在控制节点安装)
- 7、验证以上部署的服务是否正常
第二部分:安装基础环境
云计算平台的拓扑图如图1所示,IP地址规划如图1所示。
本次搭建采用双节点安装,即controller node控制节点和compute node计算节点。ens33为外部网络,ens34为内部管理网络。
1、安装控制节点的 CentOS 7 系统
1)启虚拟机的 cpu 虚拟化功能
接着下载最小化的安装 iso,下载地址为:
https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso
2)系统安装centos系统
3)选择语言
4)选择时区为亚洲-上海
5)选择安装的环境,选择最小化安装。注意勾选依赖包
6)磁盘分区为自定义分区。
点击,“自动创建他们”。
7) 设置网络连接和主机名
a、注意勾选开机自启动
b、设置ip地址
同样的方式将另外 一块网卡配置好
8)关闭密码保护
9)关闭KDUMP功能
10)开始安装,安装完毕后重启
11)安装的过程中设置root的密码。密码:000000
12)修改网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@centos7-1810 network-scripts]# vi /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
UUID=91c2dd49-30d2-47e1-88b9-9924baa12004
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.2
DNS1=8.8.8.8
IPV6_PRIVACY=no
13)重启网络服务:
systemctl restart network
14) 检查 ping 一下网关192.168.100.2测试网络连通性,
ping 192.168.100.2 -c2
ping www.baidu.com -c4
15)主机名设置
修改主机名:
hostnamectl set-hostname controller
按ctrl+d 退出 重新登陆
查看结果:
[root@controller ~]# cat /etc/hostname
controller
[root@controller ~]#
编辑hosts文件
vi /etc/hosts
增加2行
192.168.100.10 controller
192.168.100.20 compute
字符集
临时:
[root@clsn ~]# echo $LANG
zh_CN.UTF-
永久:
[root@clsn ~]# cat /etc/locale.conf
LANG=”zh_CN.UTF-8”
一步到位
[root@clsn ~]# localectl
System Locale: LANG=zh_CN.UTF-8
VC Keymap: cn
X11 Layout: cn
16)管理不必要服务
1)关闭邮件服务及开机自启动
systemctl stop postfix.service
systemctl disable postfix.service
2)关闭防火墙服务及开机自启动
systemctl disable firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
3)Selinux的优化
编辑selinux文件
vi /etc/selinux/config
SELINUX=permissive
17)更换yum源
1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
CentOS 7 yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
epel源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3. 运行 yum makecache 生成缓存
yum makecache
yum repolist
4. 其他
非阿里云ECS用户会出现 Couldn’t resolve host ‘mirrors.cloud.aliyuncs.com’ 信息,不影响使用。
eg:Could not resolve host: mirrors.aliyun.com; 未知的错误
解决办法:
1. 修改dns
[root@iz25m0z7ik3z ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
文末添加
DNS1=8.8.8.8
DNS2=8.8.4.4
2. 重启network 服务
systemctl restart network
18)安装常用软件
yum install vim wget bash-completion lrzsz nmap nc tree htop iftop net-tools -y
2、克隆计算节点的 CentOS 7 系统
在克隆好计算节点的系统之后,修改计算机名和网卡参数。
其主机名为 compute,ens33的 ip 地址为:192.168.100.20,ens34的 ip 地址为:192.168.200.20
3、安装基础环境
1、安装ntp服务:(在所有节点安装)
1.1控制节点(提供时间服务,供其他机器同步)
安装软件
yum install chrony -y
配置控制节点,修改第22行
[root@controller ~]# vi /etc/chrony.conf
···
在第六行增减以下两条配置:
server time2.aliyun.com iburst
server controller iburst
修改28行左右参数为:
allow 192.168.0.0/16
设置chronyd.service服务自启动,并重启。
systemctl enable chronyd.service
systemctl restart chronyd.service
1.2计算节点(配置chrony客户端)
安装软件
yum install chrony -y
配置文件第三行开始,删除(注释#)无用的上游服务器。
配置文件说明:
[root@compute1 ~]# vim /etc/chrony.conf
在第六行增减以下一条配置:
server contronller iburst
修改26行左右参数为:
allow 192.168.0.0/16
启动,设置自启动
systemctl enable chronyd.service
systemctl restart chronyd.service
systemctl status chronyd.service
1.3查看时间同步源:(测试所有节点)
chronyc sourcestats -v
210 Number of sources = 1
.- Number of sample points in measurement set.
/ .- Number of residual runs with same sign.
| / .- Length of measurement set (time).
| | / .- Est. clock freq error (ppm).
| | | / .- Est. error in freq.
| | | | / .- Est. offset.
| | | | | | On the -.
| | | | | | samples. \
| | | | | | |
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
controller 6 3 324 +3.379 64.747 +14us 1911us
chrony 配置参考文明当:https://www.cnblogs.com/abclife/p/4736064.html
_
2、 OpenStack的包操作(添加新的计算节点时需要安装)(在所有节点安装)
2.1安装OpenStack客户端。**
yum install centos-release-openstack-train -y
yum upgrade -y**
yum install python-openstackclient -y
2.2安装openstack-selinux
RHEL和CentOS 默认情况下启用SELinux。安装 openstack-selinux
软件包以自动管理OpenStack服务的安全策略:
# yum install openstack-selinux -y
3、SQL数据库安装(在控制节点操作)
3.1安装mariadb软件包:
[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL
创建配置文件
cat > /etc/my.cnf.d/openstack.cnf <<-‘EOF’
[mysqld]
bind-address = 192.168.100.10
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
EOF
3.2启动数据库服务并将其配置为在系统引导时启动:
设置mariadb随机启动,并重新启动mariadb数据库。
systemctl enable mariadb.service
systemctl restart mariadb.service
systemctl status mariadb.service
3.3执行mariadb安全初始化
为了保证数据库服务的安全性,运行mysql_secure_installation
脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。 (这步一定要做,否则后面安装服务时将填充不了数据库)
[root@controller ~]# mysql_secure_installation
···
Enter current password for root (enter fornone): 回车
OK, successfully used password, moving on…
Set root password? [Y/n] y
Remove anonymous users? [Y/n] Y
… Success!
Disallow root login remotely? [Y/n] Y
… Success!
Remove test database and access to it? [Y/n] Y
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reload privilege tables now? [Y/n] Y
… Success!
Thanks for using MariaDB!
3.4重置数据库密码(如果忘记密码可以按以下步骤操作)
解决MySQL登录ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using passwor)问题
1、首先停掉mysql 数据库 一般是安装在/etc/init,d/mysqld stop
2、修改mysql的配置文件/etc/my.cnf
最后一行添加 skip-grant-tables 表示可以跳过权限去登录
3、重启 mysql 数据库 systemctl restart mariadb.service
3、使用 mysql -u root -p
‘’回车“
表示没有密码 直接登录
4、修改 mysql 表里面的用户,为其设置密码。
update user set password=password(‘000000 ‘) where user=’root’;
5、删除 skip-grant-tables
6.完成
4、安装消息队列(在控制节点安装)
4.1安装软件包:
yum install rabbitmq-server -y
4.2启动消息队列服务,并将其配置为在系统引导时启动,查看服务状态:
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
4.3添加openstack
用户:
rabbitmqctl add_user openstack 000000 注释:000000是密码。替换的是RABBIT_PASS
4.4给予用户openstack
配置、写和读权限:
rabbitmqctl set_permissions openstack “.“ “.“ “.*”
Setting permissions for user “openstack” in vhost “/“ …**
安装好之后,使用 netstat -tnlup 查看,如果有下图所示的 25672 和 5672 端口,则表示安装成功。
_
5、安装Memcached(在控制节点安装)
5.1安装软件包:
yum install memcached python-memcached
5.2编辑/etc/sysconfig/memcached文件并完成以下操作:
- 配置服务以使用控制器节点的管理IP地址。这是为了允许其他节点通过管理网络进行访问:
vi /etc/sysconfig/memcached
OPTIONS=”-l 127.0.0.1,::1,controller”
5.3启动Memcached服务,并将其配置随机启动,并查看状态:
systemctl enable memcached.service
systemctl start memcached.service
systemctl status memcached.service
安装和启动好之后,同样使用 netstat -tnlup 查看端口情况,看到 11211 端口有程序在侦听则表示 memcache 安装成功
注意前面的 ip 地址必须有一个是 192.168.100.10
6、安装CentOS的Etcd服务(此服务为选装服务,在控制节点安装)
6.1安装软件包:
6.2编辑/etc/etcd/etcd.conf
文件,并设置ETCD_INITIAL_CLUSTER
, ETCD_INITIAL_ADVERTISE_PEER_URLS
,ETCD_ADVERTISE_CLIENT_URLS
, ETCD_LISTEN_CLIENT_URLS
控制器节点,以使经由管理网络通过其他节点的访问的管理IP地址:
vim /etc/etcd/etcd.conf
修改 9 行:
ETCD_DATA_DIR=”/var/lib/etcd/default.etcd”
ETCD_LISTEN_PEER_URLS=”http://192.168.100.10:2380”
ETCD_LISTEN_CLIENT_URLS=”http://192.168.100.10:2379”
ETCD_NAME=”controller”
ETCD_INITIAL_ADVERTISE_PEER_URLS=”http://192.168.100.10:2380”
ETCD_ADVERTISE_CLIENT_URLS=”http://192.168.100.10:2379”
ETCD_INITIAL_CLUSTER=”ct=http://192.168.100.10:2380”
ETCD_INITIAL_CLUSTER_TOKEN=”etcd-cluster-01”
ETCD_INITIAL_CLUSTER_STATE=”new”
6.3启用并启动etcd服务:
systemctl enable etcd
systemctl start etcd
7、验证以上部署的服务是否正常
安装和启动好之后,同样使用 netstat -tnlup 查看端口情况,看到 2379 和 2380 端口有程序在侦听则表示 etcd 安装成功
至此,基础服务已经安装完毕,下节开始安装 Openstack 的身份认证服务 keystone。
OpenStack Train 版双节点安装笔记(二)
https://blog.51cto.com/11694088/2459830