2018-02-07
linux
00
请注意,本文编写于 2268 天前,最后修改于 424 天前,其中某些信息可能已经过时。

目录

1.创建虚拟机的基本操作
1.创建磁盘
2.运行虚拟机
3.链接虚拟机
2. 进阶操作
1.网卡相关操作
2. 磁盘相关操作
3.克隆虚拟机
4. 快照与恢复
3. 其他相关命令
4.排错

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

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

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

1.创建磁盘

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

2.运行虚拟机

bash
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.链接虚拟机

bash
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.网卡相关操作

bash
#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. 磁盘相关操作

bash
#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.克隆虚拟机

bash
##命令行克隆虚拟机 #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. 快照与恢复

bash
#命令行快照与恢复 #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. 其他相关命令

bash
#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/

本文作者:mykernel

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!