网站如何盈利流量费wordpress关闭注册邮件
web/
2025/10/2 19:39:35/
文章来源:
网站如何盈利流量费,wordpress关闭注册邮件,获得网页源码怎么做网站,东莞外贸网站建设哪家好一、OpenStack镜像服务
1、什么是镜像
镜像通常是指一系列文件或一个磁盘驱动器的精确副本。虚拟机所使用的虚拟磁盘#xff0c;实际上是一种特殊格式的镜像文件。云环境下尤其需要镜像。镜像就是一个模板#xff0c;类似于VMware的虚拟机模板#xff0c;其预先安装基本的…一、OpenStack镜像服务
1、什么是镜像
镜像通常是指一系列文件或一个磁盘驱动器的精确副本。虚拟机所使用的虚拟磁盘实际上是一种特殊格式的镜像文件。云环境下尤其需要镜像。镜像就是一个模板类似于VMware的虚拟机模板其预先安装基本的操作系统和其他应用软件。OpenStack中的镜像就是虚拟机镜像是包含有可启动的操作系统的虚拟机实例磁盘的单个文件。
2、什么是镜像服务
镜像服务就是用来管理镜像的用途就是让用户能够发现、获取和保存镜像。OpenStack中提供镜像服务的是Glance项目其功能有查询和获取镜像的元数据和镜像本身。注册和上传虚拟机镜像包括镜像的创建、下载和管理。维护镜像信息包括镜像的元数据和镜像本身。支持多种方式存储镜像。对虚拟机实例执行创建快照命令来创建新的镜像或备份虚拟机实例的状态。Glance是关于镜像的中心可以被终端用户或Nova计算服务访问接受磁盘或镜像的API请求定义镜像元数据的操作
3、Glance架构
Glance不负责实际存储只实现镜像管理功能功能单一包含组件较少。
客户端Glance服务的使用者。glance-api系统后台运行的服务进程是Glance服务的入口对外提供REST API负责接受来自客户端的RESTful请求响应镜像查询、获取和存储的调用。 与镜像本身存取相关操作glance-api会将请求转发给该镜像的存储后端由后端提供相应操作。与镜像的元数据相关操作glance-api会直接操作数据库存取镜像的元数据大小、类型等信息数据库Glance的数据库模块用于存储镜像的元数据可以选用MySQL、MariaDB等存储后端Glance服务本身不存储镜像文件而是将文件存放在后端存储系统中。例如 本地文件存储或任何挂载到glance-api控制节点的文件系统默认配置对象存储SwiftRADOS块设备RBDSheepdog一个分布式存储系统为QEMU提供块存储服务为支持互联网SCSI协议的客户端提供存储服务同时支持RESTful接口的对象存储服务。块存储CinderVMware数据存储
4、验证OpenStack的Glance服务
4.1、查看Glance配置文件 [rootnode-a ~]# cd /etc/glance[rootnode-a glance]# lsglance-api.conf # Glance API服务器配置文件 glance-registry.conf metadefs rootwrap.dglance-cache.conf # 定义镜像缓存配置 glance-scrubber.conf # 定义镜像删除相关配置policy.json # 镜像服务的策略配置文件schema-image.jsonglance-image-import.conf glance-swift.conf rootwrap.conf
4.2、验证Glance服务 # 查看当前运行的Glance服务[rootnode-a glance]# systemctl status *glance*.service● openstack-glance-api.service - OpenStack Image Service (code-named Glance) API serverLoaded: loaded (/usr/lib/systemd/system/openstack-glance-api.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-04-09 14:23:29 CST; 6 days ago...● openstack-glance-registry.service - OpenStack Image Service (code-named Glance) Registry serverLoaded: loaded (/usr/lib/systemd/system/openstack-glance-registry.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-04-09 14:23:29 CST; 6 days ago...
Glance有两个子服务。glance-registry是系统后台 运行的Glance注册服务进程负责处理与镜像源数据相关的RESTful请求。从Queens版本开始弃用这里为了兼容早期版本。
4.3、使用镜像服务的API
请求一个admin项目作用域的令牌
[rootnode-a ~]# curl -i -H Content-Type: application/json -d { auth: {identity: { methods: [password],password: { user: {name: admin,domain: { id: default },password: admin账号的密码}}},scope: { project: { name: admin,domain: { id: default }}}}} http://localhost:5000/v3/auth/tokens ;
导出环境变量OS_TOKEN并将其设置为上述操作获取的令牌ID尝试通过Images API v1获取当前镜像列表
[rootnode-a ~]# export OS_TOKEN上述获取到的TOKEN[rootnode-a ~]# curl -s -H X-Auth-Token: $OS_TOKEN http://localhost:9292/v1/images
v1无法使用要求使用Image API v2
[rootnode-a ~]# curl -s -H X-Auth-Token: $OS_TOKEN http://localhost:9292/v2/images
通过认证令牌向本地运行的服务端口9292发起请求获取关于镜像的信息然后通过管道将这些信息传递给Python的json.tool模块格式化输出JSON数据。
[rootnode-a ~]# curl -s -H X-Auth-Token: $OS_TOKEN http://localhost:9292/v2/images | python -mjson.tool
二、管理OpenStack镜像
1、虚拟机镜像的磁盘格式和容器格式
1.1、虚拟机镜像的磁盘格式
磁盘格式说明.raw无结构的磁盘格式.vhdVHD磁盘格式。该格式通用于VMware、Xen、Microsoft、VirtualBox以及其他虚拟机实例管理程序.vhdxVHDX磁盘格式。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虚拟机实例格式
1.2、虚拟机镜像的容器格式
容器格式说明.bare没有容器或元数据封头的镜像.ovf开放虚拟化格式Open Virtualization Format.ova开放虚拟化设备格式Open Virtualization Appliance Format.aki在Glance中存储的Amazon内核格式.ari在Glance中存储的Amazon虚拟内存盘Ramdisk格式.ami在Glance中存储的Amazon机器格式.docker在Glance中存储的容器文件系统的Docker的tar档案.compressed未指定压缩文件的精确格式。特定的OpenStack服务可能支持特定的格式。可以假定任何使用这种压缩容器格式镜像创建的OpenStack服务能够使用这种镜像
2、镜像的状态
3、镜像的访问权限
Public公共的可以被所有的项目使用。Private私有的只能被镜像所有者所在的项目使用。Shared共享的一个非共有的镜像可以共享给其他项目。Protected受保护的镜像不能被删除。
4、镜像的元数据
镜像的元数据即镜像属性提供关于由镜像服务所存储的虚拟磁盘的信息。元数据作为与镜像数据关联的镜像记录的一部分由镜像服务存储。相关的OpenStack组件和驱动通过镜像元数据与镜像服务交互。元数据定义服务提供了一个通用的API来自定义可用的键值对元数据。
5、命令行的镜像管理方法
5.1、查看镜像语法 # 查看已有的镜像列表查询结果包括镜像的ID和名称以及状态openstack image list# 查看镜像详细信息openstack image show 镜像名称或ID# 创建镜像openstack image create [选项] 镜像名称# 更改镜像openstack image set [选项] 镜像名称# 取消镜像更改openstack image unset [选项] 镜像名称# 删除镜像openstack image delete 镜像名称或ID# 将镜像与项目关联openstack image add project [--project-domain 项目所属域] 镜像名或ID 项目名或ID# 将镜像与项目解除关联openstack image remove project [--project-domain 项目所属域] 镜像名或ID 项目名或ID
6、实操
6.1、获取镜像
FDO官网 Image resources — RDO (rdoproject.org)
OpenStack官网 CentOS Cloud images
6.2、查看镜像
普通云用户一般通过Web图形界面来使用镜像 镜像列表-demo 镜像详细信息
测试时使用命令行工具查看镜像
6.3、创建镜像
将下载的镜像通过xftp工具上传到虚拟机中的Downloads文件夹下
本例下载的文件是CentOS-7-x86_64-GenericCloud-2003.qcow2.xz这是一个.xz格式的压缩包需要先解压缩才能使用。 [rootnode-a ~]# yum install xz # 解压缩工具# 执行命令将下载的镜像压缩包解压缩[rootnode-a ~]# xz -d /root/Downloads/CentOS-7-x86_64-GenericCloud-2003.qcow2.xz# 加载云管理员admin的环境脚本以admin用户身份进行操作[rootnode-a ~]# source keystonerc_admin# 向OpenStack云上传一个.qcow2格式的CentOS 7镜像并进行注册。[rootnode-a ~(keystone_admin)]# openstack image create --disk-format qcow2 --container-format bare --public --file ~/Downloads/CentOS-7-x86_64-GenericCloud-2003.qcow2 centos7# 查看镜像列表可以看到新建成功[rootnode-a ~(keystone_admin)]# openstack image list-------------------------------------------------------| ID | Name | Status |-------------------------------------------------------| c6cb27d8-4d93-427d-b67a-af6349dab979 | centos7 | active || 3669a079-518f-4cb5-b1c1-677dad16096e | cirros | active || 190b8365-19bc-43a1-8314-e8139d5d8be6 | fedora | active |-------------------------------------------------------# 查看刚刚新建的centos7镜像的详细信息[rootnode-a ~(keystone_admin)]# openstack image show centos7
6.4、管理镜像
Web图形界面管理镜像 镜像管理操作界面 编辑镜像界面 编辑镜像的元数据界面
命令行工具为镜像设置元数据 在创建镜像的openstack image create命令或修改镜像的openstack image set命令中通过--property选项以键值对的形式定义元数据。 # 通过元数据设置将“fedora”镜像的架构architecture设置为x86_64、Hypervisor_type类型设置为qemu。[rootnode-a ~(keystone_admin)]# openstack image set --property architecturex86_64 --property hypervisor_typeqemu fedora #OpenStack镜像通用的镜像元数据在/etc/glance/schema-image.json 配置文件中定义。
6.5、转换镜像格式
使用qemu-img工具的convert子命令将镜像从一种格式转换为另一种格式。 # 格式qemu-img convert [-f 源格式] [-O 目标格式] [-o 选项] 源文件路径 目标文件路径
# 将.raw格式的cirros镜像转换为.qcow2格式的镜像
[rootnode-a ~]# qemu-img convert -f raw -O qcow2 ~/Downloads/cirros-0.5.1-x86_64-disk.img ~/Downloads/cirros-0.5.1-x86_64-disk.qcow2
三、基于预制镜像定制OpenStack镜像
1、cloud-init
cloud-init是一组Python脚本的集合是一个能够定制云镜像的实用工具。通过修改/etc/cloud/cloud.cfg配置文件来实现。cloud-init一般会被包含在用于启动虚拟机实例的镜像文件中。基于镜像部署虚拟机实例cloud-init会随虚拟机实例的启动自动启动对虚拟机实例进行自定义的初始配置。cloud-init目前支持Ubuntu、Fedora、Debian、RHEL、CentOS等主流的Linux操作系统发行版。
2、实例快照
快照Snapshots是一种基于时间点的数据备份技术能够记录某一个时刻的数据信息并将其保存以便在需要时将数据恢复到之前时间点的状态OpenStack中为虚拟机实例生成的快照抓取实例正在运行的磁盘的状态其实是一个完整的镜像由Glance镜像服务管理。
3、基于预制镜像定制镜像的方法
四、使用自动化工具制作OpenStack镜像
1、Diskimage-builder工具
Diskimage-builder简称DIB是OpenStack的官方项目。DIB主要用于构建适用于OpenStack平台的操作系统镜像。Diskimage-builder的镜像生成原理 将最初启动虚拟机实例时安装操作系统完成后的镜像保存为基础镜像。将该基础镜像挂载到本地。chroot到根分区。 根据不同的定制需要增加不同的模块。 安装完成后保存为特定格式的镜像文件。 使用Diskimage-builder首次制作某操作系统镜像时需要从网上下载该操作系统的基础镜像文件后面再制作同一版本的镜像时可直接使用镜像缓存文件。
2、其他自动化镜像生成工具
Oz自动化生成虚拟机镜像文件的命令行工具。Packer从单个源配置构建多种平台的虚拟机镜像的工具。image-bootstrap生成可启动的虚拟机镜像的命令行工具。imagefactory可以自动构建、转换和上传镜像到不同的云提供商的新型工具。KIWI操作系统镜像构建器支持多种Linux硬件平台、虚拟化和云系统的操作系统镜像构建。virt-builder快速构建虚拟机镜像的工具。
3、实操
3.1、安装Diskimage-builder
[rootnode-a ~]# python # 1、检查python环境
Python 2.7.5 (default, Nov 14 2023, 16:14:06)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type help, copyright, credits or license for more information.exit()
[rootnode-a ~]# pip -y install epel-release # 2、安装epel扩展源
[rootnode-a ~]# yum -y install python-pip # 3、安装pip工具
[rootnode-a ~]# yum -y install qemu-img kpartx # 4、安装支持环境
[rootnode-a ~]# pip install --upgrade pip 20.0 # 5、升级pip工具
[rootnode-a ~]# pip install diskimage-builder2.2.0 # 6、安装Diskimage-builder
[rootnode-a ~]# disk-image-create --version # 检查是否安装完成输出版本
2.2.0
3.2、使用Diskimage-builder自动构建Ubuntu操作系统镜像 设置相关的环境变量 [rootnode-a ~]# export DIB_DEV_USER_USERNAMEubuntu #初始用户名
[rootnode-a ~]# export DIB_DEV_USER_PASSWORDubuntu #初始用户密码
[rootnode-a ~]# export DIB_DEV_USER_PWDLESS_SUDOYES #为用户启用无密码sudo
[rootnode-a ~]# export DIB_CLOUD_INIT_DATASOURCESConfigDrive, OpenStack #cloud-init的源是ConfigDrive和OpenStack 构建镜像 [rootnode-a ~]# disk-image-create -a amd64 -t qcow2 -o ubuntu.qcow2 ubuntu vm cloud-init-datasources devuser
...
2024-04-16 17:12:19.949 INFO diskimage_builder.block_device.blockdevice [-] Removing temporary dir [/tmp
Converting image using qemu-img convert
Image file ubuntu.qcow2 created... # 创建完成
... 检查所生成的镜像文件 [rootnode-a ~]# ls ubuntu.qcow2 -l
-rw-r--r-- 1 root root 537329664 Apr 16 17:13 ubuntu.qcow2 开始测试将该镜像上传到OpenStack云中并查看 [rootnode-a ~]# source keystonerc_demo
[rootnode-a ~(keystone_demo)]# openstack image create --disk-format qcow2 --file ubuntu.qcow2 ubuntu
...
# 查看可以发现上传镜像成功
[rootnode-a ~(keystone_demo)]# openstack image list
-------------------------------------------------------
| ID | Name | Status |
-------------------------------------------------------
| c6cb27d8-4d93-427d-b67a-af6349dab979 | centos7 | active |
| 3669a079-518f-4cb5-b1c1-677dad16096e | cirros | active |
| 190b8365-19bc-43a1-8314-e8139d5d8be6 | fedora | active |
| bfe8eb08-3da7-4af7-a7ed-b13fa2978e90 | ubuntu | active |
-------------------------------------------------------
五、手动创建OpenStack镜像
手动制作镜像是最符合实际使用需求的需要定制什么样的镜像都可以由自己来决定只是过程比较烦琐。这种方式仅适合开发人员或小规模的应用。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85788.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!