openstack镜像常见操作

openstack镜像常见操作

下载官方镜像

openstack有一篇文档,列举了常用的一些操作系统的虚拟机镜像的下载方式,这些镜像大多数包含cloud-init软件包,支持SSH密钥方式登录(通常都不支持密码登录)。参考:https://docs.openstack.org/image-guide/obtain-images.html

修改镜像root用户密码

如果想为CentOS等虚拟机镜像设置一个默认的root密码,可以参考openstack的文档:https://docs.openstack.org/image-guide/modify-images.html

修改CentOS的虚拟机镜像、设置一个默认的root密码的步骤如下:

# yum install -y libguestfs-tools
# guestfish --rw -a /var/lib/libvirt/images/CentOS-7-x86_64-GenericCloud-1805.qcow2
# 注意: 运行guestfish命令的用户必须和虚拟机镜像文件的属主是同一个,否则接下来的操作会失败。
# guestfish命令运行后示例如下:
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: 'help' for help on commands
      'man' to read the manual
      'quit' to quit the shell

> run
> list-filesystems
/dev/sda1: xfs
> mount /dev/sda1 /
> vi /etc/shadow # 将root后的两个冒号之间的内容改成新的加密字符串,可以从别的主机上的/etc/shadow文件中复制过来。
> quit

上传镜像到openstack

在主机上用某个用户执行touch admin-openrc命令新建admin-openrc文件,添加访问openstack所需的环境变量。文件内容示例如下:

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=adminpassword
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

然后运行如下命令上传一个镜像:

$ . admin-openrc
$ glance image-create --name CentOS-7-1805 --file /var/lib/libvirt/images/CentOS-7-x86_64-GenericCloud-1805.qcow2 --disk-format qcow2 --container-format bare --progress

现在这个镜像就可以给虚拟机示例使用了。

镜像metadata维护

参考:https://docs.openstack.org/image-guide/image-metadata.html
很多人在搭好openstack之后会忘了执行glance-manage db_load_metadefs这一条命令,导致在创建虚拟机实例时看不到元数据的列表。

制作一个虚拟机镜像

参考:https://docs.openstack.org/image-guide/create-images-manually.html

你可能感兴趣的:(虚拟化)