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(用户)

    创建虚拟网络

    设置访问与安全

    创建虚拟机镜像

 

——————————————————————————————————————————————————————————————————————