OpenStack的部署(three)--glance镜像

Glance是OpenStack中的镜像服务模块,负责虚拟机镜像的管理,包括查询、注册、检索等功能。它支持多种后端存储,如文件系统、Swift和Amazon S3。镜像格式主要有raw和qcow2,其中qcow2支持虚拟机快照。Glance API有v1和v2两个版本,v2增加了更多功能。在部署过程中,涉及数据库创建、用户授权、配置文件修改和镜像服务启动等步骤。通过openstack命令行工具进行测试,确保服务正常运行。

因为云平台是提供Iass层的基础设施服务,我们拿到的是一台虚拟机,那么要用虚拟机的话必须有底层的镜像做支撑,所以说镜像的话也有一个服务来管理。但是我们云平台用的镜像不是装操作系统的ISO镜像,这个镜像需要特定制作。所以这时候就需要glance组件来管理镜像了

一、概念

1、glance镜像

Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找、注册和检索等。Glance提供Restful API可以查询虚拟机镜像的metadata及获取镜像。Glance可以将镜像保存到多种后端存储上,比如简单的文件存储或者对象存储。

Glance服务是负责管理镜像,不负责镜像的存储,它要把镜像存储到Glance服务运行的服务器的某一个目录下面,或者对接不同的后端。所以搭完Glance服务后要给它指定镜像保存的方式。

2、主要功能

查询获取 镜像的元数据和镜像本身
注册上传虚拟机镜像,包括镜像的创建、上传、下载和管理
维护镜像信息 ,包括元数据和镜像本身。
支持 多种方式存储 镜像,包括普通的文件系统、Swift、Amazon S3等
对虚拟机实例执行创建 快照命令 来创建新的镜像,或者备份虚拟机的状态。

3、lmages API的版本

· 首先得知道Image 是一个模板,里面包含了基本的操作系统和其他的软件。
· 然后Glance提供的RESTful API目前有两个版本: APl v1和APl v2
· v1只提供基本的镜像和成员操作功能
· 包括镜像创建、删除、下载、列表、详细信息查询、更新,以及镜像租户成员的创建、删除和列表。
· v2除了支持v1的所有功能外,
· 主要增加了镜像位置的添加、删除、修改,元数据和名称空间操作,以及镜像标记操作。
· 两个版本对镜像存储支持相同,v1从N版开始已经过时,迁移路径使用v2进行替代

4、镜像格式

(1)虚拟机镜像文件磁盘格式

格式类型 说明
raw 无结构的磁盘格式
vhd 该格式通用于VMware、Xen、VirtualBox以及其他虚拟机管理程序
vhdx vhd格式的增强版本,支持更大的磁盘尺寸
vmdk 一种比较通用的虚拟机磁盘格式
vdi 由VirtualBox虚拟机监控程序和QEMU仿真器支持的磁盘格式
iso 用于光盘(CD-ROM)数据内容的档案格式
ploop 由Virtuozzo支持,用于运行OS容器的磁盘格式
qcow2 由QEMU仿真支持,可动态扩展,支持写时复制(Copy on Write)的磁盘格式
aki 在Glance中存储的Amazon内核格式
ari 在Glance中存储的Amazon虚拟内存盘(Ramdisk)格式
ami 在Glance中存储的Amazon机器格式

其中最主要的是raw和qcow2这两种格式

· raw是中间的格式
· 优点:
· 可以做格式的转换(可以把raw的格式转换为qcow2的格式)
· 访问速度非常快
· 但是它不支持虚拟机的快照。
· 不支持动态扩展,前期消耗多
· qcow2支持虚拟机快照

(2)镜像文件容器格式

格式类型 说明
bare 没有容器或元数据“信封”的镜像
ovf 开放虚拟化格式
ova 在Glance中存储的开放虚拟化设备格式
aki 在Glance中存储的Amazon内核格式
ari 在Glance中存储的Amazon虚拟内存盘(Ramdisk)格式
Docker
### 如何在OpenStack部署CentOS云主机 #### 准备工作 为了成功部署CentOS云主机,在开始之前需确认已具备如下条件: - 已经安装并配置好OpenStack平台。 - OpenStack环境中已经创建了必要的网络资源,例如外部网络和内部网络。其中`eth0`作为管理网络接口用于各组件间的通信[^2]。 #### 创建镜像 要启动一个新的虚拟机实例,首先需要上传一个可用的操作系统映像到Glance服务中。对于CentOS而言,可以通过命令行工具完成此操作: ```bash openstack image create "CentOS7" \ --file ~/images/CentOS-7-x86_64-GenericCloud.qcow2 \ --disk-format qcow2 --container-format bare \ --public ``` 这里假设操作系统映像文件名为`CentOS-7-x86_64-GenericCloud.qcow2`并且位于用户的home目录下的`~/images/`路径下。 #### 配置安全组规则 为了让新创建的VM能够访问互联网以及允许SSH登录,应该适当调整默认的安全组策略来开放相应的端口和服务协议: ```bash openstack security group rule create --proto tcp --dst-port 22 default openstack security group rule create --proto icmp default ``` 上述两条指令分别打开了TCP 22号端口供远程shell连接使用,并启用了ICMP回显请求功能以便测试连通性。 #### 启动实例 当所有的前置准备工作完成后就可以正式发起创建实例的动作了。下面是一条完整的命令用来定义新的计算节点参数: ```bash openstack server create --flavor m1.small --image CentOS7 \ --nic net-id=private_network_uuid \ --security-group default \ --key-name mykey centos-instance ``` 这条命令指定了所使用的硬件规格(`m1.small`)、基础镜像(CentOS7),所属私有子网UUID(private_network_uuid), 应用的安全组(default) 和 SSH密钥(mykey),最后给出了这个实例的名字(centos-instance). #### SELinux设置 如果目标服务器运行的是基于Red Hat的企业级Linux发行版,则可能还需要考虑SELinux的影响因素。建议暂时禁用它以减少不必要的麻烦: 编辑 `/etc/selinux/config` 文件并将 `SELINUX=enforcing` 修改为 `SELINUX=disabled`[^3]: ```vim # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled ... ``` 保存更改后重启机器使改动生效即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值