私有云搭建测试

1.云计算简介

1.1 云计算

基于互联网的相关服务的增加、使用和交付模式;这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池这些资源能够被快速提供,管理投入及与供应商的交互都相对较少。通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。

1.2 IaaS(infrastructure)

基础设施即服务,提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序通常分为是三种用法:共有云、私有云和混合云。

1.3 PaaS(platform)

平台即服务,以服务器平台或者开发环境作为服务进行提供;PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,还针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发、优化等服务即PaaS平台是指云环境中的应用基础设施服务,也可以说是中间件即服务。

1.4 SaaS(software)

软件即服务,是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商订购所需的应用软件服务用户不在购买软件,而是向提供商租用基于web的软件,不用对软件进行维护,同时也提供软件的离线操作和本地数据存储。

1.5 Openstack

一套IaaS解决方案,开源的云计算管理平台,以Apache许可证为授权。

主要组件
  Horizon:用于管理OpenStack各种服务的、基于web的管理接口;通过图形界面实现创建用户、管理网络、启动实例等操作。  
  keystone:为其他服务提供认证和授权的集中身份管理服务,也提供了集中的目录服务支持多种身份认证模式,如密码、令牌、以及AWS登录;为用户和其他服务提供了SSO认证服务.
  Neutron:一种软件定义网络服务;用于创建网络、子网、路由器、管理浮动IP地址;可以实现虚拟交换机、虚拟路由器;用于创建VPN
  Cinder:为虚拟机管理存储卷的服务;为运行在Nova中的实例提供永久的块存储;可以通过快照进行数据备份;经常应用在实例存储环境中(如数据库文件)
  Glance:扮演虚拟机镜像注册的角色;允许用户为直接存储拷贝服务器镜像;这些镜像可以用于新建虚拟机的模板
  Nova:在节点上用于管理虚拟机的服务,nova是一个分布式的服务,能够与keystone交互实现认证,与Glance交互实现镜像管理
  nova被设计成在标准硬件上能够进行水平扩展,启动实例时如果有则需要下载镜像

2. 部署私有云

2.1 环境说明

节点 ip地址
OpenStack 192.168.1.10
Nova01 192.168.1.11
Nova02 192.168.1.12

将公用yum仓库放在192.168.1.10主机节点。

2.2 配置4台虚拟机(1.10、1.11、1.12、1.100以1.100为例)

-禁用selinux

 ]# vim /etc/selinux/config
 SELINUX=disabled

-卸载系统防火墙

yum -y remove firewalld-*

-修改网卡配置文件,使用network服务

 ]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
   # Generated by dracut initrd      //注释
   DEVICE=ens33                     //驱动名称,与ifconfig 看到的名称一致
   ONBOOT="yes"                       //开机启动
   NM_CONTROLLED="no"                //不接受 NetworkManager 控制
   TYPE="Ethernet"                    //类型
   BOOTPROTO="static"               //协议(dhcp|static静态|none)
   IPADDR="192.168.1.100"             //IP地址
   NETMASK="255.255.255.0"           //子网掩码
   GATEWAY="192.168.1.254"          //默认网关
   DNS1=114.114.114.114
   DNS2=8.8.8.8
 ]# systemctl stop NetworkManager  //停止网络管理工具
 ]# systemctl start network
 ]# systemctl enable network
 ]# yum remove -y NetworkManager  //卸载网络管理工具
 ]# service network restart   //重启网卡
 ]# reboot

-测试网络连通

 ]# ping -c 1 www.baidu.com
  PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
  64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=128 time=14.0 ms
  --- www.a.shifen.com ping statistics ---
  1 packets transmitted, 1 received, 0% packet loss, time 0ms
  rtt min/avg/max/mdev = 14.028/14.028/14.028/0.000 ms

2.3 配置yum源

-在1.100上准备yum仓库

 ]# mkdir -p /var/ftp/{centos-1804,extras,openstack}
 ]# cd /var/iso/
 ]# mount -t iso9660 -o ro,loop CentOS-7.5-1804.iso /var/ftp/centos-1804     
 ]# mount -t iso9660 -o ro,loop RHEL7-extras.iso    /var/ftp/extras //-o指定选项,loop用来把一个文件当成硬盘分区mount到指定目录
 ]# mount -t iso9660 -o ro,loop RHEL7OSP-10.iso     /var/ftp/openstack
      //-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态 
 ]# yum install -y vsftpd  //搭建ftp服务器,将镜像挂载到ftp共享目录下
 ]# systemctl enable vsftpd
 ]# systemctl start  vsftpd

-在四台机器上配置yum源(以1.100为例)

 ]# yum makecache   //将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度
 ]# vim  /etc/yum.repo.d/local.repo  //通过ftp服务搭建,ftp目录 /var/ftp
 [BaseOS]
 name=CentOS-$releasever - BaseOS   
 baseurl="ftp://192.168.1.100/centos-1804"  //centos盘
 enabled=1
 gpgcheck=0
 
 [local_extras]
 name=CentOS-$releasever - extras
 baseurl="ftp://192.168.1.100/extras"   //RHEL7-extras.iso盘
 enabled=1
 gpgcheck=0
 
 [openstack]
 name=CentOS-$releasever - Openstack   //RHEL7OSP-10.iso 中的rhel-7-server-openstack-10-rpms
 baseurl="ftp://192.168.1.100/openstack/rhel-7-server-openstack-10-rpms"
 enabled=1
 gpgcheck=0
 
 [openstack-devel]
 name=CentOS-$releasever - Openstack-devel //RHEL7OSP-10.iso 中的rhel-7-server-openstack-10-devtools-rpms
 baseurl="ftp://192.168.1.100/openstack/rhel-7-server-openstack-10-devtools-rpms"
 enabled=1
 gpgcheck=0

-测试yum源

 ]# yum repolist
 Loaded plugins: fastestmirror
 Loading mirror speeds from cached hostfile
 repo id                 repo name                       status
 BaseOS                  CentOS-7 - BaseOS               9,911
 local_extras            CentOS-7 - extras               76
 openstack               CentOS-7 - Openstack            680
 openstack-devel         CentOS-7 - Openstack-devel      3
 repolist: 10,670     //共 10,670个包

2.4 配置DNS(四台机子全配置)

 ]# vim /etc/resolv.conf
 nameserver 114.114.114.114
 nameserver 8.8.8.8   //使用外部的DNS解析域名
 ]# vim /etc/hosts
 192.168.1.10  openstack
 192.168.1.12  nova02
 192.168.1.11  nova01  //将域名对应的ip解析到安装的OpenStack服务器
 ]# ping  nova01  

2.5 准备时间服务器(1.100)

 ]# yum install -y chrony
 ]# vim /etc/chrony.conf
     bindacqaddress 0.0.0.0
      allow 0/0   //手动添加
 ]# systemctl enable chronyd
 ]# systemctl start chronyd  //启动服务
 ]# ss -ltun   //查看状态
Netid State      Recv-Q Send-Q     Local Address:Port      Peer Address:Port
udp   UNCONN     0      0              127.0.0.1:323                  *:*
udp   UNCONN     0      0                      *:123                  *:*

2.6 时间服务(为1.10、1.11、1.12指定时间服务器1.100,以1.10为例)

-添加时间同步服务器(确保版本一致)

 ]# vim /etc/chrony.conf
     server 192.168.1.100 iburst
 ]# systemctl start chronyd  //重启chronyd服务

-测试

 ]# chronyc sources -v  //出现*成功
  210 Number of sources = 1
  ……
  ^* 192.168.1.100                 3   6     7     1   -183us[-4297us] +/-   14ms

2.7 安装OpenStack

-虚拟化平台安装格外软件包(1.11、1.12)nova01/2

 1.11]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools 
 ]# systemctl enable libvirtd
 ]# systemctl start libvirtd
 ]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since 六 2020-03-14 15:15:28 CST; 1min 16s ago
 ]# rpm -qa  | grep NetworkManager*
 ]# rpm -qa  | grep firewalld*    //检查是否卸载firewalld 和 NetworkManager

-配置packstack(1.10)

 1.10]# yum install -y openstack-packstack  //首先安装packstack
 ]# packstack --gen-answer-file answer.ini   //使用packstack创建应答文件
 ]# 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.100                  //时间服务器
 98:   CONFIG_COMPUTE_HOSTS=192.168.1.11                 //计算节点IP
 102:  CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11    //网络节点IP
 333:  CONFIG_KEYSTONE_ADMIN_PW=a                        //管理员密码
 840:  CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan        //支持协议
 910:  CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex //网桥设备
 921:  CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens33      //出口网卡
 1179: CONFIG_PROVISION_DEMO=n                           //演示模块

-安装 openstack

 ]# packstack --answer-file=answer.ini 

2.8 验证(在OpenStack机器即1.10)

-网络管理

 ]# cat ifcfg-br-ex   //br-ex为OVS网桥设备
  ……
 IPADDR=192.168.1.10  //抢夺了ens33网卡的地址
 NETMASK="255.255.255.0"
 GATEWAY="192.168.1.254"  
 ……
 DEVICETYPE=ovs  //装置类型
 OVSBOOTPROTO="static"
 TYPE=OVSBridge  //让KVM支持OpenvSwitch Bridge
 ]# cat ifcfg-ens33   //该网卡为OVS网桥的端口
 DEVICE=ens33
 NAME=ens33
 DEVICETYPE=ovs
 TYPE=OVSPort  //类型为ovs端口
 OVS_BRIDGE=br-ex
 ……
 ]# ovs-vsctl show  //验证OVS配置,可以看到网络信息

-登录OpenStack
Horizon配置:
Horizon是一个用于管理、控制OpenStack服务的web控制面板,也称为Dashboard仪表盘可以管理实例、镜像、创建密钥对,对实例添加卷、操作swift容器等.
功能与特点:

    实例管理:创建、终止实例,查看终端日志,VNC连接,添加等
    访问与安全管理:创建安全群组,管理密钥对,设置浮动ip等
    偏好设定:对虚拟硬件模板可以进行不同偏好设定
    镜像管理:编辑或删除镜像
    用户管理:创建用户等
    卷管理:创建卷和快照
    对象存储处理:创建、删除容器和对象
]# vim /etc/httpd/conf.d/15-horizon_vhost.conf   //修改配置文件
 35   WSGIProcessGroup apache
 36   WSGIApplicationGroup %{GLOBAL}  //添加此行
]# systemctl reload httpd   //重启Apache服务

-web页面登录

在浏览器 http://192.168.1.10/  输入账号admin  密码a登录

-命令行登录

 ]# cat keystonerc_admin 
 unset OS_SERVICE_TOKEN
     export OS_USERNAME=admin  //用户名
     export OS_PASSWORD=a   //密码
     export OS_AUTH_URL=http://192.168.1.10:5000/v2.0 
  ……
 ]# source keystonerc_admin   //初始化环境变量
 [root@openstack ~(keystone_admin)]# openstack  help  //使用帮助
 (keystone_admin)]# openstack project create myproject //创建名为myproject的项目
 (keystone_admin)]# openstack project list  //查看项目信息,存在 myproject
 (keystone_admin)]# openstack project delete myproject //删除myproject
 (keystone_admin)]# nova quota-update --cores 30 myproject //更新vcpu配额为30

【扩展】VXLAN是一种网络虚似化技术,可以改进大型云计算在部署时的扩展问题,是对VLAN的一种扩展。VXLAN是一种功能强大的工具,可以穿透三层网络对二层进行扩展。它可通过封装流量并将其扩展到第三层网关,以此来解决VMS(虚拟内存系统)的可移植性限制,使其可以访问在外部IP子网上的服务器。

你可能感兴趣的:(大数据)