Openstack 使用Centos官方镜像创建实例记录

本文详细介绍如何使用OpenStack从CentOS官方镜像创建虚拟机实例的过程,包括镜像下载、格式转换、上传至OpenStack及实例配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Openstack 使用Centos官方镜像创建实例记录

准备centos镜像

官方地址:http://cloud.centos.org/centos/7/images

可以看到有各种版本的镜像,我在此处下载的是

https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1907.raw.tar.gz

其实应该下载https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1907.qcow2

后面我将raw格式的镜像又转化为了qcow2格式,因为openstack只支持qcow2格式的镜像。

转化也比较方便,转换方式如下:

#首先解压,压缩后的镜像比较小,下载也比较快
$ tar -zxvf CentOS-7-x86_64-GenericCloud-1907.raw.tar.gz
#转化镜像格式,raw格式转化为qcow2格式
$ qemu-img convert -f raw -O qcow2 CentOS-7-x86_64-GenericCloud-1907.raw CentOS-7-x86_64-GenericCloud-1907.qcow2
$ ls
CentOS-7-x86_64-GenericCloud-1907.qcow2

上传镜像到OpenStack

$ openstack image create "centos-7" --file CentOS-7-x86_64-GenericCloud-1907.qcow2 --disk-format qcow2 --container-format bare --public
# 上传成功后即可查看到已存在镜像列表中
$ openstack image list
+--------------------------------------+---------------------------------+--------+
| ID                                   | Name                            | Status |
+--------------------------------------+---------------------------------+--------+
| eeff6c96-3255-451b-bd26-8368ac701bae | Centos-7                        | active |
| 62903720-0c33-4238-b2fc-106167b3b240 | debian-8.11.0                   | active |
| aeae3608-ded5-45af-aca3-bb96df1b3320 | openSUSE                        | active |
| 721becd1-b2bf-4674-b5d1-7be9e7a9c263 | ubuntu-16.04-x86_64             | active |
+--------------------------------------+---------------------------------+--------+

用新镜像创建实例

首先需要准备创建镜像所需要的条件,例如 实例类型、网络、秘钥等等,由于我之前已经创建过了,此处就直接拿来用即可,新环境需要去创建这些东西,此处不赘述。

此处用命令行去创建实例,也可在页面上去创建实例。

# 查看已创建好的实例类型
$  openstack flavor list
+--------------------------------------+-----------------+-------+------+-----------+-------+-----------+
| ID                                   | Name            |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+-----------------+-------+------+-----------+-------+-----------+
| 0bd4ccb3-7fdb-493a-a7b4-1be94dee1cd5 | 4core_8G_100GB  |  8192 |  100 |         0 |     4 | True      |
| 2cf9cf3a-14eb-48ac-bbff-a930aeadca10 | 8core_16G_100G  | 16384 |  100 |         0 |     8 | True      |
| 8d14ecaa-6920-4d68-a69e-9f6e7a4a244c | 2core_4G_50G    |  4096 |   50 |         0 |     2 | True      |
+--------------------------------------+-----------------+-------+------+-----------+-------+-----------+
# 查看镜像列表
$ openstack image list
+--------------------------------------+---------------------------------+--------+
| ID                                   | Name                            | Status |
+--------------------------------------+---------------------------------+--------+
| eeff6c96-3255-451b-bd26-8368ac701bae | Centos-7                        | active |
| 62903720-0c33-4238-b2fc-106167b3b240 | debian-8.11.0                   | active |
| aeae3608-ded5-45af-aca3-bb96df1b3320 | openSUSE                        | active |
| 721becd1-b2bf-4674-b5d1-7be9e7a9c263 | ubuntu-16.04-x86_64             | active |
+--------------------------------------+---------------------------------+--------+
# 查看网络
$  openstack network list
+--------------------------------------+----------+--------------------------------------+
| ID                                   | Name     | Subnets                              |
+--------------------------------------+----------+--------------------------------------+
| 24ab4664-3d97-4ec8-99fb-75ba5f92fa77 | public   | 0507ad6b-153a-4713-93ee-e274d37ce3fa |
| 610c4193-5dff-419c-8df8-442cf8c49bba | provider | 3d59f5f5-2b85-4cb5-b738-a6003aa29bd9 |
| 6ba8cae0-b544-47e3-bcec-da0c8737da74 | private  | 29b1a65a-acb2-4e18-af2f-a00083a1c50e |
+--------------------------------------+----------+--------------------------------------+
# 查看秘钥对
$ openstack keypair list
+----------------+-------------------------------------------------+
| Name           | Fingerprint                                     |
+----------------+-------------------------------------------------+
| xiaoming       | 5a:d2:8f:2f:40:c2:84:1e:95:7a:23:aa:3e:af:aa:10 |
| xiaohong       | 00:4c:7e:7c:6e:29:51:cf:af:71:c3:ec:2c:90:83:ea |
+----------------+-------------------------------------------------+

利用以上信息创建实例

$ openstack server create --flavor 4core_8G_100GB  --image Centos-7  --nic net-id=610c4193-5dff-419c-8df8-442cf8c49bba  --security-group default  --key-name xiaoming centos7-test

+-------------------------------------+------------------------------------------------+
| Field                               | Value                                          |
+-------------------------------------+------------------------------------------------+
| OS-DCF:diskConfig                   | MANUAL                                         |
| OS-EXT-AZ:availability_zone         |                                                |
| OS-EXT-SRV-ATTR:host                | None                                           |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None                                           |
| OS-EXT-SRV-ATTR:instance_name       |                                                |
| OS-EXT-STS:power_state              | NOSTATE                                        |
| OS-EXT-STS:task_state               | scheduling                                     |
| OS-EXT-STS:vm_state                 | building                                       |
| OS-SRV-USG:launched_at              | None                                           |
| OS-SRV-USG:terminated_at            | None                                           |
| accessIPv4                          |                                                |
| accessIPv6                          |                                                |
| addresses                           |                                                |
| adminPass                           | Lg4mubYrHX2U                                   |
| config_drive                        |                                                |
| created                             | 2019-08-14T07:06:18Z                           |
| flavor                              | 4core_8G_100GB (0bd4ccb3-7fdb-493a-            |
|                                     | a7b4-1be94dee1cd5)                             |
| hostId                              |                                                |
| id                                  | aeb3da93-d492-45ee-9f16-7e5a8327fcdf           |
| image                               | CentOS7-image (eeff6c96-3255-451b-             |
|                                     | bd26-8368ac701bae)                             |
| key_name                            | xiaoming                                       |
| name                                | centos7-test                                     |
| progress                            | 0                                              |
| project_id                          | 08fe311820f24af489ffce1112f45769               |
| properties                          |                                                |
| security_groups                     | name='default'                                 |
| status                              | BUILD                                          |
| updated                             | 2019-08-14T07:06:19Z                           |
| user_id                             | d518cc05787b49aa8c8f6759c0747aeb               |
| volumes_attached                    |                                                |
+-------------------------------------+------------------------------------------------+

此时,实例已经创建成功,并且已经将xiaoming的公钥注入到该实例中,此时可以ssh到该实例上使用啦。

转载于:https://www.cnblogs.com/zooqkl/p/11352647.html

<think>好的,我需要帮助用户在OpenStack中基于CentOS 9云镜像创建实例。首先,我得确认用户提供的引用内容是否相关。用户引用了两个资料,一个是关于CentOS 7镜像的制作和使用,另一个是创建实例的基本方法。不过用户需要的是CentOS 9的教程,所以可能需要结合通用步骤和CentOS 9的特点。 首先,用户可能需要先获取CentOS 9的云镜像CentOS官方通常提供云镜像下载,比如从cloud.centos.org获取qcow2格式的镜像。下载完成后,需要将镜像上传到OpenStack的Glance服务中。这里可以参考引用[1]中的命令,但需要调整镜像名称和版本。例如,使用`openstack image create`命令,指定正确的磁盘格式和文件路径。 接下来是创建实例的步骤,引用[2]提到选择镜像源和实例类型,这些步骤对于CentOS 9应该也是类似的。用户需要确保在创建实例时选择正确的CentOS 9镜像,并配置网络、安全组等参数。可能需要注意CentOS 9的默认用户和认证方式,比如使用cloud-init设置密码或SSH密钥。 另外,用户可能需要配置实例的元数据或用户数据,以便自动化初始化过程。例如,通过用户数据脚本安装软件或配置网络。安全组设置也需要开放必要的端口,如SSH的22端口。 还需要考虑存储选项,比如是否使用LVM卷,但根据用户提供的引用[1]中的标签,可能涉及LVM配置,但CentOS 9镜像可能已经预先配置好。不过需要确认镜像是否支持OpenStack的需求,比如cloud-init工具是否安装,以确保实例能够正确初始化。 最后,验证实例创建后是否能够通过SSH登录,检查网络连接和系统状态。如果有问题,可能需要查看日志或调整配置。 总结步骤应该是:下载镜像、上传镜像创建实例(选择镜像、配置参数)、初始化和验证。需要确保每个步骤的命令和参数正确,特别是针对CentOS 9的调整。</think>### 如何在 OpenStack 中基于 CentOS 9 云镜像创建实例 #### 步骤 1:获取 CentOS 9 云镜像CentOS 官方OpenStack 社区获取适配的 CentOS 9 云镜像(通常为 `.qcow2` 格式)。例如: - 官方下载地址:`https://cloud.centos.org/centos/9-stream/x86_64/images/` #### 步骤 2:上传镜像OpenStack Glance 使用 OpenStack CLI 或 Dashboard 上传镜像: ```bash openstack image create --disk-format qcow2 \ --file CentOS-Stream-Generic-cloud-9.qcow2 \ --tag centos9 --container-format bare CentOS-9-Stream ``` 参数说明: - `--disk-format qcow2`: 指定镜像格式 - `--file`: 镜像文件路径 - `--tag centos9`: 添加标签便于筛选[^1] #### 步骤 3:创建实例 1. **选择镜像** 在 Dashboard 的「实例」页面点击「启动实例」→「源」→ 选择已上传的 CentOS 9 镜像[^2]。 2. **配置实例类型** 根据需求选择 CPU、内存和磁盘配置(例如 `m1.small` 或 `m1.medium`)。 3. **网络设置** 绑定可用的网络和安全组,确保开放 SSH 端口(默认 22)。 4. **密钥对或密码注入** - 若镜像支持 `cloud-init`,可通过「配置」→「自定义脚本」注入密码: ```yaml #cloud-config password: your_password chpasswd: { expire: False } ssh_pwauth: True ``` - 或绑定预先创建的 SSH 密钥对。 #### 步骤 4:启动并验证实例 1. 启动后通过 Dashboard 获取实例 IP。 2. 使用 SSH 或控制台登录: ```bash ssh -i your_key.pem centos@<实例IP> ``` 若镜像默认用户非 `centos`,可尝试 `cloud-user` 或查看镜像文档。 --- ### 注意事项 1. **镜像兼容性** CentOS 9 Stream 镜像需支持 `cloud-init` 以实现元数据注入。 2. **存储配置** 若需 LVM 分区,可在上传镜像时添加 `--property hw_disk_bus=scsi` 参数。 3. **安全组策略** 建议限制 SSH 访问源 IP 范围以提高安全性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值