kvm安装虚拟机

kvm是linux下的一款虚拟机软件,KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

众所周知,运行一个操作系统需要传统的五大部件。

1.创建虚拟机的基本操作

1.创建磁盘

1
root@mykernel:/zz/images # qemu-img create -f qcow2 -o preallocation=metadata,size=80G c7_pxr.img

2.运行虚拟机

1
2
3
4
5
6
7
root@mykernel:/zz/images # virt-install --name c-pxr-7-2 --ram 2048 --vcpus 4 --disk  /zz/images/c7_pxr.img  --cdrom  CentOS1511.iso --network bridge=br-int --graphics vnc,listen=0.0.0.0

#/zz/images/c7_pxr.img 为1中创建的虚拟机
# --cdrom CentOS1511.iso 指定使用的系统镜像文件
# --network 指定网络模型
# --graphics 控制台链接模式
# listen 监听的地址

3.链接虚拟机

1
2
3
4
5
6
7
8
9
10
11
12
13
root@mykernel:/zz/images  # virsh list  
Id Name State
----------------------------------------------------
15 c-pxr-7-2 running

# virsh console c-pxr-7-2

#说明1:此处建议使用虚拟机的名称进行连接,因为每次destroy后在start虚拟机,其id会变化。

#说明2:如果此处敲回车无效需要进入虚拟机内运行。
#
## systemctl enable serial-getty@ttyS0.service
## systemctl start serial-getty@ttyS0.service

2. 进阶操作

1.网卡相关操作

1
2
3
4
5
6
7
8
9
10
11
12
#a.添加网卡
root@mykernel:/zz/images # virsh attach-interface c-pxr-7-2 bridge br-int

#加--config参数,直接写入配置文件,永久生效,重启生效。
root@mykernel:/zz/images # virsh attach-interface c-pxr-7-2 bridge br-int --config
#其中br-int 是宿主机上的桥

#b.删除网卡
root@mykernel:/zz/images # virsh detach-interface c-pxr-7-2 bridge --mac 52:54:00:c1:a1:61
#加--config参数,直接写入配置文件,永久生效,重启生效。
root@mykernel:/zz/images # virsh detach-interface c-pxr-7-2 bridge --mac 52:54:00:c1:a1:61 --config
#--mac 是虚拟机中的网卡mac地址

2. 磁盘相关操作

1
2
3
4
5
6
7
8
9
10
11
#a.命令行添加磁盘 
#创建需要添加的磁盘
root@mykernel:/zz/images # qemu-img create -f qcow2 -o size=20G,preallocation=metadata /images/test.qcow2
#添加磁盘到虚拟机中
root@mykernel:/zz/images # virsh attach-disk c-pxr-7-2 /images/test.qcow2 vdb --targetbus virtio
#vdb为磁盘在虚拟机内显示的名称,不能与虚拟机中已经有的磁盘重名。

#b.删除磁盘
root@mykernel:/zz/images # virsh detach-disk 15 vdb
#以上的修改都是临时生效的,重启或者克隆的虚拟机将会被销毁。所以若要永久有效,需要重新保存下配置文件。
root@mykernel:/zz/images # virsh dumpxml c-pxr-7-2 > /etc/libvirt/qemu/c-pxr-7-2.xml

3.克隆虚拟机

1
2
3
4
5
6
7
8
9
10
##命令行克隆虚拟机 
#a.关闭虚拟机
root@mykernel:/zz/images # virsh destroy 15

#b. 克隆
root@mykernel:/zz/images # virt-clone -o c-pxr-7-2 -n c7_clone -f /zz/images/c7_pxr_clone1.img

#-o是源虚拟机名称
#-n是新虚拟机名称
##说明:修改网卡设备文件/etc/udev/rules.d/70-persistent-net.rules,或者直接将其删除,再重启克隆的目的虚拟机

4. 快照与恢复

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#命令行快照与恢复 
#a.创建快照
root@mykernel:/zz/images # virsh snapshot-create-as c-pxr-7-2 kz kuaizhao
##kz:快照别名
##kuaizhao:描述

#b. 查看虚拟机快照
root@mykernel:/zz/images # virsh snapshot-list c-pxr-7-2
##running 表示运行时建立的快照
##shutoff 表示虚拟机关闭时的快照

#c.快照恢复(回滚)
root@mykernel:/zz/images # virsh snapshot-revert --domain c-pxr-7-2 kz
##说明1:内置磁盘快照可以随意回滚,比如先回滚到sn1,在回滚到sn3都是OK的
##说明2:注意一点是虚拟机开启状态下,不能回滚到State为running的快照点

#d.快照删除
root@mykernel:/zz/images # virsh snapshot-delete c-pxr-7-2 kz
或者
root@mykernel:/zz/images # virsh snapshot-delete --domain c-pxr-7-2 --snapshotname kz

3. 其他相关命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#a. 启动虚拟机 
root@mykernel:/zz/images # virsh start vm_name
##vm_name 可以使用virsh list –all 命令查看到

#b.删除虚拟机和磁盘
root@mykernel:/zz/images # virsh undefine centos7.2 –remove-all-storage

#c.编辑虚拟机的配置文件
root@mykernel:/zz/images # virsh edit c-pxr-7-2

#d.导出虚拟机配置文件
root@mykernel:/zz/images # virsh dumpxml c-pxr-7-2 > /kvm/config/c7.xml

#e.进入Virtual Machine Manager管理界面
root@mykernel:/zz/images # virt-manager

#f.关闭虚拟机
root@mykernel:/zz/images # virsh destroy c-pxr-7-2

4.排错

在windows上链接虚拟机需要安装xmanager套件。
如果键盘失灵请检查相关配置。

kvm/

---------------- 谢谢光临 ----------------

本文标题:kvm安装虚拟机

文章作者:pxrux

发布时间:2018年02月06日 - 16:02

最后更新:2020年10月19日 - 12:10

原始链接:http://www.mykernel.cn/linux-kvm.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%