docker openstack 云计算 云计算openstack部署
云计算(cloud computing)
基于互联网的相关服务的增加,使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络,互联网的一种比喻说法。
从单机到云计算
早期
单机跑服务
中期
单机性能得到了非常大的提升,如果还是单机跑一个服务,服务器性能显得过剩。因此把很多服务器集中到一起,运行很多虚拟模式,每台虚拟机运行一个服务,这就是虚拟化
现在
美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。通常涉及通过互联网来提供 动态易扩展且经常是虚拟化的资源
云计算分类
Iaas基础设施即服务
Infrastructure as a Service
提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU,内存,存储,网络和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序
三种用法:公有云,私有云和混合云
Paas平台即服务
Platform-as-a-Service
以服务器平台或者开发环境作为服务进行提供就是PaaS
不仅仅是单纯的基础平台,还提供技术支持服务,还进行应用系统开发,优化等服务
简单说,云环境中的应用基础设施服务,中间件即服务
SaaS软件即服务
Soft-as-a-Service
通过inernet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务
现在用户向提供商租用基于web软件,不用维护软件,由提供商区全权管理,也提供离线操作和本地存储
Openstack
是由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目,是一套IaaS解决方案,开源的云计算管理平台,以Apache许可证为授权
Openstack主要组件
Horizon
管理其各种服务的,基于web的管理接口,通过图形界面实现创建用户,管理网络,启动实例等操作
Keystone
为其他服务器提供认证和授权的集中身份管理服务和目录服务
支持多种身份认证模式,如密码,令牌,AWS(亚马逊web服务器)登陆,为用户和其他服务器提供SSO认证服务
Neutron
软件定义网络服务,用于创建网络,子网,路由器,管理浮动IP地址,可以实现虚拟交换机集合路由器,可以在项目中创建VPN
Cinder
w为虚拟机管理存储器卷的服务,为运行在Nova中的实例提供永久的块存储,快照进行数据备份,经常应用在实例存储环境中,如数据库文件
Nova
在节点上用于管理虚拟机的服务,在标准硬件上能够进行水平扩展
分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理,启动实例时,如果有则需要进行下载镜像
Glance
扮演虚拟机镜像注册的角色,允许用户为直接存储拷贝服务器镜像,这些镜像可以用于新建虚拟机的模板
额外:
openstack-nova-db 数据库表,记录虚拟机状态,虚拟机与物理机的对应关系,租户信息等数据内容
openstack-nova-objectstore 在Glance中注册镜像的s3接口服务
swift proxy-server 属于swift系统的内部和外部之间,负责接受api或http请求
container-server 用于管理容器或文件夹的映射关系
account-server 仅用于账号管理
object-server 管理在存储节点上的实际对象,还有一些定期执行的进程,比如repilication,auditor,updater,reapter
openstack-cinder-db 用于记录和维护块设备的信息
openstack-glance-db 存储元数据
工作原理:
以创建虚拟机为例,用户先接触到的是界面即horizon,通过horizon上的简单界面操作,一个创建虚拟机的请求被发送到openstack系统后端。接着指定虚拟机的操作系统,下载启动镜像,这件事情由glance提供,但这个镜像可能存储在swift上,所以需要与swift交互得到需要的镜像文件。
再创建虚拟机的时候 ,需要用到cinder提供块服务和neutron提供的网络服务,方便虚拟机有volume可以使用,能被分配到IP地址查询与外界网络链接,然后虚拟机资源的访问要经过keystone的认证之后才可以继续。
安装openstack
准备安装环境
1.在物理机上安装yum源,CentOS7-1708.iso RHEL7-extras.iso RHEL7OSP-10.iso(由于这里面有10个包,所以需要运行一个脚本来快速创建,脚本编写如下)
#!/bin/bash cd /var/ftp/RHEL7OSP-10 for f in * do if [ -d $f ];then cat <<EOF >>/tmp/osp10.repo [$f] name=$f baseurl=ftp://192.168.4.254/RHEL7OSP-10/$f enabled=1 gpgcheck=0 EOF fi done [root@guo ~]# cat /tmp/osp10.repo //利用脚本生成repo文件,一会可以拷贝到虚拟机 [rhel-7-server-openstack-10-devtools-rpms] name=rhel-7-server-openstack-10-devtools-rpms baseurl=ftp://192.168.4.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms enabled=1 gpgcheck=0 [rhel-7-server-openstack-10-optools-rpms] name=rhel-7-server-openstack-10-optools-rpms baseurl=ftp://192.168.4.254/RHEL7OSP-10/rhel-7-server-openstack-10-optools-rpms enabled=1 gpgcheck=0 ...[root@guo ~]# mkdir /var/ftp/extras /var/ftp/OSP10 /var/ftp/CentOS7 [root@guo ~]# vim /etc/fstab ... /root/456/CentOS7-1708.iso /var/ftp/CentOS7 iso9660 defaults 0 0 /root/456/RHEL7OSP-10.iso /var/ftp/OSP10 iso9660 defaults 0 0 /root/456/RHEL7-extras.iso /var/ftp/extras iso9660 defaults 0 0 [root@guo ~]# mount -a2.使用hosts文件进行域名解析
3.在物理机配置NTP服务器
--安装 chrony
[root@guo ~]# yum -y install chrony--修改配置文件
[root@guo ~]# vim /etc/chrony.conf server iburst ... allow 0/0 ...--启动服务
[root@guo ~]# systemctl restart chronyd [root@guo ~]# systemctl enable chronyd创建一台虚拟机,用于安装openstack
1.创建一台虚拟机,利用脚本创建,内存设置为9216Mib
[root@guo ~]# cent7clone.sh create vm numbers: 1 create cent7node2 .... [Done]2.原有的网卡链接为private1 在添加一块网卡 型号为virto 网卡链接为private2
4.配置IP地址
ech0 : 192.168.4.1/24 192.168.4.254 192.168.4.254
ech1: 192.168.2.1/24
[root@localhost ~]# bash bin/configip.sh //利用之前写好的脚本创建 interface: eth0 ip address: 192.168.4.1 prefix: 24 gateway: 192.168.4.254 dns: 192.168.4.254 [root@localhost ~]# ifdown eth0 [root@localhost ~]# ifup eth0 [root@localhost ~]# bash bin/configip.sh interface: eth1 ip address: 192.168.2.1 prefix: 24 gateway: dns: [root@localhost ~]# ifdown eth1 [root@localhost ~]# ifup eth1 [root@localhost ~]# ping -c2 192.168.2.254 [root@localhost ~]# ping -c2 192.168.4.2545.配置虚拟机的yum源
[root@localhost yum.repos.d]# vim local.repo [server] name=server baseurl=ftp://192.168.4.254/CentOS7.4 gpgcheck=0 enabled=1 [extras] name=extras baseurl=ftp://192.168.4.254/extras gpgcheck=0 enabled=1 [root@guo ~]# scp /tmp/osp10.repo [email protected]:/etc/yum.repos.d/ //用物理机将刚才创建的yum源传到虚拟机 [root@localhost yum.repos.d]# yum repolist repolist: 10,7316.配置域名解析(虚拟机)
[root@localhost ~]# vim /etc/hosts ... 192.168.4.1 node1 192.168.4.2 node2 192.168.4.254 host7.安装额外的软件包
[root@localhost ~]# yum -y install qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools8.逻辑卷不需要做,因为安装的过程中会自动创建
9.导入签名 :
[root@localhost ~]# rpm --import ftp://192.168.4.254/CentOS7.4/RPM-GPG-KEY-CentOS-710.安装openstack部署工具packstack
[root@localhost ~]# yum -y install openstack-packstack11.在安装openstack过程中有大量的问题需要回答,可以提前生成应答文件
[root@localhost ~]# packstack --gen-answer-file answer.txt Packstack changed given value to required value /root/.ssh/id_rsa.pub [root@localhost ~]# vim answer.txt ... 11 CONFIG_DEFAULT_PASSWORD=Taren1 ... 42 CONFIG_SWIFT_INSTALL=n ... 75 CONFIG_NTP_SERVERS=192.168.4.254 ... 98 CONFIG_COMPUTE_HOSTS=192.168.4.1 //安装nova组件,构成nova节点,多个以,号分隔 ... 102 CONFIG_NETWORK_HOSTS=192.168.4.1 //在所有计算节点上开启ovs网桥,vxlan技术,构成独立的广播域 98/102行默认环境可以不用更改 ... 333 CONFIG_KEYSTONE_ADMIN_PW=XXXXX //admin密码,可以在这里设置 ... 840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan //驱动类型 ... 876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5 ... 910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex //物理网桥的名称 ... 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 //br-ex桥的名称与eth0链接,管理eth0,网桥与那个物理网卡链接 ... 936 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1 ... 1179 CONFIG_PROVISION_DEMO=n //是否测试12.安装openstack
注:安装过程一般需要20分钟或者更久,如果出错,根据日志文件进行排错
常见问题:磁盘空间不足,磁盘没有自动扩容,切换英文LANG=en_US.utf-8
yum源冲突,软件包不兼容
网络IP问题
[root@localhost ~]# packstack --answer-file answer.txt **** Installation completed successfully ****** Additional information: * File /root/keystonerc_admin has been created on OpenStack client host 192.168.4.1. To use the command line tools you need to source the file. * To access the OpenStack Dashboard browse to http://192.168.4.1/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. * The installation log file is available at: /var/tmp/packstack/20190110-015935-vLchqE/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20190110-015935-vLchqE/manifests13.安装管理openstack服务的工具
[root@node1 ~]# yum -y install openstack-utils [root@node1 ~]# openstack-status //查看服务状态,状态如果是active表示活跃,inactive 表示不活跃,如果出现fail 一定有问题 == Nova services == openstack-nova-api: active openstack-nova-compute: active openstack-nova-network: inactive (disabled on boot) openstack-nova-scheduler: active ... [root@node1 ~]# openstack-service restart //如果出现问题,重启,但是不建议重启,因为可能会需要一段时间配置网络
配置ovs:开放的虚拟交换机
1.为br-ex网络配置IP地址,将eth0的地址写到br-ex上
[root@node1 ~]# cd /etc/sysconfig/network-scripts/ [root@node1 network-scripts]# vim ifcfg-br-ex DEVICE=br-ex NAME=br-ex DEVICETYPE=ovs OVSBOOTPROTO="static" TYPE=OVSBridge ONBOOT=yes NM_CONTROLLED=no IPADDR=192.168.4.1 PREFIX=24 GATEWAY=192.168.4.254 [root@node1 network-scripts]# vim ifcfg-eth0 DEVICE=eth0 ONBOOT=yes IPV6INT=no BOORPROTO=none DEVICETYPE=ovs TYPE=OVSPort OVS_BRIDGE=br-ex2.修改eth0配置文件(见上面),使之成为br-ex的一个接口
3.重启网卡
[root@node1 network-scripts]# # systemctl restart network //如果不成功,则执行以下命令 [root@node1 network-scripts]# # ifdown eth0; ifdown br-ex; ifup eth0; ifup br-exHorizon配置--Dashboard仪表盘--基于python的django web框架进行开发
可以管理实例,镜像,创建密钥对,对实例添加卷,操作swift容器等,还可以在控制面板中使用终端或vnc
1.web服务器有一个bug,需要修改apache配置文件,否则内部错误
[root@node1 network-scripts]# vim /etc/httpd/conf.d/15-horizon_vhost.conf ... WSGIProcessGroup apache WSGIApplicationGroup %(GLOBAL) //添加 [root@node1 network-scripts]# systemctl restart httpd 然后在物理机上访问 http://192.168.4.1输入用户名,密码(自动生成)
[root@node1 ~]# cat keystonerc_admin unset OS_SERVICE_TOKEN export OS_USERNAME=admin //用户名 export OS_PASSWORD=9a87903575354abc //密码 export OS_AUTH_URL=http://192.168.4.1:5000/v2.0 export PS1='[\u@\h \W(keystone_admin)]\$ ' export OS_TENANT_NAME=admin export OS_REGION_NAME=RegionOne2.创建项目
项目:一组隔离的资源,可以为每个客户创建项目,在早期的版本里,项目project也被称作租户tenant 项目相关信息保存到MariaDB中
默认会有两个项目,一个项目名为admin,给管理员admin使用的的项目,另一个为services 为组件提供服务
3.通过命令访问openstack ,需要初始化环境变量
[root@node1 ~]# source ~/keystonerc_admin [root@node1 ~(keystone_admin)]# openstack --help //查看帮助4.
列出所有项目
openstack project list
查看项目信息
openstack project show 项目名
创建项目
openstack project create 项目名
禁用和激活项目
openstack project set --disable/--enable 项目名
用户管理
admin用户在packstack安装时创建,非管理员用户保存到MariaDB中
非管理员用户:启动实例,创建卷和快照、镜像,分配浮动IP,创建网络和路由器,防火墙及规则,规则策略,查看网络拓扑,项目使用情况等
界面创建用户,指定他可以访问的项目,
命令管理用户
[root@node1 ~(keystone_admin)]# openstack user create --password 123456 user2 //创建user2用户,密码为123456 [root@node1 ~(keystone_admin)]# openstack user set --email [email protected] user2 //设置user2的email地址 [root@node1 ~(keystone_admin)]# openstack user set --disable user2 //禁用user2 [root@node1 ~(keystone_admin)]# openstack user set --enable user2 //激活user2 root@node1 ~(keystone_admin)]# openstack role add --user user2 --project myproject _member_ //指定user2可以访问myproject,角色为_member_ [root@node1 ~(keystone_admin)]# openstack user set --password redhat user2 //修改密码为redhat [root@node1 ~(keystone_admin)]# openstack role remove --project myproject --user user2 _member_ //将user2从myproject中移除 [root@node1 ~(keystone_admin)]# openstack user delete user2 //删除user2 [root@node1 ~(keystone_admin)]# openstack user list //列出所有用户 [root@node1 ~(keystone_admin)]# openstack user show user1 //查看user1的信息配额管理
管理源可以通过配额限制,防止过度使用,配额基本项目,限制每个项目可以使用多少资源
资源参数:
vcpu
指定每个项可用的vcpu核心数
云主机数量
项目一共=可以使用多少虚拟机
卷
可以创建多少个云磁盘数量
内存
所有虚拟机也就是每个项目可以使用最大内存
注入文件大小
指定每个项目内容大小
注入文件路径
指定每个项目注入的文件路径长度
注入文件
指定每个项目允许注入的文件数目
实例
指定每个项目可创建的虚拟机实例数目
密钥对
指定每个项目创建的密钥数
云主机类型
资源的模板,定义了一台云主机使用的资源,如内存大小,磁盘容量和CPU核心数,默认有几个类型,可以自定义
云主机类型参数
名称:云主机类型名称
ID:云主机类型ID,系统自动生成一个UUID
VCPUs:虚拟CPU数目
RAM(MB):内存大小
Root disk(GB):外围磁盘大小,如果希望使用本地磁盘,设置为0
临时磁盘:第二个外围磁盘
swap磁盘:交换磁盘大小
[root@node1 ~(keystone_admin)]# openstack flavor list //列出所有的云主机类型 [root@node1 ~(keystone_admin)]# openstack flavor create --public demo.tiny --id auto --ram 512 --disk 10 --vcpus 1 //创建一个云主机类型(上图) [root@node1 ~(keystone_admin)]# openstack flavor delete demo.tiny //删除云主机类型镜像基础
在这里指虚拟磁盘文件,磁盘文件中安装了可启动的操作系统,管理功能由Glance服务提供,它形成了穿件虚拟机实例最底层的块结构
Glance磁盘格式
raw :非结构华磁盘镜像格式
vhd:VMware ,Xen ,Microsoft , VirtualBox等
vmdk:Vmwarede geshi
vdi:VirtualBox虚拟机和QEMU支持磁盘格式
iso:光盘格式
qcow2:QEMU支持的磁盘格式,空间自动扩展,并支持写时复制cow
镜像服务:
维护了镜像的一致性,提供了服务器镜像的拷贝,快照功能,可以作为模板快速建立,启动服务器
上传镜像时,容器格式必须指定,指定磁盘文件格式是否包含了虚拟机元数据
镜像容器:
bare:镜像中没有容器或元数据封装
ovf:一种开源的文件规范,描述了一个开源,安全,有效,可拓展的便携式虚拟打包以及软件分布格式
ova:OVA归档文件
aki/ami:亚马逊内核/主机镜像
利用openstack上传镜像
网络管理
项目网络
由Neutron提供的项目内部网络,网络间可用VLAN隔离
外部网络
可以让虚拟机接入外部网络,但需要配置浮动Ip地址
提供商网络
经实例链接到现有网路,实现虚拟机实例与外部系统共享同一二层网络
1.创建内外部网络:外部网络(只有admin有权限设置),wan网 --子网 subnet1--IP 192.168.4.0/24 网关 192.168.4.254 不激活dhcp
内部网络 lan网 --子网 subnet2 --IP192.168.10.0/24 网关192.168.10.1 激活dhcp 网段为
192.168.10.101~192.168.10.200
2.配置路由器:新建路由器route1 外部网络wan 在添加接口子网 lan:192.168.10.0/24 ip 192.168.10.1
安全管理
安全组 :相当于防火墙,控制对虚拟机实例的访问,在高层定义了那些协议和网络是被授权可以访问虚拟机实例的
每个项目可以定义自己的安全组,项目成员编辑默认的安全规则,可以添加新的安全规则,默认default安全组
规则:每个规则都有出和入两个方向,可以指定ip协议地址
默认有一个规则,default,组内主机可以对外访问,但是外界主机不能访问default安全组中的主机,default内部的主机可以相互访问
创建安全组
新建一个安全组,默认有一个规则,允许组内主机访问外界所有主机,向其中添加一条规则,允许ssh服务
创建云主机
给云主机起个名称
选取源,之前创建的镜像
选择云主机类型,磁盘一定要大于要安装的云主机源
选择内部网络lan
安全组选择自己创建的一个组
这个是创建之后的状态
浮动IP
创建一个地址映射,使得外界主机可以访问云主机,这个浮动IP不会出现在云主机的网卡配置上,外界访问浮动IP就可以访问云主机了
管理浮动IP的关联,可以在打开的界面点击IP地址,然后根据提示分配浮动IP
目前状态下我们都可以ssh到这台云主机,因为目前这个组group1之前开通了远程,但是不能ping通
注:如果ssh报错 WARNING :REMOTE HOST IDENTIFICATION HAS CHANGED!说明这个ip地址之前记录果,但是不是现在的主机
根据提示,将 /root/.ssh/known_hosts 里面对应的ip删除,或者删除整个文件
[root@guo ~]# vim /root/.ssh/known_hosts ... 192.168.1.193 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLbeZn0oixXQQEAEclKnr1zideN3MmtD9EfVZwn7NJu8qcJ/UJB4DnHsAfe+y0hOkv0bF+ek23RuH3YfeT4WWMY= 192.168.4.1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLCuALe6GqyFMPd7OXZH7LcVgo8YkvDXEWSbn3lAX+5qp7Tpzkt1addmjLOpwHVEp30qI7RJlZd6XanAmM0cJIo= 192.168.4.2 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJAQccqrDaJN9tk0tEKLZxNLvpq0tVKa7YuZAhB1/HCTX+4VCAlbjVL+o1ltdGrXsAqzsFTGw9hFDVruT/wJWKg= 192.168.4.12 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF3/vcskzmaQwAaphIq4tlzcrxvdh0G119vMGLL8v4qp/XZ3SxwwNGzYe92aC296CIo9A7kGnSQi8lAOM5RAQ/o=[root@guo ~]# ssh -X 192.168.4.12 The authenticity of host '192.168.4.12 (192.168.4.12)' can't be established. ECDSA key fingerprint is SHA256:KrsYlQpdRaKNN0tv0Bom+UMc4DBvUQuimbtSTihHy0k. ECDSA key fingerprint is MD5:b0:f8:0c:5f:14:9e:67:59:7a:2d:ce:2a:70:3a:ba:8f. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.4.12' (ECDSA) to the list of known hosts. [email protected]'s password: X11 forwarding request failed on channel 0 Last login: Fri Jan 11 10:29:23 2019 from 192.168.4.1 [root@host-192-168-10-108 ~]#需要修改安全组规则:
添加icmp规则
验证测试物理机,虚拟机,云主机,可以相互ping通。如果想拥有其他规则。则修改对应规则即可
[root@host-192-168-10-108 ~]# ping 192.168.4.1 PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data. 64 bytes from 192.168.4.1: icmp_seq=1 ttl=63 time=1.48 ms 64 bytes from 192.168.4.1: icmp_seq=2 ttl=63 time=0.698 ms [root@guo ~]# ping 192.168.4.12 PING 192.168.4.12 (192.168.4.12) 56(84) bytes of data. 64 bytes from 192.168.4.12: icmp_seq=1 ttl=63 time=1.03 ms 64 bytes from 192.168.4.12: icmp_seq=2 ttl=63 time=0.563 ms [root@localhost cinder(keystone_admin)]# ping 192.168.4.12 PING 192.168.4.12 (192.168.4.12) 56(84) bytes of data. 64 bytes from 192.168.4.12: icmp_seq=1 ttl=63 time=0.643 ms安装额外节点nova
创建一个虚拟机100G磁盘,2块网卡,内存(根据实际情况,因为我这个环境是16G,openstack已经用了9G,所以本次看情况给nova)
[root@guo images]# qemu-img create -f qcow2 -b cent7.img openstack.img 100G Formatting 'openstack.img', fmt=qcow2 size=107374182400 backing_file='cent7.img' encryption=off cluster_size=65536 lazy_refcounts=off [root@guo images]# qemu-img create -f qcow2 -b cent7.img nova01.img 100G Formatting 'nova01.img', fmt=qcow2 size=107374182400 backing_file='cent7.img' encryption=off cluster_size=65536 lazy_refcounts=off [root@guo bin]# cp node.xml /tmp/node1.xml [root@guo tmp]# vim node1.xml <domain type='kvm'> <name>node1</name> ... <source file='/var/lib/libvirt/images/openstack.img'/> ... [root@guo bin]# cp node.xml /tmp/node2.xml [root@guo tmp]# vim node2.xml <domain type='kvm'> <name>node2</name> ... <source file='/var/lib/libvirt/images/nova01.img'/> ... [root@guo tmp]# virsh define /tmp/node1.xml 定义域 node1(从 /tmp/node1.xml) [root@guo tmp]# virsh define /tmp/node2.xml 定义域 node2(从 /tmp/node2.xml)扩容磁盘(两台都需要操作)
[root@localhost ~]# growpart /dev/vda 1 [root@localhost ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/vda1 xfs 100G 1.1G 99G 2% /配置IP 及 主机名 ifcfg-eth0 /etc/hosts(两台主机都要写)
[root@guo tmp]# virsh virsh # domiflist node1 接口 类型 源 型号 MAC ------------------------------------------------------- vnet2 network vbr virtio 52:54:00:33:18:6f 192.168.1.10(实际配置的网卡,命令不显示网卡ip) vnet3 network private1 virtio 52:54:00:7c:c4:55 192.168.4.10 virsh # domiflist node2 接口 类型 源 型号 MAC ------------------------------------------------------- vnet0 network vbr virtio 52:54:00:4e:f5:6b 192.168.1.11 vnet1 network private1 virtio 52:54:00:b0:1b:74 192.168.4.11 [root@localhost ~]# ping www.baidu.com //看是否可以联通外网,注意网卡,防火墙 PING www.a.shifen.com (119.75.217.26) 56(84) bytes of data. ^C64 bytes from 119.75.217.26: icmp_seq=1 ttl=54 time=3.91 ms ...[root@localhost ~]# vim /etc/hosts 192.168.1.11 node2 192.168.1.10 node1 192.168.1.254 host检查时间同步 chronyc sources -v
[root@guo ~]# vim /etc/chrony.conf //物理机作为时间服务同步 ... server iburst allow 0/0 [root@guo ~]# systemctl restart chronyd.service [root@localhost ~]# vim /etc/chrony.conf //两台虚拟机都需要同步 [root@localhost ~]# systemctl restart chronyd [root@localhost ~]# chronyc sources -v ... ^* 192.168.1.254 3 6 17 5 -43us[ -408us] +/- 25ms检查dns 域名解析服务 /etc/resolv.conf
; generated by /usr/sbin/dhclient-script nameserver 192.168.1.254 search localdomain //可以不配,如果写,需要写在nameserver下面配置yum 源 (12个yum源,10731包)
# RHEL7OSP-10.iso rhel-7-server-rhceph-2-osd-rpms rhel-7-server-rhceph-2-mon-rpms rhel-7-server-openstack-10-devtools-rpms rhel-7-server-rhceph-2-tools-rpms rhel-7-server-openstack-10-optools-rpms rhel-7-server-rhscon-2-agent-rpms rhel-7-server-openstack-10-rpms rhel-7-server-rhscon-2-installer-rpms rhel-7-server-openstack-10-tools-rpms rhel-7-server-rhscon-2-main-rpms # CentOS7-1708.iso RHEL7-extras.iso [root@localhost ~]# yum repolist repolist: 10,731安装依赖包 qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools
[root@localhost ~]# yum install qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools //两台机器均需安装安装openstack-packstack(安装nova不需要安装)
[root@localhost ~]# yum -y install openstack-packstack创建应答文件 packstack --gen-answer-file=answer.ini
[root@localhost ~]# packstack --gen-answer-file=answer.ini [root@localhost ~]# vim answer.ini ... 42 CONFIG_SWIFT_INSTALL=n 75 CONFIG_NTP_SERVERS=192.168.1.254 98 CONFIG_COMPUTE_HOSTS=192.168.1.10,192.168.1.11 102 CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11 333 CONFIG_KEYSTONE_ADMIN_PW=123456 840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan 876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5 910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 936 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1 1179 CONFIG_PROVISION_DEMO=n安装 openstack 和 nova : packstack --answer-file=answer.ini
[root@localhost ~]# packstack --gen-answer-file=answer.ini [email protected]'s password: //输入主机密码 [email protected]'s password: