深入理解OpenStack-手动制作qcow2镜像
2018-01-18
手动制作镜像
1
|
官方虽提供qcow2系统镜像,但对于有需求的企业来说,还是定制镜像比较靠谱,下面就手动定制一个镜像
|
1 2 3 4 5 6 7 8 9 10 11
|
手动创建镜像需要确保libvirt运行有default网络,这个网络可以给虚拟机提供上网服务。
查看当前是否启用default网络 [root@compute ~]# virsh net-list Name State Autostart Persistent ---------------------------------------------------------- default active yes yes 注:如果没有启用,使用以下命令启用default virsh net-start default
|
1 2 3 4 5 6 7 8 9 10 11 12 13
|
(1)创建一个目录mkdir -p /data 上传iso镜像到/data目录
(2)创建一个10G的磁盘文件给虚拟机使用 qemu-img create -f qcow2 /data/centos.qcow2 10G
(3)安装 virt-install --virt-type kvm --name centos7.4_x86_64 --ram 1024 \ --disk /data/centos.qcow2,format=qcow2 \ --network network=default \ --graphics vnc,listen=0.0.0.0 --noautoconsole \ --os-type=linux \ --location=/data/CentOS-7-x86_64-Minimal-1611.iso
|
- 使用TightVNC Viewer客户端连接虚拟机
1 2 3 4 5 6
|
要想连接虚拟机就需要执行一条命令来查看刚才新建虚拟机的端口信息 [root@compute ~]# netstat -lntup |grep kvm tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 90011/qemu-kvm tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 41365/qemu-kvm
可以看到,当前运行有两台虚拟机,我刚刚创建的虚拟机端口是5901。
|
1 2 3 4 5 6
|
运行TightVNC Viewer客户端,Remote Host输入:192.168.56.12:5901 进行连接。连接成功后,就看到操作系统的引导界面了,这时候可以对虚拟机进行系统安装了。也可以根据企业需求进行个性化安装。
安装结束后,点击reboot
注:只有配置了KVM虚拟机,libvirt就会生成一个与操作系统对应的xml文件,其记录了kvm虚拟机的状态。路径如下:/etc/libvirt/qemu/CentOS-6.6-x86_64.xml 注:此文件只能通过“virsh edit”命令修改
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
列出所有虚拟机 [root@compute ~]# virsh list --all Id Name State ---------------------------------------------------- 7 instance-00000003 running 12 centos7.4_x86_64 shut off 启动虚拟机 [root@compute ~]# virsh start centos7.4_x86_64 [root@compute ~]# virsh list --all
当此虚拟机再次启动后,再使用TightVNC Viewer客户端,Remote Host输入:192.168.56.12:5901 进行连接。
此时可以在此系统中编辑已经提前准备并测试好的系统初始化脚本,并让脚本开机后运行,测试无误后将此虚拟机关机。(此步骤是把开机初始化脚本给封装到镜像中)
在这个虚拟机系统中运行shutdown -h now 即可
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#!/bin/bash
set_key(){ if [ ! -d /root/.ssh ]; then mkdir -p /root/.ssh chmod 700 /root/.ssh fi
|
将制作好的/data/centos.qcow2镜像文件上传到Glance
1 2 3 4 5 6 7 8 9 10
|
注:在控制节点进行镜像上传
(1)source变量 source /scripts/admin-openrc
(2)镜像上传 openstack image create "CentOS7.4_x86_64" --file /data/centos.qcow2 \ --disk-format qcow2 --public
(3)openstack dashboard中创建虚拟机,并验证脚本执行情况
|
附录:virsh命令-使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
virsh
|
注:gentoo使用livecd安装的过程中,关于安装文件如何上传到livecd的问题,解决方案如下:
1
|
kvm安装安装启动livecd,然后通过桥接联网将文件上传,再执行脚本安装和初始化。最后将qcow2文件上传到glance。最后通过openstack dashboard来使用qcow2镜像安装gentoo
|