一 openstack(批量管理虚拟机)
代码语言:javascript
复制介绍:
(1)由NASA和Rackspace合作研发并发起的项目
(2)IaaS解决方案
(3)开源云计算管理平台
(4)以Apache许可证为授权
二 openstack主要组件
代码语言:javascript
复制(1)horizon(管理openstack的服务)
a.用于管理Openstack各种服务的、基于web的管理接口
b.通过图形界面实现创建用户、管理网络、启动实例等操作
(2)Nova组件(相当于客户端,zabbix)
a.在节点上用于管理虚拟机的服务
b.Nova是一个分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理
c.Nova被设计成在标准硬件上能够进行水平扩展
d.启动实例时,如果有则需要下载镜像
(3)glance(服务,类似于yum,后端盘共享)
a.扮演虚拟机镜像注册的角色
b.允许用户为直接存储拷贝服务器镜像
c.这些镜像可以用于新建虚拟机的模板
(4)cinder(卷存储)
a.为虚拟机管理存储卷的服务
b.为运行在Nova中的实例提供永久的块存储
c.可以通过快照进行数据备份
d.经常应用在实例存储环境中,如数据库文件
(5)keystore(提供集中式的授权)
a.为其他服务提供认证和授权的集中身份管理服务
b.也提供了集中的目录服务
c.支持多种身份认证模式,如密码认证、令牌认证、以及AWS(亚马逊Web服务)登陆
d.为用户和其他服务提供了SSO认证服务
(6)swift(对象存储)
(7)quantum(解决网络的互联互通及隔离的问题)
三 openstack环境准备
代码语言:javascript
复制(1)准备虚拟机
(2)配置YUM仓库
(3)设置DNS
1.虚拟机配置(准备虚拟机 3 台,配置入下)
• openstack 管理主机
a.2CPU,6G 内存,50G 硬盘
b.配置静态IP:192.168.1.10
• nova01,nova02 计算节点 * 2
– 2CPU,4.5G 内存,100G 硬盘
– 配置静态IP:192.168.1.11(12
#################################
2.配置DNS
#vim /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
nameserver 192.168.1.254
#vim /etc/hosts
192.168.1.10 open
192.168.1.11 nova01
192.168.1.12 nova02
3.配置ntp
(1)配置三台虚拟机和真机同步
vim /etc/chrony.conf
server 192.168.1.254 iburst
systemctl restart chronyd
chronyc sources -v(出现*号成功)
4.配置yum
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/centos-1804"
enabled=1
gpgcheck=0
[local_repo1]
name=CentOS-$releasever - Base1
baseurl="ftp://192.168.1.254/extras"
enabled=1
gpgcheck=0
[local_repo2]
name=CentOS-$releasever - Base2
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[local_repo3]
name=CentOS-$releasever - Base3
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0
四 安装
代码语言:javascript
复制1.安装依赖软件包
– qemu-kvm
– libvirt-daemon
– libvirt-daemon-driver-qemu
– libvirt-client
– python-setuptools
(1)cat /proc/cpuinfo | grep vmx
(检测虚拟机是否支持vmx指令,如果过滤有就代表支持)
(2)grep ssse3 /proc/cpuinfo
(检测是否有ssse3指令集,如果有代表支持)
(3)如果没有的话,解决方法:
(vim /etc/modprobe.d/kvm-nested.conf
加入一行 options kvm_intel nested=1)
(4)检查环境
a.是否卸载firewalld 和 NetworkManager
b.检查配置主机网络参数(静态IP)
c.主机名必须能够相互 ping 通
d.检查配置主机yum源(4个,10670)
e.依赖软件包是否安装(5个包)
f.检查NTP服务器是否可用(chronyc sources -v(出现*号成功))
g.检查 /etc/resolv.conf 不能有 search 开头的行
2.配置packstack
(1)在openstack上操作
yum -y install openstack-packstack
(2)生成应答文件
[root@open ~]# packstack --help | grep answer
--gen-answer-file=GEN_ANSWER_FILE
Generate a template of an answer file.
--answer-file=ANSWER_FILE
answerfile will also be generated and should be used
-o, --options Print details on options available in answer file(rst
Packstack a second time with the same answer file and
[root@open ~]# packstack --gen-answer-file=answer.ini
Packstack changed given value to required value /root/.ssh/id_rsa.pub
(3)修改应答文件vim answer.ini
42: CONFIG_SWIFT_INSTALL=n #本地存储
45: CONFIG_CEILOMETER_INSTALL=n #收费
49: CONFIG_AODH_INSTALL=n #收费
53: CONFIG_GNOCCHI_INSTALL=n #收费
75: CONFIG_NTP_SERVERS=192.168.1.254 #ntp服务器地址
98: CONFIG_COMPUTE_HOSTS=192.168.1.11 #在那台机子上安装Nova组件(启虚拟机的)
102: CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11 #那台机子支持nova网络
333: CONFIG_KEYSTONE_ADMIN_PW=a #管理员的密码
840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan #openstack在运行的过程中,支持什么网络协议(扁平网络)
910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex #内部与内部通讯时,需要虚拟交换机,定义虚拟交换机
921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 #定义交换机的端口名,连接互联网的wan口,设定外网通讯端口
1179: CONFIG_PROVISION_DEMO=n #怕你不会装,写了个例子
3.执行应答文件(安装openstack)
packstack --answer-file=answer.ini #安装过程10-20分钟左右
##################################################################################