创建虚拟机有2种方法:

1 virt-manager. 优点:上手简单。缺点:实现自动化比较困难

2 virsh创建 优点:自动化配置简单。缺点:创建过程比较复杂

我们首先通过virt-manager来创建虚拟机

第一步是选择生成新的虚拟机。这里选用iso方式进行创建。然后点击前进

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_openstack用什么命令创建虚拟机

第三步:设置虚拟内存以及硬盘大小

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_运维_02

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_xml_03

设置虚拟机的名称并点击完成

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_操作系统_04

第三步:进入安装界面进行安装

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_ubuntu_05

安装过程中曾出现如下的错误。这是由于选择中文版安装的bug。解决办法是在上面的图片中直接选择English。不要选择中文简体安装

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_运维_06

安装完成后执行virsh list命令查看正在运行的虚拟机

 

root@zhf-maple:~# virsh list
名称                         状态
----------------------------------------------------
 4     ubuntun17.10                   running
通过如下的命令将虚拟机关闭
root@zhf-maple:~# virsh destroy ubuntun17.10
域 ubuntun17.10 被删除
 
删除后查看虚拟机的状态为关闭
root@zhf-maple:~# virsh list --all
名称                         状态
----------------------------------------------------
关闭
 
在/var/lib/libvirt/images目录下也可以查到生成的虚拟机
root@zhf-maple:/var/lib/libvirt/images# ls -al
总用量 2482592
drwx--x--x 2 root root        4096 12月  5 10:00 .
drwxr-xr-x 7 root root        4096 12月  4 11:25 ..
-rw------- 1 root root 21478375424 12月  5 10:24 ubuntun17.10.qcow2

同样的方法,下载一个windows7的iso文件也可以安装一个windows7的镜像。

 

 

下面来看下通过virsh来创建虚拟机的方法:

首先是通过virsh dumpxml ubuntun17.10.xml > template.xml命令将之前的生成的虚拟机定义文件拷贝到tempalte.xml中

然后生成一个uuid。并用生成的uuid更新template中的<uuid>。另外<name>也需要重新定义一个

root@zhf-maple:/var/lib/libvirt/images# UUID=`uuidgen`
root@zhf-maple:/var/lib/libvirt/images# echo $UUID
3e45a411-8363-4194-9b35-41476974e1f7

 

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_运维_07

建立一个image,格式为qcow2

root@zhf-maple:/var/lib/libvirt/images# qemu-img create -f qcow2 ubuntun-17.10_1.qcow2 20G

Formatting 'ubuntun-17.10_1.qcow2', fmt=qcow2 size=21474836480 cluster_size=65536 lazy_refcounts=off refcount_bits=16

并在template.xml中的file定义为image生成的路径

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_ubuntu_08

生成一个MAC地址,并更新template中的<mac>

root@zhf-maple:/var/lib/libvirt/images# MAC="fa:95:$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/')"

root@zhf-maple:/var/lib/libvirt/images# echo $MAC

fa:95:2f:dc:3e:49

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_ubuntu_09

template.xml文件配置并且修改好之后,就开始创建虚拟机了。首先进行define操作

root@zhf-maple:/var/lib/libvirt/images# virsh define template.xml

定义域 ubuntun17.10_1(从 template.xml

 

开始启动一个虚拟机

root@zhf-maple:/var/lib/libvirt/images# virsh start ubuntun17.10_1
域 ubuntun17.10_1 已开始
查看虚拟机虚拟机正在运行
root@zhf-maple:/var/lib/libvirt/images# virsh list
名称                         状态
----------------------------------------------------
 1     ubuntun17.10_1                 running

 

虚拟机启动之后,有两种方式可以监控,1 virt-manager界面 

 

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_xml_10

2 通过vnc

如果是通过vnc查看的话首先需要安装vnc软件

root@zhf-maple:/var/lib/libvirt/images# apt-get install xtightvncviewer

在template.xml定义vnc端口

openstack用什么命令创建虚拟机 openstack怎么创建虚拟机_xml_11

然后通过命令vncviewer ip地址:5900就可以了。剩下的就是虚拟机的安装了。