虚拟化技术的底层构成:

内核的虚拟化模块(KVM):从内核集去提供虚拟化及CPU指令集的支持,要求CPU支持,(CPU有VMX指令集)
 
硬件仿真层(QEMU):虚拟一些周边设备,鼠标、键盘、网卡、声卡、显卡
 
libvirt:负责管理虚拟机,与虚拟机进行交互
 
用户接口:virt-manager(图形界面)、virsh(命令行)
 
虚拟机:配置文件、硬盘(镜像文件)
qcow2 写拷贝技术
前端盘(img) 后端盘(qcow2) xml文件一般不会更改
 
1.配置yum仓库
 
CentOS7-1708光盘内容作为仓库源
配置 RHEL7-extars内容加入仓库源
RHEL7OSP-10光盘中包含多个目录,每个目录都是仓库源(可以使用脚本生成)
 
配置 yum仓库
警告:仅yum配置的第一个源(系统源)为gpgcheck=1需要导入公钥,其他的都是gpgcheck=0,否则安装会报错。
]# mkdir /var/ftp/system  
]# mkdir /var/ftp/extras 
]# mkdir /var/ftp/HEL7OSP
]# vim /etc/fstab
/iso/RHEL7OSP-10.iso   /var/ftp/HEL7OSP iso9660 defaults 0 0
/iso/CentOS7-1708.iso  /var/ftp/system  iso9660 defaults 0 0
/iso/RHEL7-extras.iso  /var/ftp/extras  iso9660 defaults 0 0
]# mount –a
 
]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
enabled=1
gpgcheck=1
[local_extras]
name=extras
enabled=1
gpgcheck=0
[1local_devtools-rpms]
name=devtools-rpms
enabled=1
gpgcheck=0
[2local_optools-rpms]
name=optools-rpms
enabled=1
gpgcheck=0
[3local_rpms]
name=rpms
enabled=1
gpgcheck=0
[4local_tools-rpms]
name=tools-rpms
enabled=1
gpgcheck=0
[5local_mon-rpms]
name=mon-rpms
enabled=1
gpgcheck=0
[6local_osd-rpms]
name=osd-rpms
enabled=1
gpgcheck=0
[7local_rhceph-2-tools-rpms]
name=rhceph-2-tools-rpms
enabled=1
gpgcheck=0
[8local_agent-rpms]
name=agent-rpms
enabled=1
gpgcheck=0
[9local_installer-rpms]
name=installer-rpms
enabled=1
gpgcheck=0
[10local_rhscon-2-main-rpms]
name=rhscon-2-main-rpms
enabled=1
gpgcheck=0
 
2. 两台虚拟机配置
 
2.1 创建两台虚拟机后端盘:
images] qemu-img create -f qcow2 -b node.qcow2 openstack.img 50G
images] qemu-img create -f qcow2 -b node.qcow2 nova01.img 50G
 
2.2 创建img:
删除centos7.0.xml里面所有的^mac*,^address*的行
qemu] sed 's,centos7.0,nova01,' centos7.0.xml > nova01.xml
qemu] sed 's,centos7.0,openstack,' centos7.0.xml > openstack.xml
 
2.3 创建虚拟机:
qemu] virsh define openstack.xml 
qemu] virsh define nova01.xml 
 
2.4 修改内存: 
] virsh edit openstack
...
8848000
8848000
...
 
 
] virsh edit nova01
...
6548000
6548000
...
 
 
添加网卡:(每个都添加第二张网卡)
添加硬件--网络(private1,型号 virtio)--保存
 
2.5 登陆openstack
 
] ssh -X root@192.168.1.140
 
openstack:
]# lsblk(有50G)
]# export LANG=en_US
]# growpart /dev/vda 1 (lsblk 2G-50G)
]# xfs_growfs /    (df -h 2G-50G)
 
]# echo openstack > /etc/hostname 
stack ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.1"
PREFIX=24
GATEWAY=192.168.1.254
tack ~]# systemctl restart network
 
添加第二张网卡:
scripts]# cp ifcfg-eth0 ifcfg-eth1
scripts]# vim ifcfg-eth1
# Generated by dracut initrd
DEVICE="eth1"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.4.10"
PREFIX=24
scripts]# systemctl restart network(会有eth1)
 
配置DNS:
查看真机器
]# cat /etc/resolv.conf 
# Generated by NetworkManager
search tedu.cn
nameserver 176.233.0.227
虚拟机:
]# vim /etc/resolv.conf 
nameserver 176.233.0.227
测试
]# ping www.baidu.com
 
域名解析
tack ~]# vim /etc/hosts     
//在openstack和nova01主机上面操作
192.168.1.1 openstack
192.168.1.2 nova01
 
2.6 登陆nova01
 
]# ssh -X root@192.168.1.129
 
openstack:
]# lsblk(有50G)
]# export LANG=en_US
]# growpart /dev/vda 1 (lsblk 2G-50G)
]# xfs_growfs /    (df -h 2G-50G)
 
]# echo nova01 > /etc/hostname 
stack ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.2"
PREFIX=24
GATEWAY=192.168.1.254
tack ~]# systemctl restart network
 
添加第二张网卡:
scripts]# cp ifcfg-eth0 ifcfg-eth1
scripts]# vim ifcfg-eth1
# Generated by dracut initrd
DEVICE="eth1"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.4.11"
PREFIX=24
scripts]# systemctl restart network(会有eth1)
 
配置DNS:
查看真机器
]# cat /etc/resolv.conf 
# Generated by NetworkManager
search tedu.cn
nameserver 176.233.0.227
虚拟机:
]# vim /etc/resolv.conf 
nameserver 176.233.0.227
测试
]# ping www.baidu.com
 
域名解析
tack ~]# vim /etc/hosts     
//在openstack和nova01主机上面操作
192.168.1.1 openstack
192.168.1.2 nova01
 
3. 配置NTP服务器
将NTP服务与DNS服务部署在同一台主机上
确认NTP服务器的时区是东八区
确认NTP服务器的时间准确
计划安装openstack的服务器与NTP服务器进行时间校正
 
3.1 配置NTP时间同步(真机操作)
]# yum -y install chrony
]# vim /etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0            //允许所有人使用我的时间服务器 
cmdallow 127.0.0.1      //控制指令
]# systemctl restart chronyd
]# netstat -antup | grep chronyd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           23036/chronyd       
udp        0      0 127.0.0.1:323           0.0.0.0:*                           23036/chronyd
]# chronyc sources -v    //出现*号代表NTP时间可用
^* 120.25.115.20 
 
4. 环境准备
准备openstack的基础环境
 
1)配置yum源
备注:只有系统源的gpgcheck=1,其他的都是gpgcheck=0)
]# scp /etc/yum.repos.d/local.repo \192.168.1.1:/etc/yum.repos.d/
//拷贝给openstack
]# scp /etc/yum.repos.d/local.repo \192.168.1.2:/etc/yum.repos.d/
//拷贝给nova.tedu.cn这台主机
 
2) 配置ip
给openstack主机添加eth1网卡 192.168.4.10/24
给nova01主机添加eth1网卡 192.168.4.11/24
 
3)配置卷组(真机创建,openstack添加)
room9pc01 images]# qemu-img create -f qcow2 disk.img 50G
room9pc01 ]# virsh -c qemu:///system attach-disk openstack \
 /var/lib/libvirt/images/disk.img vdb --subdriver qcow2 --sourcetype file
Disk attached successfully      //添加成功
 
stack ~]# yum install lvm2 
stack ~]# pvcreate /dev/vdb 
stack ~]# vgcreate cinder-volumes /dev/vdb
 
stack ~]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  50G  0 disk 
└─vda1 253:1    0  50G  0 part /
vdb    253:16   0  50G  0 disk 
 
stack~]# vgs
VG             #PV #LV #SN Attr   VSize   VFree  
cinder-volumes   1   0   0 wz--n- <50.00g <50.00g
 
4)安装openstack的依赖包(openstack和nova01主机上面)
openstack ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools 
 
nova ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools
 
5.部署Openstack
通过packstack部署Openstack
根据相关日志文件进行排错
 
5.1 安装packstack
stack ~]# yum install -y openstack-packstack
 
创建应答文件:
stack ~]# packstack --gen-answer-file answer.ini  
//answer.ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色
Packstack changed given value  to required value /root/.ssh/id_rsa.pub
 
修改应答文件:
stack ~]# vim answer.ini
  11 CONFIG_DEFAULT_PASSWORD=redhat  //密码
  42 CONFIG_SWIFT_INSTALL=n
  75 CONFIG_NTP_SERVERS=192.168.1.254   //时间服务器的地址
 333 CONFIG_KEYSTONE_ADMIN_PW=redhat    //openstack管理员的密码,用户名是admin
 554 CONFIG_CINDER_VOLUMES_CREATE=n     //创建卷,已经手动创建过了
 840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan   //网络驱动类型
 876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5  //组播地址
//设置组播地址,最后一个随意不能为0和255,其他固定
 910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex  //物理网桥的名称,三层交换机
 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0   
//br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接
 936 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1  //内部的隧道网络
1179 CONFIG_PROVISION_DEMO=n   //DEMO是否测试
 
仔细检查是否正确,yum是不是10731,要装至少20分钟以上!
stack ~]# packstack --answer-file=answer.ini
 **** Installation completed successfully ******     //出现这个为成功
6.网络管理
 
6.1查看外部OVS网桥
 
1)查看br-ex网桥配置(br-ex为OVS网桥设备)
openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex 
ONBOOT="yes"
NM_CONTROLLED="no"
IPADDR="192.168.1.1"
PREFIX=24
GATEWAY=192.168.1.254
DEVICE=br-ex
NAME=br-ex
DEVICETYPE=ovs
OVSBOOTPROTO="static"
TYPE=OVSBridge     (OVS交换机)
 
2)查看eth0网卡配置(该网卡为OVS网桥的接口)
openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
NAME=eth0
DEVICETYPE=ovs  //OVS类型
TYPE=OVSPort    //变为OV的一个端口
OVS_BRIDGE=br-ex
ONBOOT=yes
BOOTPROTO=none
 
发现:eth0的IP被br-ex抢走了,原因:
openstack里有一台虚拟a
nova01里有一台虚拟机b
a,b只要通信,必须有一个实体的交换机,那连接实体交换机的网卡是谁?
--eth0,于是,虚拟机a,b要相互通信,通过内部虚拟交换机,同时a,b要连接外网,
那么openstack把虚拟交换机升级为三层交换机,eth0的网卡(4.10)变为虚拟交换机(三层)的一个接口。
通信过程:
a-->a(虚拟交换机)-->a(eth0)-->物理交换机-->b(eth0)-->b(虚拟交换机)-->b
 
3)验证OVS配置
openstack ~]# ovs-vsctl show
    Bridge br-ex
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "eth0"     //端口eth0
            Interface "eth0"
        Port br-ex
            Interface br-ex
                type: internal
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
7.管理项目,基本操作
创建名为myproject的项目
查看项目信息
更新vcpu配额为30
删除myproject
 
7.1 浏览器访问openstack
 
1)火狐浏览器输入 192.168.1.1
 //访问失败
2)需要改配置文件并重新加载
stack ~]# cd /etc/httpd/conf.d/
conf.d]# vim 15-horizon_vhost.conf
  35   WSGIProcessGroup apache
  36   WSGIApplicationGroup %{GLOBAL}     //添加这一行,是添加!
conf.d]# apachectl graceful  //重新载入配置文件
3)火狐浏览器输入 192.168.1.1
出现登陆界面
 
查看密码,登陆
stack ~]# cat keystonerc_admin 
unset OS_SERVICE_TOKEN
    export OS_USERNAME=admin
    export OS_PASSWORD=redhat
 
4)创建名为myproject的项目
stack ~]# source ~/keystonerc_admin  //初始化环境变量
admin)]# openstack project create myproject
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | None                             |
| enabled     | True                             |
| id          | 97c91571259b4419be2a758e2e1c88a7 |
| name        | myproject                        |
+-------------+----------------------------------+
 
5)查看项目信息
admin)]# openstack project list
+----------------------------------+-----------+
| ID                               | Name      |
+----------------------------------+-----------+
| 6b57f6e21b6f483ab4d5e8995c27f657 | services  |
| 97c91571259b4419be2a758e2e1c88a7 | myproject |
| bc07c5a9d6914bdd86b28a76207668cd | admin     |
+----------------------------------+-----------+
 
6)更新vcpu配额为30
admin)]# nova quota-update --cores 30 myproject
可以登陆查看
火狐浏览器输入 192.168.1.1
 
7)删除myproject
admin)]# openstack project delete myproject
8)安装openstack工具包
stack ~]# yum -y install openstack-utils
stack ~]# openstack-status
 
 
***************************
重点知识整理:
 
1.虚拟机由两部分构成
*.xml  
*.img
 
2.配置openstack基础准备
yum源  
  时间同步(同步阿里云,自己也做服务器)
 
3.什么是云计算
一种便捷的、按需的、提供互联网相关服务的虚拟化资源管理服务。
 
4.云计算的三种服务
IaaS(Infrastructure as a
Service) ,基础设施,即服务。
提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU,内存、网络等和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。 
IaaS通常分为三种用法:共有云(虚拟机),私有云(淘宝)和混合云
 
PaaS(Platform-as-a-Service),平台服务,以服务平台或者开发环境为服务进行提供就成了PaaS.
SaaS(Software-as-a-Service),软件即服务,厂商将应用软件统一部署在服务器上,客户可以根据自己的实际需求,通过互联网向厂商订购(租用,代维护,数据存储)所需要的应用软件服务。
 
5. Openstack 简介
是一套IaaS解决方案,开源的云计算管理平台,以Apache许可证为授权。
七大组件:
01:Horizon 
用于管理Openstack各种服务的、基于web的管理接口
通过图形界面实现创建用户、管理网络、启动实例等操作。
 
02:Keystone 
为其他服务提供认证和授权的集中身份管理服务
密码认证、令牌认证、AWS(亚马逊Web服务)、SSO认证服务等
也提供了集中的目录服务
 
03:Neutron
软件定义网络服务
用于创建网络、子网、路由器、管理浮动IP
实现虚拟交换机、路由器
实现项目中的VPN服务
 
04:Cinder
为虚拟机管理存储卷的服务
为运行在Nova中的实例提供永久的块存储
可以通过快照进行数据备份
经常应用在实例存储环境中,如数据库文件
 
05:Nova
在节点上用于管理虚拟机的服务
分布式服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理
Nova被设计在标准硬件上能够进行水平拓展
启动实例时,如果有则需要下载镜像
相当于皇帝安插在各个大臣身边的钦差,远程管理各个虚拟机(安装服务等)。
 
06:Glance
扮演虚拟机镜像注册的角色
允许用户直接拷贝服务的镜像
这些镜像可以应用于新建虚拟机的模版
类似于yum源,任意云主机想要创建前端盘,可以通过Glance服务器映射后端盘镜像创建前端盘
 
07:Swift
对象存储,底层相当于一个ceph,提供给openstack云主机使用
 

五十一.Openstack概述 部署安装环境 、 部署Openstack OpenStack操作基础的更多相关文章

  1. openstack项目【day24】:OpenStack mitaka部署

    前言: openstack的部署非常简单,简单的前提建立在扎实的理论功底,本人一直觉得,玩技术一定是理论指导实践,网上遍布个种搭建方法都可以实现一个基本的私有云环境,但是诸位可曾发现,很多配置都是重复 ...

  2. 部署OpenStack问题汇总(六)-- OpenStack入门需要知道的概念

    本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. 一.网络问题-network 更多网络原理机制可以参考<OpenStack ...

  3. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建

    公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...

  4. openstack的控制节点部署

    openstack的控制节点部署 主要是使用了本地安装的那个镜像. 会出现几个问题, 1.重启服务无法启动. 2.环境变量无法正确配置可以自己配置

  5. openstack之~glance安装部署

    接着部署完keystone后,接着部署glance 第一:部署安装glance glance关于数据库的操作: [root@controller /]# mysql -u root -p Enter ...

  6. OpenStack 镜像服务 Glance部署(六)

    Glance介绍 创建虚拟机我们需要有glance的支持,因为glance是提供镜像的服务. Glance有两个比较重要的服务: Glance-api:接受云系统镜像的构建.删除.读取请求 Glanc ...

  7. Openstack(九)部署nova服务(控制节点)

    9.1nova服务介绍 nova是openstack最早的组件之一,nova分为控制节点和计算节点,计算节点通过nova computer进行虚拟机创建,通过libvirt调用kvm创建虚拟机,nov ...

  8. openstack (5)-- 部署 Neutron 网络服务

    Neutron 概念: 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建.修改和删除网络,网络的连 ...

  9. OpenStack Train版 简单部署流程

    environment 1.网络平面 management(管理网络)→软件安装,组件通信 provider(提供实例网络)→:提供者网络:直接获取ip地址,实例之间直接互通   自服务网络(私有网络 ...

随机推荐

  1. Python开发【模块】:paramiko

    一.堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 模块安装 C:\Program Files\Python 3.5\Scri ...

  2. Spring框架ioc概括

    什么是Spring且能做什么 Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的. Spring使用基本的JavaBean来完成以前只可能由EJB完成 ...

  3. MySQL 军规

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  4. IntelliJ IDEA 最新版 2019.2.4 激活 (持续更新)(含windows和Mac)

    IntelliJ IDEA 最新版 2019.2.4 激活 最新版激活包下载地址: 百度网盘 提取码: i28c 转载: Neo Peng Jetbrains系列产品 激活方式 同下述方式相同,只需要 ...

  5. (三)mybatis之通过接口加载映射配置文件

    1.1  需求 通过(二)在全局配置文件 mybatis-configuration.xml 通过 <mappers> 标签来加载映射文件,那么如果我们项目足够大,有很多映射文件呢,难道我 ...

  6. solr 配置中文分析器/定义业务域/配置DataImport功能(测试用)

    一.配置中文分析器    使用IKAnalyzer    配置方法:        1)把IK的jar包添加到solr工程中/WEB-INF/lib目录下        2)把IK的配置文件扩展词典, ...

  7. 3 webpack 4 加vue 2.0生产环境搭建

    1 在前两篇笔记中已经能把开发环境弄好了,接来下构建他的生产环境 2 使用npm 安装url-loader和file-loader来支持图片和字体 npm install --save-dev url ...

  8. wince窗口被静态的焦点挡住

    效果如下图: 问题:文本框被挡住了 解决办法如下: 找到该窗体,设置属性Menu值为无即可解决

  9. 2019 GIAC-全球互联网架构大会课件

    百度云:https://pan.baidu.com/s/1Lt40UTP3hCIVS7LhPl2bKw密码:ovrh

  10. MySQL数字类型int与tinyint、float与decimal如何选择

    最近在准备给开发做一个mysql数据库开发规范方面培训,一步一步来,结合在生产环境发现的数据库方面的问题,从几个常用的数据类型说起. int.tinyint与bigint 它们都是(精确)整型数据类型 ...