linux 云计算Openstack搭建
Openstack
由NASA和Reckspace合作研发并发起的项目,以Apache许可证为授权
云计算三大支柱模型
IaaS:基础架构即服务
提供服务器/虚拟主机/网络等设备资源
PaaS:平台即服务
提供web中间件/数据库等集成的系统平台
SaaS:软件即服务
提供电子邮件/杀毒/网盘等软件服务
———————————————————————————————————————————————————
OpenStack主要组件
OpenStack覆盖云的各个方面,根据成熟及重要程度的不同,被分解为核心项目,孵化项目
Keystone:实现身份认证
Nova:计算功能,用于为用户管理虚拟机实例
Glance:镜像服务,虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式
Neutron:网络管理,提供云计算的网络虚拟化技术,类似于虚拟机中创建网络,隔离网段的功能,但功能要强大的多
Cinder:块存储(云硬盘),给虚拟机添加磁盘设备
Horizon:ui界面,用于简化用户对服务的操作
Swift:对象存储,用于大规模可扩展系统中内置冗余及高容错机制,为Glance提供镜像存储
Heat:业务流程,实现云基础设施软件运行环境的自动化部署
Openstack部署方式
RDO(redhat Openstack)
自行配置epel及rdo的yum源,并且配置相关的实验环境(ntp,ip,dns)
红帽rhca环境
使用红帽现成的实验环境
——————————————————————————————————————————————
实例:搭建openstack
准备环境 先搭建好dns服务和ntp服务(最好分别搭建,不要在同一台)
DNS服务器ip:192.168.4.12
NTP服务器ip:192.168.4.10
openstack平台ip:192.168.4.11
1.搭建dns服务,IP地址配置为192.168.4.12
[root@rhel7_clone ~]# yum -y install bind
[root@rhel7_clone ~]# vim /etc/named.conf(配置全局设置)
options {
listen-on port 53 { any; };
。。。。。
allow-query { any; };
[root@rhel7_clone ~]# vim /etc/named.rfc1912.zones(在尾行添加申明)
zone "xxsrc.net" IN {
type master;
file "xxsrc.net.zone";
allow-update { none; };
};
[root@rhel7_clone ~]# vim /var/named/xxsrc.net.zone(创建区域配置文件)
$TTL 86400
@ IN SOA ns1.xxsrc.net. root.xxsrc.net. (
20171001
3H
15M
1W
1D )
@ IN NS ns1.xxsrc.net.
ns1 IN A 192.168.4.12(dns服务器地址)
$GENERATE 2-254 rhel$ IN A 192.168.4.$
[root@rhel7_clone ~]# chmod 640 /var/named/xxsrc.net.zone(更改权限)
[root@rhel7_clone ~]# systemctl enable named; systemctl start named(开机自启,启动)
2.搭建ntp服务(ntp,网络时间协议),IP地址配置为192.168.4.10
[root@rhel7_clone ~]# yum -y install ntp
[root@rhel7_clone ~]# vim /etc/ntp.conf
restrict 192.168.4.0 mask 255.255.255.0 nomodify notrap(配置文件有,直接复制,ip段改为要服务的网段)
#server 0.rhel.pool.ntp.org iburst(把server这几行注释)
server 127.127.1.0 iburst(添加)
fudge 127.127.1.0 straum 3(添加)
[root@rhel7_clone ~]# systemctl enable ntpd; systemctl start ntpd(启动)
[root@rhel7_clone ~]# netstat -ulnp | grep :123(查看是否运行)
搭建Openstack
准备一台rhel7服务器,IP地址配置为192.168.4.11
配置3个yum源,分别是rhel7光盘,osp5光盘,rht.tar.gz,
然后更新系统 yum -y update
安装一键安装工具 packstack
最好改一下本机的hosts文件,加上另外两个的主机名及ip
[root@rhel7_2 ~]# ntpdate 192.168.4.10(同步是ntp服务器的时间)
[root@rhel7_2 ~]# yum -y install openstack-packstack
生成应答文件
[root@rhel7_2 ~]# packstack --gen-answer-file answer.txt
更改应答文件
[root@rhel7_2 ~]# vim answer.txt
CONFIG_NTP_SERVERS=192.168.4.10(NTP服务器地址)
CONFIG_KEYSTONE_ADMIN_PW=123456(openstack平台的admin密码)
CONFIG_HORIZON_SSL=y(web平台加密默认n,改为y)
CONFIG_PROVISION_TEMPEST=n(默认y,改为n)
安装openstack
[root@rhel7_2 ~]# packstack --answer-file answer.txt
配置Open VSwitch
虚拟交换机,用来组成虚拟网络
OVS是一个高质量的虚拟交换机技术,虚拟交换机利用软件的方式实现数据交换功能
一台物理服务器上可以配置数十台或者数百台虚拟交换机,而且端口数目可以灵活选择
修改配置文件
[root@rhel7_2 ~]# cd /etc/sysconfig/network-scripts/
[root@rhel7_2 network-scripts]# cp ifcfg-eth0 ifcfg-br-ex(复制一个网卡配置文件)
[root@rhel7_2 network-scripts]# vim ifcfg-eth0(配置OVS桥接网络接口)
DEVICE=eth0
ONBOOT=yes
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
[root@rhel7_2 network-scripts]# vim ifcfg-br-ex
DEVICE=br-ex
ONBOOT=yes
BOOTPROTO=none
TYPE=OVSBridge
DEVICETYPE=ovs
IPADDR=192.168.4.11
NETMASK=255.255.255.0
DNS1=192.168.4.12
[root@rhel7_2 ~]# ovs-vsctl add-port br-ex eth0(为br-ex虚拟网卡添加端口)
[root@rhel7_2 ~]# systemctl stop NetworkManager(停止网络服务,不停这个服务会和网络冲突)
[root@rhel7_2 ~]# systemctl disable NetworkManaher(开机不自启)
[root@rhel7_2 ~]# /etc/init.d/network restart(重启网络)
配置好后通过web页面来配置,用户名admin ,密码为应答文件里的密码
firefox :https://192.168.4.11/
Openstack云管理(都是通过web界面来管理)
Horizon:
一个管理openstack平台的web接口,Horizon通过与其他openstack项目的api通信
可以实现与命令行操作的相同效果
openstack使用identity进行身份验证,可以实时跟踪用户及用户被赋予的权限
创建流程:
创建Tenant(项目)
创建Flavor(租户)
创建User(用户)
创建虚拟网络
设置访问与安全
创建虚拟机镜像
——————————————————————————————————————————————————————————————————————