Openstack原理及应用

理论

一.了解Openstack的基本概念

OpenStack是一个开源的云计算平台,它提供了一组组件和工具,用于构建和管理云基础设施。下面是一些与OpenStack相关的基本概念:

  1. 云计算:云计算是一种通过网络提供计算资源和服务的方式,用户可以根据需要随时获取和使用这些资源和服务。

  2. OpenStack项目:OpenStack是一个由一系列项目组成的开源软件项目,每个项目都提供不同的云计算功能。

  3. 组件:OpenStack由多个组件组成,每个组件负责不同的功能。一些核心组件包括计算(Nova)、网络(Neutron)、对象存储(Swift)和块存储(Cinder)。

  4. Nova:Nova是OpenStack的计算组件,它提供了虚拟机实例的管理和调度功能。

  5. Neutron:Neutron是OpenStack的网络组件,它提供了虚拟网络的创建和管理功能,可以为虚拟机创建虚拟网络、子网和路由器。

  6. Swift:Swift是OpenStack的对象存储组件,它提供了可扩展的、高可用性的对象存储服务。

  7. Cinder:Cinder是OpenStack的块存储组件,它提供了持久化块存储的功能,允许用户创建和管理块存储卷。

  8. 节点和服务:在OpenStack中,每个组件运行在一个或多个节点上,并提供特定的服务。节点可以是物理服务器、虚拟机或容器。

  9. 镜像:在OpenStack中,镜像是虚拟机实例的模板。用户可以通过创建和管理镜像来快速部署和扩展虚拟机实例。

  10. API:OpenStack组件之间通过API进行通信和交互。API允许用户通过命令行工具或API客户端与OpenStack进行交互和管理。

Openstack是一个云操作系统,控制着一个大规模(数据中心级别)的资源池,资源池包含计算、存储和网络。

二、云与操作系统

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

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

三、Openstack的定位

四、openstack的设计理念

开放 1.开源。 2.尽最大可能重用已有开源项目。 灵活 1.不使用任何不可替代的私有/商业组件(如华为云用GaussDB替代MySQL)。 2.大量使用插件化方式进行架构设计与实现。 可拓展 1.由多个相互独立的项目组成。 2.每个项目包含多个独立服务组件。 3.无中心架构。 4.无状态架构(高可用)。

实操

一、卸载前面的安装的Openstack组件  #controller节点     执行在/usr/local/bin中的       iaas-uninstall-all.sh进行卸载        # compute节点     执行在/usr/local/bin中的        iaas-uninstall-all.sh进行卸载

二、设置主机名和网卡参数  #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 退出  重新登陆

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

# controller节点        yum -y install  vsftpd          vi /etc/vsftpd/vsftpd.conf         添加一行 anon_root=/opt/         systemctl start vsftpd         systemctl enable vsftpd #compute节点 确认yum  list可看到资源清单

四、重新设置环境变量  

# 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=000000NEUTRON_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.10HEAT_DBPASS=000000 HEAT_PASS=000000 CEILOMETER_DBPASS=000000 CEILOMETER_PASS=000000 AODH_DBPASS=000000 AODH_PASS=000000

五、重新安装基本配置

# Controller节点和Compute节点 执行脚本iaas-pre-host.sh进行安装 # 安装完成后同时重启 [root@controller ~]# reboot

六、重新安装基础服务

# Controller节点 执行脚本iaas-install-mysql.sh进行安装 #compute节点 yum -y install  MySQL-python

七、重新安装Keystone认证服务

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

八、重新安装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

九、重新安装Nova计算服务

# Controller节点 执行脚本iaas-install-nova-controller.sh进行安装

十、安装Neutron网络服务

#Controller节点 执行脚本iaas-install-neutron-controller.sh进行安装 #Compute节点 执行脚本iaas-install-neutron-compute.sh进行安装

十一、设置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

十二、创建Neutron网络的vlan

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

十三、重新安装Dashboard服务

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

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

#在dashboard网页中 项目 → 网络 → (demo-net) → 创建子网(外网填服务器的外网网段)→设置dhcp

十五、安装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进行安装

十六、安装Swift对象存储服务  

#controller节点     执行在/usr/local/bin中的        iaas-install-swift-controller.sh进行安装        # compute节点     执行在/usr/local/bin中的        iaas-install-swift-compute.sh进行安装        需联机时,输入密码controller登录密码:Aa123456789 -----------------------------安装阶段结束---------------------------------------

十七、设定外网连接参数  

#controller节点和compute节点    执行环境变量脚本:       source /etc/xiandian/openrc.sh       source /etc/keystone/admin-openrc.sh       openstack-config --set  /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks  provider       systemctl restart network

十八、创建外网

 #controller节点  执行环境变量脚本: neutron net-create ext-net --router:external True --provider:physical_network provider --provider:network_type flat           附,内网创建命令为( 前面实验已做): neutron net-create demo-net --tenant-id  `openstack project list |grep -w admin |awk '{print $2}'` --provider:network_type vlan

十九、创建云主机类型 (请按如下参数来建立)

二十、上传新主机镜像 (请在网页中上传新的主机环境镜像)

二十一、添加外网的子网(靖参考下图参数)

二十二、添加内网的子网(靖参考下图参数)  

二十三、添加路由(默认先接到外网)

二十四、添加路由接口(通过接口连到内网)

二十五、尝试建立云主机  请自行选择上面相关参数

总结

OpenStack是一个开源的云计算平台,可以用来搭建和管理私有云和公有云。在学习OpenStack的过程中,我总结了以下几个重要的方面:

  1. 架构和组件:OpenStack包含多个核心组件,包括计算(Nova)、网络(Neutron)、存储(Cinder和Swift)等。了解每个组件的功能和相互关系是学习OpenStack的基础。

  2. 安装和部署:OpenStack的安装和部署可以使用不同的工具和方法。可以使用DevStack进行快速的单节点部署,或者使用TripleO进行更复杂的多节点部署。学习如何正确地安装和部署OpenStack是非常重要的。

  3. 使用和管理:学习如何使用OpenStack的各个组件,创建和管理虚拟机、网络、存储等资源。了解OpenStack的命令行工具和API接口,可以帮助更高效地管理和操作OpenStack。

  4. 故障排查和监控:学习如何排查和解决OpenStack的故障和问题。了解常见的故障场景和解决方法,并学习如何设置和使用监控工具来监控OpenStack的运行状态。

  5. 扩展和定制:OpenStack是一个高度可扩展的平台,可以通过插件和扩展来满足不同的需求。学习如何定制OpenStack,添加自定义功能和扩展组件,可以使OpenStack更适用于特定的使用场景。

总之,学习OpenStack需要全面了解其架构和组件,掌握安装和部署的方法,熟悉使用和管理的技巧,能够排查和解决故障,并具备定制和扩展的能力。通过不断的实践和学习,可以逐渐掌握OpenStack的技术和应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵浩渊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值