获取镜像

[root@bldattet1 ~]#  wget http://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso

安装virt以及qemu

[root@bldattet1 ~]#  yum install -y kvm virt-*  libvirt  bridge-utils qemu-img

创建镜像文件

[root@bldattet1 ~]#  qemu-img create -f qcow2 /tmp/centos.qcow2 10G

安装虚拟机

[root@bldattet1 ~]# mv  CentOS-7-x86_64-Everything-1804.iso /tmp/

[root@bldattet1 ~]# virt-install --virt-type kvm --name centos7 --ram 1024 \
--disk /tmp/centos.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=centos7.0 \
--location=/tmp/CentOS-7-x86_64-Everything-1804.iso

使用VNC链接后如下图

centos7下手动制作trove镜像-LMLPHP

/tmp/centos.qcow2此文件大小会随着安装而增长!

重启镜像

[root@bldattet1 ~]# virsh reboot centos7

如果从VNC窗口点击重启,虚拟机会自动关闭,因此需要手动启动

[root@bldattet1 ~]# virsh start centos7

继续使用VNC链接到虚机进行安装

请自行解决网络不通的问题

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes

[root@localhost ~]# service network restart

在实例中需要运行trove-guestagent服务, 则需要在镜像中配置与stack环境一致的rdo源,安装openstack-trove-guestagent

[root@localhost ~]# yum list |grep centos-release-openstack

选择相应的rdo源

[root@localhost ~]# yum install centos-release-openstack-rocky

安装trove-guestagent

[root@localhost ~]# yum -y install openstack-trove-guestagent python-troveclient python-netifaces pexpect python-oslo-serialization

安装ACPI服务

[root@localhost ~]# yum install acpid -y

[root@localhost ~]# systemctl enable acpid

安装cloud-init服务

[root@localhost ~]# yum install cloud-init -y

安装mysql

[root@localhost ~]# yum install http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm -y

[root@localhost ~]# yum install mysql-community-server

关闭虚机

[root@localhost ~]# poweroff

提取/tmp/centos.qcow2镜像文件,将文件通过glance上传到controller节点

root@u-node-2:~# glance image-create --name db --disk-format=qcow2 --container-format=bare --visibility public --progress --file=/home/appadmin/centos.qcow2

使用trove-manage创建datastore

root@u-node-2:~# trove-manage datastore_update dbtest ""   //创建名字叫dbtest的datastore

root@u-node-2:~# glance image-list

centos7下手动制作trove镜像-LMLPHP

root@u-node-2:~# trove-manage datastore_version_update dbtest 5.7 mysql e4fbc771-ad80-494f-8d58-b5ebfa06b52b mysql_5.7 1 //此处的id需要对应镜像id

root@u-node-2:~# trove datastore-list

centos7下手动制作trove镜像-LMLPHP

Openstack-dashboard会显示

centos7下手动制作trove镜像-LMLPHP

创建database实例的时候祝大家好运~!!!!

05-28 20:00