如何安装openstack,openstack创建虚拟机
文章1、环境配置2、基础环境配置1、添加NAT网卡配置2变更、防火墙和系统安全机制关闭、主机名变更3、基础环境相关软件包4安装、三节点间无交互的VMnet1网卡配置参数7、DNS配置、控制节点时间同步配置8、计算节点时间同步配置3、系统环境配置1、安装、MariaDB配置、MySQL子配置文件添加3、MariaDB安装配置
一、环境配置
1.控制节点ct
双核CPU多线程-CPU虚拟化开放内存8G硬盘:300g1024g(ceph块存储)双网卡VMnet1)局域网(LAN) 192.168.10.11/NAT
双核CPU多线程-CPU虚拟化开放内存8G硬盘:300g1024g(ceph块存储)双网卡VMnet1)局域网(LAN) 192.168.10.20 NAT-20
双核CPU多线程-CPU虚拟化和开放内存8G硬盘:300g1024g(ceph块存储)双网卡VMnet1) LAN-192.168.10.30 NAT
修复后,复制amp在安全终端中(比如xshell);使用粘贴
修改boot proto=static # NIC配置参数,打开static IPONBOOT=yes#设备并更改为添加IPADDR=192.168.184.11 #字段,然后更改静态模式IP定制器设置网关DNS1=192.168.184.2#并添加字段设置DNS服务器IPv4 _ route _ metric=。默认值为100。优先级越低,值越高。防止为了降低优先级而断开两个网卡的问题。系统CRL重新启动网络
2、关闭防火墙和系统安全机制,修改主机名ip映射,避免节点交互登录,时间同步、
控制节点CT(192.168.184.11))。
systemlstopfirewalldsentenforce 0 hostname lset-hostname ctsu-compute node C1(192 . 168 . 184 . 12))。
SystemStopFireallDSetenforce0HostnameChelsea主机名Chelsea-主机名C1SU-计算节点C2(192.168.184.13))。
systemctlstopfirewalldsetenforce 0 hostname ctlset-hostname c2su-
3.安装与环境相关的基本软件包(需要重新安装以确保所有组件都是最新的)。
yum-yinstallnet-tools bash-completionvimgccgcc-cmakepcre-devel expat-develmakebzip2lrz
每个字段的描述
Net-tools:ifconfig命令行工具
基本补偿:辅助自动完成工具
Vim:vim工具
GCC gcc gcc:编译环境
制作:编译器
Prepre-Devel:包含perl兼容的正则表达式库的perl库
Expat-devel:外国人图书馆。Expat是一个面向流的xml解析器。
Cmake:Cmake是一个跨平台的编译工具。目前CMkae使用的主要场景是生成可移植的makefile文件作为Make的顶级工具。
可以通过lrzsz:rz和sz指令上传和下载数据。
yum-yinstallcentos-release-open stack-train python-openstackclientopenstack-selinuxopenstack-utils
每个字段的描述
训练版OpenStack的仓库源码安装包同时安装OpenStack客户端和openstack-selinux安装包。
4.演示VMnet1网卡配置参数的所有节点,此处仅演示一个节点。
1.检查VMnet1网卡名称。
IFC示例:ens34: flags=4163UP、广播、运行、多播mtu 1500 2、VMnet1网卡配置更改
CD/etc/sys config/network-scripts/vimifcfg-en s34
#修改BOOTPROTO=staticONBOOT=yes#添加IPADDR=192.168.10.10#最后一行,根据网段设置VMnet1网段的IP,自定义NETMASK=255.255.255.0#设置掩码systemctl重启网络#重启网卡ifconfig#,再次检查修改是否完成。
5.配置主机映射文件的所有节点。
VMnet1IP和主机名被注入到主机映射文件中,以区分主机并便于相互访问。
echo 192 . 168 . 10 . 10 CT /etc/hostsecho 192 . 168 . 10 . 20 C1 /etc/hostsecho 192 . 168 . 10 . 30 C2 /etc/hosts
6.三个节点无需交互即可创建非对称密钥,并上传公钥文件。
所有节点,我这里只演示一个,其余的需要配置。
一路输入SSH-copy-ID CT SSH-copy-ID C1 SSH-copy-ID C2
7.配置DNS,配置控制节点及时同步所有节点。
echo 名称服务器114 . 114 . 114 . 114 /etc/resolv . conf
控制节点ct(192.168.184.11)
yum install chrony-yvim/etc/chrony。会议编号服务器0.centos.pool.ntp.org iburst #服务器1.centos.pool.ntp.org iburst #服务器2.centos.pool.ntp.org iburst #服务器3.centos.pool.ntp.org伊布斯特服务器ntp6.aliyun.com iburst #配置阿里云时钟服务器源允许192.168.10.0/24#允许192.168.100.0/24网段的主机来同步时钟服务#使用慢性来源c命令查询时间同步信息启动脚本启用chronydsystemctl重新启动慢性c源
8、配置计算节点时间同步vim/etc/chrony。会议编号服务器0.centos.pool.ntp.org iburst #服务器1.centos.pool.ntp.org iburst #服务器2.centos.pool.ntp.org iburst #服务器3.centos.pool.ntp.org I burst服务器CT iburst #配置阿里云时钟服务器源,同步指向控制节点ctsystemctl启用chronyd.servicesystemctl重新启动chronyd.servicechronyc源
所有节点,配置计划性任务,每隔两分钟时间同步一次
crontab-e */2 * * * */usr/xlmdhd/chronyc sources/var/log/chronyc。logcrontab-l
三、系统环境配置1、安装、配置MariaDB控制节点ct(192.168.184.11)
好吃的安装Maria db Maria db-服务器python 2-PyMySQL
mariadb:是关系型数据库的一个分支,是一款完全兼容关系型数据库的开源软件
玛丽亚db-服务器:数据库服务
python2-PyMySQL:用于云计算的控制端连接关系型数据库所需要的模块,如果不安装,则无法连接数据库;此包只安装在控制端
好吃的安装libibverbs
libibverbs:远程直接内存访问
2、添加关系型数据库子配置文件,增加如下内容控制节点ct(192.168.184.11)
vim/etc/my。CNF。d/开放堆栈。CNF[mysqld]xlmdhdd-address=192。168 .10 .10 default-storage-engine=innodxlmdhdnodb _ file _ per _ table=on max _ connections=4096 collation-server=utf8 _ general _ cicharacter-set-server=utf8
xlmdhdd-address=192.168.10.10 #控制节点局域网地址
default-storage-engine=innodb #默认存储引擎
innodb_file_per_table=on #每张表独立表空间文件
max_connections=4096 #最大连接数
归类-server=utf8_general_ci #默认字符集
character-set-server=utf8
#开机自启动、开启服务启动脚本使能mariadbsystemctl启动数据库
3、执行MariaDB安装配置脚本控制节点ct(192.168.184.11)
mysql _安全_安装输入输入根用户的当前密码(输入表示无):#输入当前根密码,回车好,成功使用密码,继续.设置根密码?[是/否]是#是否需要更改根密码,Y确认删除匿名用户?[是/否]是#是否移除其他用户,Y确认移除.成功!不允许远程根登录?[是/否]否#是否不允许根用户远程登陆,输入n,允许根用户远程登陆.跳绳。是否删除测试数据库并访问它?[是/否]是#是否删除试验测试库,Y确认删除现在重新加载权限表吗?[是/否]是#是否刷新规则,Y确认刷新
4、安装兔子q控制节点ct(192.168.184.11)
所有创建虚拟机的指令,控制端都会发送到消息中间件节点节点监听消息中间件
好吃的安装rabbit MQ-服务器
===配置服务,启动兔子q服务,并设置其开机启动===系统CTL启用rabbit MQ-server。服务系统CTL启动兔子MQ-服务器。服务===创建消息队列用户,用于控制器和计算节点连接消息中间件的认证(关联)===rabbitmqctl add _ user open stack RABBIT _ PASS===配置云计算用户的操作权限(正则,配置读写权限)===rabbitmqctl set _ permissions open stack .* .* .*查看消息中间件插件列表兔子MQ-插件列表
开启消息中间件的网管理界面的插件,端口为15672兔子MQ-插件启用rabbitmq _管理此时可查看25672和5672 两个端口(5672是消息中间件默认端口,25672是兔子的测试工具硬币指示器(硬币水平指示器的缩写)命令行界面(批处理脚本的命令行界面)的端口)netstat -natp grep 5672
此时可访问192.168.184.11:15672
默认账号和密码都是客人,点击注册即可进入以下界面
5.安装memcached是一个缓存数据库,用来存储会话信息;服务认证机制(keystone)使用Memcached来缓存令牌。当登录openstack的dashboard时,会生成一些会话信息,这些信息会存储在memcached中。
控制节点ct(192.168.184.11)
yum-y memcached python-memcached # python-*模块在OpenStack中起到连接数据库的作用。
1.修改memcached配置文件以控制节点ct(192.168.184.11)
vim/etc/sys config/memcached port= 11211 # memcached port 11211 user= memcached # user memcachedMAXCONN= 1024 #最大连接数1024CACHESIZE=64#字符集大小64位选项=-l 127.0.0.1,1,ct #监听地址,127.0.0.1:本地地址,是ipv6地址,ct是本地VMnet1地址
打开服务并启动服务system CTL enable memcached system CTL start memcached netstat-nautp grep 11211。
6.安装etcd etcd是一个分布式的、可靠的键值存储系统、数据库
控制节点ct(192.168.184.11)
Yum -y安装etcd 1,修改etcd配置文件以控制节点ct(192.168.184.11)
Cd /etc/etcd/vim etcd.conf删除所有内容,复制粘贴以下内容并修改ETCD _数据_目录=/var/lib/etcd/default . etcd etcd _ LISTEN _ PEER _ URLS= http://192 . 168 . 10 . 10:2380 ETCD _ LISTEN _ CLIENT _ URLS= http://192 . 168 . 10 . 10:2379 ETCD _ NAME= CT etcd _ INITIAL _ ADVERTISE _ ADVERTISE
etcd _ data _ dir=/var/lib/etcd/default . etcd #数据目录位置
Etcd _ Listen _ peer _ URLs=" http://192 . 168 . 10 . 10:2380 " #监听其他etcd成员的URL(端口2380,集群间通信,域名无效)
etcd _ listen _ client _ URLs=" http://192 . 168 . 10 . 10:2379 " #外部服务的地址(端口2379,集群内的通信端口)
Etcd _ name="CT" #集群中的节点标识(名称)
etcd _ initial _ advertise _ peer _ URLs=" http://192 . 168 . 10 . 10:2380 " #此节点成员的URL地址,端口2380:用于集群之间的通信。
ETCD广告客户网址="http://192.168.10.10:2379 "
ETCD _初始_群集="ct=http://192.168.10.10:2380 "
etcd _ initial _ cluster _ token=" etcd-cluster-01 " #集群初始化令牌
ETCD _初始_集群_状态="新" #初始集群状态,新是静态的,如果存在,意味着这个ETCD服务将尝试加入现有的集群。
如果是DNS,则意味着该群集将是要加入的对象。
2.启动服务并检测端口控制节点ct(192.168.184.11)
systemctl启用etcd.servicesystemctl启动etcd . servicenetstat-anutp grep 2379 netstat-anutp grep 2380