Openstack原理及应用

22计网1覃建荣 2024-06-13 14:20:50

 一、介绍

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

云与操作系统
1、虚拟化与云计算
        虚拟化是将物理资源分配给多个虚拟机,提高硬件资源利用率,重点在于分配物理资源的能力,云计算通过管理众多云虚拟机对外提供服务,重点在于提供服务。并且能够多租户之间隔离,按需使用、按量计费
2、操作系统功能
        云也被当成操作系统,因为它也提供了:资源抽象、资源分配与负载调度、应用的生命周期管理、系统运维及人机交互等。

Openstack的定位
OpenStack只是云计算系统的控制面

为了构建一个云,我们还需要很多东西

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

主要组件nova
OpenStack中提供计算资源服务的项目
Nova负责:
  虚拟机生命周期管理
  其他计算资源生命周期管理
Nova不负责:
  承载虚拟机的物理主机自身的管理
  全面的系统状态监控
Nova是OpenStack事实上最核心的项目 

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

二、实验操作步骤

注:本实验192.168.1.241为controller节点,192.168.1.242为computer节点

一、卸载前面的安装的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

重新安装基本配置

# Controller节点和Compute节点

执行脚本iaas-pre-host.sh进行安装

# 安装完成后同时重启

重新安装基础服务

# 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进行安装

           #Compute节点

执行脚本iaas-install-nova-compute.sh进行安装(controller 安装完成再做)

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

 

安装Neutron网络服务

#Controller节点

执行脚本iaas-install-neutron-controller.sh进行安装

#Compute节点

执行脚本iaas-install-neutron-compute.sh进行安装

 

 

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网页中

管理员 → 网络 → 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

本实验结束

三、总结

     通过本次试验,让我认识到OpenStack是一个功能强大的云计算平台,提供了丰富的云计算服务和应用场景。通过学习OpenStack的原理和应用,可以帮助我们更好地理解和运用云计算技术,提高企业的业务效率和灵活性。

...全文
105 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,364

社区成员

发帖
与我相关
我的任务
社区描述
柳职院电子信息工程学院同学们的学习园地
社区管理员
  • c_university_1974
  • qq_39231145
  • zhuisir
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

各位加入社区的同学,请完善社区信息,把社区昵称改为【班级-姓名】,社区签名改为【班级-学号-姓名】的格式

如【社区昵称】20计应1班  张某某(班级用简称)

     【社区签名】2020级计算机应用技术1班 20201234567 张某某 (班级用全称)

试试用AI创作助手写篇文章吧