zoukankan      html  css  js  c++  java
  • openstack--1--基础环境搭建

    Openstack介绍


     

    OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。

    Openstack包含三大项:计算 网络 存储 

    openstack主要目标是来简化资源的管理和分配,把计算 网络 存储。三大项虚拟成三大资源池,例如需要计算资源我这里可以提供,需要网络资源这里也可以提供以及存储资源的需求,对外提供api,通过api进行交互。
    openstack的设计基本上是按照亚马逊进行设置的,我们可以将openstack理解为开源版本的aws。因为它很多地方都参考亚马逊进行操作的,而且openstack的很多api跟亚马逊是相通的。

    计算资源:管理cpu和内存
    存储资源:存储数据
    网络资源:网络资源这块,最近比较火的就是SDN,软件定义网络,真正生产使用的很少。青云的sdn做的比较好

    命名从A开始。
    E版开始,在国内开始有用了,此时功能比较简陋,G版用的也比较多
    I 版 :最后一个支持centos6和python2.6的,I版本以后的都是默认python2.7开始的了

    业界使用openstack做公有云的有:金山云,乐视云,京东云,携程,惠普云,华为,IBM

    阿里云,青云,腾讯云都是自己开发的

    私有云以vmware为主

    openstack由很多组件构成。分别扮演不同的功能

    1)计算(Compute,代号为“Nova”)
    根据需求提供虚拟的服务器。Rackspace和HP公司提供商业云计算服务正是建立在Nova之上,在Mercado Libre和NASA(Nova项目的起源地)内部也是使用的Nova。

    2)对象存储(Object Storage,代号为“Swift”)
    提供的对象存储服务,允许对文件进行存储或者检索(但不是通过挂载文件服务器上目录的方式来实现)。
    目前已经有好几家公司开始提供基于Swift的商业存储服务,这些公司包括KT公司、Rackspace公司(Swift项目的发源地)和Internap公司,
    而且,有很多大公司内部也使用Swift来存储数据。

    3)块存储(Block Storage,代号为“Cinder”)
    为虚拟化的客户机提供持久化的块存储服务。该组件项目的很多代码最初是来自于Nova之中(就是the nova-volume service)。
    不过请注意,这是块存储(或者volumes),而不是类似于*S或者CIFS文件系统,Cinder在最新的“Folsom”版本OpenStack中才加入的一个全新的项目。

    4)镜像(Image,代号为“Glance”)
    提供了一个虚拟磁盘镜像的目录和存储仓库,可以提供对虚拟机镜像的存储和检索

    5)网络(Network,代号为“Neutron”)
    在接口设备之间提供“网络连接即服务”的服务,
    该服务允许用户创建自己的网络,然后添加网络接口设备。

    6)身份认证(Identity,代号为“Keystone”)
    为OpenStack上的所有服务提供身份验证和授权。它还提供了在特定OpenStack云服务上运行的服务的一个目录。

    7)控制面板(Dashboard,代号为“Horizon”)
    为OpenStack的所有服务提供一个模块化的基于Web的用户界面。使用这个Web图形界面,可以完成云计算平台上的大多数的操作,如启动客户机、分配IP地址、设置访问控制权限等。

    实验环境准备


     

    实验环境机器准备

    Vmware Workstation
    虚拟机系统2个
    系统版本:centos7.1.1503 x86_64
    内存:4GB
    网络:两台机器都是nat
    磁盘:40GB
    额外:勾选vt-x
    

    IP地址如下。同时保证NAT之后可以ping通百度,dns和网关自行设置

    两台机器主机名和系统版本

    注意,主机名是在openstack一经确定就不能随意更改,所以要提前规划好

    [root@linux-node1 ~]# hostname --fqdn
    linux-node1.nmap.com
    [root@linux-node1 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.1.1503 (Core) 
    [root@linux-node1 ~]# 
    
    [root@linux-node2 ~]# hostname --fqdn
    linux-node2.nmap.com
    [root@linux-node2 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.1.1503 (Core) 
    [root@linux-node2 ~]# 
    

    保证两台机器可以访问公网

    [root@linux-node1 ~]# ping www.baidu.com -c 2
    PING www.a.shifen.com (115.239.211.112) 56(84) bytes of data.
    64 bytes from 115.239.211.112: icmp_seq=1 ttl=128 time=5.40 ms
    64 bytes from 115.239.211.112: icmp_seq=2 ttl=128 time=35.9 ms
    
    --- www.a.shifen.com ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 5.408/20.697/35.986/15.289 ms
    [root@linux-node1 ~]# 
    
    
    [root@linux-node2 ~]# ping www.baidu.com -c 2
    PING www.a.shifen.com (115.239.210.27) 56(84) bytes of data.
    64 bytes from 115.239.210.27: icmp_seq=1 ttl=128 time=5.02 ms
    64 bytes from 115.239.210.27: icmp_seq=2 ttl=128 time=3.03 ms
    
    --- www.a.shifen.com ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 3.034/4.031/5.029/0.999 ms
    

      

     两台机器配置好主机名解析

    [root@linux-node1 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.56.11 linux-node1 linux-node1.nmap.com
    192.168.56.12 linux-node2 linux-node2.nmap.com
    [root@linux-node1 ~]# 
    

    控制节点和计算节点同步时间,这里去同步阿里云的时间服务器,很多时候,时间不一致无法创建虚拟机

    [root@linux-node2 ~]# ntpdate time1.aliyun.com
    

      

    当然也可以设置控制节点为时间服务器,让计算节点来同步

    [root@linux-node2 ~]# yum install chrony -y
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Package chrony-2.1.1-4.el7.centos.x86_64 already installed and latest version
    Nothing to do
    [root@linux-node2 ~]# 
    

    控制节点修改配置文件,允许的客户端范围

    [root@linux-node1 ~]# vim /etc/chrony.conf 
    [root@linux-node1 ~]# grep allow /etc/chrony.conf 
    allow 192.168/16
    [root@linux-node1 ~]# 
    

    启动时间服务,并设置开机启动

    [root@linux-node1 ~]# systemctl enable chronyd.service
    [root@linux-node1 ~]# systemctl start chronyd.service
    [root@linux-node1 ~]# systemctl status chronyd.service
    

    设置时区,检查时间

    [root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai
    [root@linux-node1 ~]# timedatectl  status
          Local time: Wed 2017-02-15 22:46:00 CST
      Universal time: Wed 2017-02-15 14:46:00 UTC
            RTC time: Wed 2017-02-15 14:46:00
           Time zone: Asia/Shanghai (CST, +0800)
         NTP enabled: yes
    NTP synchronized: yes
     RTC in local TZ: no
          DST active: n/a
    [root@linux-node1 ~]# date
    Wed Feb 15 22:46:10 CST 2017
    [root@linux-node1 ~]# 
    

     

    基础软件包安装


     

    基础软件包需要在所有的OpenStack节点上进行安装,包括控制节点和计算节点。

    1.安装EPEL仓库

    [root@linux-node1 ~]# rpm -ivh  http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
    Retrieving http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
    warning: /var/tmp/rpm-tmp.yt2iBS: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:epel-release-7-9                 ################################# [100%]
    [root@linux-node1 ~]# cd /etc/yum.repos.d/
    [root@linux-node1 yum.repos.d]# ls
    CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  epel.repo
    CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Vault.repo    epel-testing.repo
    

    2.安装OpenStack仓库,这里安装的是M版本的。

    root@linux-node1 yum.repos.d]# yum install -y centos-release-openstack-mitaka
    Loaded plugins: fastestmirror
    epel/x86_64/metalink                                                | 6.1 kB  00:00:00     
    epel                                                                | 4.3 kB  00:00:00     
    (1/3): epel/x86_64/group_gz                                         | 170 kB  00:00:00     
    (2/3): epel/x86_64/updateinfo                                       | 735 kB  00:00:01     
    (3/3): epel/x86_64/primary_db                                       | 4.5 MB  00:00:36     
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * epel: mirror01.idc.hinet.net
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    Installed:
      centos-release-openstack-mitaka.noarch 0:1-5.el7                                         
    
    Dependency Installed:
      centos-release-ceph-hammer.noarch 0:1.0-5.el7.centos                                     
      centos-release-qemu-ev.noarch 0:1.0-1.el7                                                
      centos-release-storage-common.noarch 0:1-2.el7.centos                                    
      centos-release-virt-common.noarch 0:1-1.el7.centos                                       
    
    Complete!
    [root@linux-node1 yum.repos.d]# ls
    CentOS-Base.repo         CentOS-fasttrack.repo         CentOS-Vault.repo
    CentOS-Ceph-Hammer.repo  CentOS-OpenStack-mitaka.repo  epel.repo
    CentOS-CR.repo           CentOS-QEMU-EV.repo           epel-testing.repo
    CentOS-Debuginfo.repo    CentOS-Sources.repo
    [root@linux-node1 yum.repos.d]# 
    

    3.安装OpenStack客户端  

    [root@linux-node1 ~]# yum install -y python-openstackclient
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * epel: mirror.premi.st
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    Package python-openstackclient-2.3.0-1.el7.noarch already installed and latest version
    Nothing to do
    [root@linux-node1 ~]# 
    

    4.安装openstack SELinux管理包
    生产中,我们尽量关闭selinux,如果不关闭selinux,这个服务会帮我们把openstack的selinux配置好

    [root@linux-node1 ~]# yum install -y openstack-selinux
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.163.com
     * epel: mirror.premi.st
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    Package openstack-selinux-0.7.13-2.el7.noarch already installed and latest version
    Nothing to do
    [root@linux-node1 ~]# 
    

      

  • 相关阅读:
    2018.4.23 深入理解java虚拟机(转)
    2018.4.23 git常用操作命令收集(转)
    2018.4.23 设计模式的一些总结
    2018.4.23 pip使用
    2018.4.23 git命令总结
    2018.4.23 git删除已经add的文件
    2018.4.17 VFS
    记北京第一次跳槽
    RocketMQ存储机制01-存储文件组织与内存映射
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/nmap/p/6416017.html
Copyright © 2011-2022 走看看