基于互联网的相关服务的增加、使用和交付模式
IaaS(Infrastructure as a Service),即基础设施即服务
提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序
IaaS通常分为三两种用法:公有云共的和、私有云的和混合云
PaaS是Platform-as-a-Service的缩写,意思是平台即服务
云计算时代相应的服务器平台戒者开发环境作为服务进行提供就成为了PaaS
SaaS是Software-as-a-Service(软件即服务)的简称
它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务
OpenStack是一个开源的云计算管理平台,是一套IaaS解决方案,以Apache许可证为授权,由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目
Openstack主要组件
Horizon用于管理Openstack各种服务的、基于web的管理接口,通过图形界面实现创建用户、管理网络、启动实例等操作
Keystone为其他服务提供认证和授权的集中身份管理服务
Neutron一种软件定义网络服务,用于创建网络、子网、路由器、管理浮动IP地址,可实现虚拟交换机、虚拟路由器
Cinder为虚拟机管理存储卷的服务
Nova在节点上用于管理虚拟机的服务,是一个分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理
Glance扮演虚拟机镜像注册的角色
部署openstack
1.准备两台虚拟机,要求如下
要求:虚拟机1 (主机名:openstack)
8G 内存,2块网卡,2块硬盘,其中 / 的 vda1 要求 50G,vdb 20G
第一块网卡连接虚拟交换机 vbr
第二块网卡连接虚拟交换机 private1
设置静态 IP,默认网关 192.168.1.254
/etc/sysconfig/network-scripts/ifcfg-ethX
BOOTPROTO="static"
IPADDR="192.168.1.xx"
PREFIX="24"
GATEWAY="192.168.1.254
要求: 虚拟机2(主机名:nova)
6G 内存,2块网卡
第一块网卡连接虚拟交换机 vbr,第二块网卡连接虚拟交换机 private1
设置静态 IP,默认网关 192.168.1.254,要求与第一台虚拟主机的两个 IP 都能 ping 通,硬盘:/ 的 vda1 要求 50G
注:两台虚拟机需要卸载NetworkManger服务,禁用SELINUX(disabled),卸载firewalld(详细操作见KVM虚拟化)
2.部署yum,RHEL7OSP的iso下每个目录都是一个软件仓库,全部设置为yum源,RHEL7-extras的iso也部署成yum源,centos的iso镜像也部署成yum仓库,并且必须做gpg检查,导入镜像中的密钥,yum –import 密钥
注:两台虚拟机都做
3.设置dns服务器,openstack 安装时候需要使用外部 dns 来解析域名,可让真机做dns转发(参见kvm虚拟化),
注:DNS 服务器不能与 openstack 安装在同一台主机上
4.部署NTP时间同步服务器,可在部署dns转发的机器上做(详细操作见kvm虚拟化),两台虚拟机的NTP指向时间同步服务器
5.在openstack虚拟机上创建一个卷组,openstack为虚拟机提供云硬盘,卷组名称必须为cinder-volumes
pvcreate /dev/vdb
vgcreate cinder-volumes /dev/vdb
6.安装额外的软件包(两台虚拟机上面都要安装)
yum install -y qemu-kvm \
libvirt-client \
libvirt-daemon \
libvirt-daemon-driver-qemu \
python-setuptools
7.检查基础环境
1. 禁用 selinux
2. 卸载 firewalld
3. 卸载 NetworkManager
4. 配置主机IP地址
5. 配置主机yum客户端
6. 创建cinder-volumes的卷组
7. 导入公钥
8. 安装依赖的软件包
8.安装packstack
yum install -y openstack-packstack
9.创建应答文件(最好用ini结尾,有一行报错无关紧要)
packstack –gen-answer-file answer.ini
10.修改应答文件(vim answer.ini)前面数字为行
11.CONFIG_DEFAULT_PASSWORD=Taren1 //默认密码
42.CONFIG_SWIFT_INSTALL=n //禁用共享存储swift(对象存储)
75.CONFIG_NTP_SERVERS=192.168.1.254 //使用ntp时间同步服务配置地址
98.CONFIG_COMPUTE_HOSTS=192.168.1.10 //计算节点IP地址,有几个写几个
102.CONFIG_NETWORK_HOSTS=192.168.1.10 //配置主机的网络
554.CONFIG_CINDER_VOLUMES_CREATE=n //不自动创建卷组
561.CONFIG_CINDER_VOLUMES_SIZE=20G //卷组的大小
840.CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan //配置网络驱动类型
服务器连接内网的技术是vxlan,连接外网的技术是flat
876.CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.6 //配置一个组播地址,一个openstack一个组播地址
910.CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex //配置一个网桥地址,虚拟机模拟成交换机的接口
921.CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 //把虚拟机eth0的网卡模拟成为虚拟交换机接口
936.CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1 //配置另外一个网卡eth1用隧道通信
1179.CONFIG_PROVISION_DEMO=n //不使用测试
11.通过脚本安装openstack
packstack –answer-file answer.ini
如果前期环境准备没有问题,需要等待二十分钟左右出现successfuly就表示安装成功,如果安装中途出现红色标识符,那么就会安装错误
一般会出现以下几种情况:NTP时间未矫正,firewalld,selinux和networkmanger是否卸载以及禁用
12.查看外部的OVS网桥
cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
NAME=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
验证OVS配置
ovs-vsctl show //会出现有端口为eth0
ip -o addr show //会发现eth0的网络配置全部移动到br-ex上
13.安装后Horizon网页管理默认无法打开,是因为这个软件的配置有BUG,需要在/etc/httpd/conf.d/15-horizon_vhost.conf下添加一行配置
需要添加的配置:WSGIApplicationGroup %{GLOBAL}
ServerAlias localhost
WSGIDaemonProcess apache group=apache processes=3
threads=10 user=apache
WSGIProcessGroup apache
WSGIApplicationGroup %{GLOBAL} <—在这里添加
重新载入配置文件:apachectl graceful
14.可访问openstack的本地br-ex的ip地址进去,帐号密码在/root/下的keystonerc_admin文件中,登陆
Openstack项目管理
给一个项目分配资源(如8个cpu,20G内存),一个项目可以有多个用户,项目的用户可以自行分配资源,自行通过些资源创建自己所需要的虚拟机
缺省情况下,packstack安装的openstack中有两个独立的项目
– admin:为admin账户创建的项目
– services:与安装的各个服务相关联,两个都不能删除
创建项目:身份管理—>创建项目:*号是必填,注意内存cpu
再创建用户,权限一定给member,只能做自己项目的操作
关于 /root/keystone_admin 文件的注意事项:
1、该文件只是一个文本,里面记录了 admin 的用户名和密码,与认证无关
2、不能通过修改该文件达到修改 admin 密码的目的
3、修改 admin 密码请使用 web 页面登录后,在web页面中修改
修改后,keystone_admin 中的密码通用要修改成新的密码才可以继续使用
4、该文件可以作为命令行的登录文件使用,使用方式 source ~/keystone_admin
5、如果你安装完成 openstack 后,没有修改过 admin 的密码
keystone_admin 文件不小心被更改了
我们可以通过查找应答文件 answer.ini 中的变量 CONFIG_KEYSTONE_ADMIN_PW 来找到默认安装密码
Openstack命令行:openstack的命令行由于版本变化后命令行的改动幅度较大,建议还是在网页中进行操作,但是必须记住修改密码这个命令!在命令行中修改密码不需要原密码!
1.认证:source ~/keystonerc_admin 提示符变化
env | grep OS 会查看到OS认证信息
2.openstack project list //查看项目
3.修改用户密码(不需要知道原始密码),例:修改user2的密码为redhat
openstack user set –password redhat user2
通过命令行管理用户
• 创建user2用户,指定密码为tedu.cn
[root@vh02 ~(keystone_admin)]# openstack user create –password tedu.cn user2
• 设置user2的email地址
[root@vh02 ~(keystone_admin)]# openstack user set –email
user2@tedu.cn user2
• 列出所有用户
[root@vh02 ~(keystone_admin)]# openstack user list
• 查看user2信息
[root@vh02 ~(keystone_admin)]# openstack user show user2
• 指定user2可以访问myproject,角色为_member_
[root@vh02 ~(keystone_admin)]# openstack role add –user user2 –project myproject _member_
• 查看user2在myproject中的角色
[root@vh02 ~(keystone_admin)]# openstack role list –project
myproject –user user2
• 禁用用户
[root@vh02 ~(keystone_admin)]# openstack user set –disable user2
• 激活用户
[root@vh02 ~(keystone_admin)]# openstack user set –enable user2
• 修改user2的密码为redhat
[root@vh02 ~(keystone_admin)]# openstack user set –password redhat user2
• 将user2从myproject中移除
[root@vh02 ~(keystone_admin)]# openstack role remove –project myproject –user user2 _member_
• 删除user2用户
[root@vh02 ~(keystone_admin)]# openstack user delete user2
• 列出项目的缺省配额
[root@vh02 ~(keystone_admin)]# nova quota-defaults
• 列出myproject的配额
[root@vh02 ~(keystone_admin)]# nova quota-show –tenant myproject
• 修改浮动IP地址配额
[root@vh02 ~(keystone_admin)]# nova quota-update –floating-ips 20 myproject
管理镜像命令
• 另存镜像为本地文件
[root@vh02 ~(keystone_admin)]# openstack image save –file /tmp/small.img small
• 上传镜像
[root@vh02 ~(keystone_admin)]# openstack image create –disk-format qcow2 –min-disk 10 –min-ram 512 –file /root/small.img small_rhel6
• 列出镜像
[root@vh02 ~(keystone_admin)]# openstack image list
• 查看镜像详情
[root@vh02 ~(keystone_admin)]# openstack image show small_rhel6
• 修改镜像属性
[root@vh02 ~(keystone_admin)]# openstack image set –public small_rhel6
• 删除镜像
[root@vh02 ~(keystone_admin)]# openstack image delete small_rhel6
创建网络
1.创建外网:管理员->网络->创建网络public->先创建一个flat外网网段192.168.1.0/24 ,共享和外部网络勾选,物理网络为CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex中的physnet1
2.给外网一个IP地址,切换到项目用户,给public外网增加一个子网,注意,不要勾选dhcp!
3.创建一个内网,点击创建网络,不用勾选共享,网关用路由器的网关
4.创建路由器,创建是注意先与外网连接,再添加接口连接内网。
Nova安装(添加一个新的计算节点)
1. 检查新的nova主机是否和openstack主机ping通(两块网卡都要进行测试)
检查nova主机的基础环境是否和安装openstack的时候一样(上述八项),不用安装额外的软件包和packstack
2.检查openstack和nova主机是否能用主机名ping通,在两台主机的/etc/hosts文件中加入
192.168.1.10 openstack
192.168.1.20 nova
注意:自己的域名解析也是需要添加在一起,千万不能写错了,不然生成的nova的配置文件会出问题(/etc/nova/nova.conf)
3.在openstack的主机中编辑应答文件(answer.ini)
98.CONFIG_COMPUTE_HOSTS=192.168.1.10,192.168.1.20 //计算节点IP地址,有几个写几个
102.CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.20 //配置主机的网络
4.执行命令:packstack –answer-file answer.ini
注意:安装完成后Horizon的网页配置文件会恢复bug,查看上述13点修改
账号密码依然存放在keystore文件中,会重置管理员的账号密码
openstack中的虚拟机热迁移
项目中的用户创建的虚拟机只能由管理员登陆后进行热迁移
未经允许不得转载:天府数据港官方信息博客 » OpenStack安装
客官点个赞呗! (0)