1,364
社区成员




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的原理和应用,可以帮助我们更好地理解和运用云计算技术,提高企业的业务效率和灵活性。