Openstack原理及应用

目录

一、理论部分

(1)Openstack是什么

(2)云与操作系统

1、虚拟化与云计算

2、操作系统功能

(3)Openstack的定位

(4)openstack的设计理念

(5)Openstack各主要项目间相互关系

(6)Openstack各主要项目间相互关系

(7)Openstack部署

(8)计算组件nova

(9)块存储服务组件cinder

(10)网络服务组件neutron

二、实验部分

需求描述

实现思路

1、卸载前面的安装的Openstack组件

2、设置主机名和网卡参数

 3、重新安装并设置vsftpd服务

4、重新设置环境变量

5、重新安装基本配置

6、重新安装基础服务

7、重新安装Keystone认证服务

8、重新安装Glance镜像服务

9、重新安装Nova计算服务

10、安装Neutron网络服务

11、设置Neutron网络为vlan模式

12、创建Neutron网络的vlan

​13、重新安装Dashboard服务

14、使用管理平台进行云子网设置

​15、安装Cinder块存储服务

​16、安装Swift对象存储服务


一、理论部分

  • 了解Openstack的基本概念
  • 了解Openstack的工作原理
  • 了解Openstack主要组件的使用

(1)Openstack是什么

Openstack是一个云操作系统,控制着一个大规模(数据中心级别)的资源池,资源池包含计算、存储和网络。给管理员提供一个仪表盘去控制资源池里所有资源,最终用户可以通过web页面下发(获得)这些资源。

(2)云与操作系统

1、虚拟化与云计算

虚拟化是将物理资源分配给多个虚拟机,提高硬件资源利用率,重点在于分配物理资源的能力。云计算通过管理众多云虚拟机对外提供服务,重点在于提供服务。并且能够多租户之间隔离,按需使用、按量计费。

2、操作系统功能

云也被当成操作系统,因为它也提供了:资源抽象、资源分配与负载调度、应用的生命周期管理、系统运维及人机交互等。

(3)Openstack的定位

OpenStack只是云计算系统的控制面,为了构建一个云,我们还需要很多东西。

(4)openstack的设计理念

开放:1.开源。2.尽最大可能重用已有开源项目。

灵活:1.不使用任何不可替代的私有/商业组件(如华为云用GaussDB替代MySQL)。2.大量使用插件化方式进行架构设计与实现。

可拓展:1.由多个相互独立的项目组成。2.每个项目包含多个独立服务组件。3.无中心架构。4.无状态架构(高可用)。

(5)Openstack各主要项目间相互关系

在Dashboard[Horizon]上申请一台云虚拟机流程:Network[Neutron]提供网络,Block Storage[Cinder]提供卷,image[Glance]提供操作系统镜像(image不存储镜像,只存镜像目录,镜像实际存储在Object Storage[Swift]),然后交由Compute[Nova]创建虚拟机。在这个过程中Identity[Keystone]为各个独立的服务提供认证、鉴权服务

(6)Openstack各主要项目间相互关系

在Dashboard[Horizon]上申请一台云虚拟机流程:Network[Neutron]提供网络,Block Storage[Cinder]提供卷,image[Glance]提供操作系统镜像(image不存储镜像,只存镜像目录,镜像实际存储在Object Storage[Swift]),然后交由Compute[Nova]创建虚拟机。在这个过程中Identity[Keystone]为各个独立的服务提供认证、鉴权服务。

(7)Openstack部署

对于双机模式来说,可让vm流量和内部管理流量共一个网卡,故我们的实验环境为:

外网:ens33,即设置为nat模式的第一块网卡。

IP为192.168.1.x的设备。

内网:ens34(或ens37),即设置为仅主机模式的第二网卡。IP为20.0.0.x。

(8)计算组件nova

OpenStack中提供计算资源服务的项目

Nova负责:虚拟机生命周期管理,其他计算资源生命周期管理

Nova不负责:承载虚拟机的物理主机自身的管理,全面的系统状态监控

Nova是OpenStack事实上最核心的项目 

API接收简单用户请求(开关虚拟机)->Compute(计算节点)处理请求,API接收复杂用户请求(创建虚拟机)->Conductor(指令器)->Scheduler(调度器)选择空闲的Compute->Conductor发送指令给Compute,Compute中实际执行指令的是Hypervisor(虚拟机监视器)。

(9)块存储服务组件cinder

为云平台提供统一接口,按需分配的,持久化的块存储服务。

核心功能是对卷的管理,允许对卷、卷的类型、卷的快照、卷备份进行操作。

为后端不同的存储设备提供了统一的接口,不同的块设备服务厂商在Cinder 中实现其驱动支持以与OpenStack进行整合。

(10)网络服务组件neutron

L2 Agent:二层网络服务,提供基础服务,部署在所有计算节点

L3 Agent:三层网络服务,提供IP、交换、路由服务,根据业务情况部署在网络节点或者计算节点,华为云部署在计算节点

DHCP Agent:DHCP服务

Adv Services:高级网络服务,如负载均衡

neutron组件之间通过消息队列通信

二、实验部分

需求描述

  • 用脚本安装Openstack网络组件

实现思路

  • 编辑Openstack环境变量脚本/etc/xiandian/openrc.sh正确设置外网和管理网的网卡和IP地址,配置必须的组件的帐户和登录密码,以及虚拟网络。
  • 执行必须的组件对应的安装脚本。

1、卸载前面的安装的Openstack组件

#controller节点

执行在/usr/local/bin中的:

iaas-uninstall-all.sh

进行卸载

# compute节点

执行在/usr/local/bin中的:

iaas-uninstall-all.sh

进行卸载

2、设置主机名和网卡参数

#controller节点,执行:

hostnamectl set-hostname controller

查看:

/etc/sysconfig/network-scripts/ifcfg-ens*

(具体的网口)文件文件,确认有IP参数。

ctrl+d 退出  重新登陆

# compute节点,执行:

hostnamectl set-hostname compute

查看:

/etc/sysconfig/network-scripts/ifcfg-ens*

(具体的网口)文件文件,确认有IP参数

ctrl+d 退出  重新登陆

 3、重新安装并设置vsftpd服务

# controller节点

yum -y install  vsftpd

vi /etc/vsftpd/vsftpd.conf

添加一行

anon_root=/opt/

systemctl start vsftpd

systemctl enable vsftpd

#compute节点

确认yum  list可看到资源清单 

4、重新设置环境变量

# controller节点:

yum install iaas-xiandian -y

vi /etc/xiandian/openrc.sh

#compute节点:

yum install iaas-xiandian -y

vi /etc/xiandian/openrc.sh

节点最后添加:

HOST_IP=20.0.0.10

HOST_NAME=controller

HOST_IP_NODE=20.0.0.20

HOST_NAME_NODE=compute

RABBIT_USER=openstack

RABBIT_PASS=000000

DB_PASS=000000

DOMAIN_NAME=demo

ADMIN_PASS=000000

DEMO_PASS=000000

KEYSTONE_DBPASS=000000

GLANCE_DBPASS=000000

GLANCE_PASS=000000

NOVA_DBPASS=000000

NOVA_PASS=000000

NEUTRON_DBPASS=000000

NEUTRON_PASS=000000

METADATA_SECRET=000000

INTERFACE_NAME=ens33

Physical_NAME=provider

minvlan=101

maxvlan=201

CINDER_DBPASS=000000

CINDER_PASS=000000

TROVE_DBPASS=000000

TROVE_PASS=000000

BLOCK_DISK=sdb1

SWIFT_PASS=000000

OBJECT_DISK=sdc1

STORAGE_LOCAL_NET_IP=20.0.0.10

HEAT_DBPASS=000000

HEAT_PASS=000000

CEILOMETER_DBPASS=000000

CEILOMETER_PASS=000000

AODH_DBPASS=000000

AODH_PASS=000000

5、重新安装基本配置

# Controller节点和Compute节点

执行脚本进行安装:

iaas-pre-host.sh

# 安装完成后同时重启

[root@controller ~]# reboot

6、重新安装基础服务

# Controller节点

执行脚本进行安装:

iaas-install-mysql.sh

#compute节点

yum -y install  MySQL-python

7、重新安装Keystone认证服务

# Controller节点

执行脚本进行安装:

iaas-install-keystone.sh

8、重新安装Glance镜像服务

# Controller节点

执行脚本进行安装:

iaas-install-glance.sh

上传镜像:

# source /etc/keystone/admin-openrc.sh (执行配置授权脚本)

# glance image-create --name "CentOS7.0" --disk-format qcow2  --container-format bare --progress <       /opt/images/CentOS_6.5_x86_64_XD.qcow2

9、重新安装Nova计算服务

# Controller节点

执行脚本进行安装:

iaas-install-nova-controller.sh

# Compute节点

执行脚本进行安装

iaas-install-nova-compute.sh

(controller 安装完成再做)

验证服务时输入控制节点root的密码,如Aa123456789

10、安装Neutron网络服务

#Controller节点

执行脚本进行安装:

iaas-install-neutron-controller.sh

#Compute节点

执行脚本进行安装:

iaas-install-neutron-compute.sh

11、设置Neutron网络为vlan模式

#Controller节点

#openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vlan

#systemctl restart neutron-server

#openstack-config --set  /etc/neutron/l3_agent.ini DEFAULT  external_network_bridge  br-ex

#systemctl restart neutron-l3-agent

12、创建Neutron网络的vlan

#Controller节点

#neutron net-create demo-net --tenant-id  `openstack project list |grep -w admin |awk '{print $2}'` --provider:network_type vlan

13、重新安装Dashboard服务

#Controller

执行脚本iaas-install-dashboard.sh进行安装Controller节点

打开物理机网络设置,启用网络vmnet1,并设置其IP20.0.0.1/24,确认可以ping 20.0.0.10后用浏览器访问dashboard,admin/000000访问管理平台。

14、使用管理平台进行云子网设置

#在dashboard网页中

管理员 → 网络 → demo-net) → 创建子网(外网填服务器的外网网段)设置dhcp

15、安装Cinder块存储服务

#controller节点

执行在/usr/local/bin中的

iaas-install-cinder-controller.sh 进安装

# compute节点

修改/etc/yum.repos.d/centos.repo

将两个IP改为管理IP:20.0.0.10

执行在/usr/local/bin中的

iaas-install-cinder-compute.sh 安装

16、安装Swift对象存储服务

#controller节点

执行在/usr/local/bin中的

iaas-install-swift-controller.sh安装

# compute节点

执行在/usr/local/bin中的

iaas-install-swift-compute.sh安装

需联机时,输入密码controller登录密码:Aa123456789

-----------------------------实验安装阶段结束---------------------------------------

  • 53
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值