跳过那些坑!太好用啦!虚拟化技术之kvm基础用法及排错

Posted Friends of the wind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跳过那些坑!太好用啦!虚拟化技术之kvm基础用法及排错相关的知识,希望对你有一定的参考价值。

KVM原理


qemu-img: 创建虚拟机磁盘文件
磁盘文件类型:
raw读写速度快,但无高级功能 ,不支持快照等
qcow2:速度稍慢,但支持克隆、快照等高级功能


小试牛刀-命令创建虚拟机

案例1:使用qemu-img 以raw格式文件创建虚拟机

  创建一个raw格式的磁盘文件
qemu-img create /kvm_store/example01.img 8G

  查看镜像文件信息
qemu-img info /kvm_store/example01.img

命令安装虚拟机

1)输入命令:
virt-install --name example01 --vcpu 1 --ram 1024 --disk /kvm_store/example01.img,format=raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=centos7.0 --location=/iso/centos7.iso

2)到控制台操作安装

转换磁盘文件格式
qemu-img convert -f raw -O(大写字母O) qcow2 /kvm_store/example01.img /kvm_store/example01.qcow2

验证:

案例2:使用qemu-img 以qcow2格式文件创建虚拟机

  创建一个raw格式的磁盘文件
qemu-img create -f qcow2 /kvm_store/vmtest02.qcow2 10G

  查看镜像文件信息
qemu-img info /kvm_store/vmtest02.qcow2

  命令安装虚拟机
virt-install --name vmtest02 --vcpus 1 --ram 1024 --disk /kvm_store/vmtest02.qcow2,format=qcow2 --network network=default  --location=/iso/centos7.iso

显示:

自动打开控制台

案例3:纯命令安装虚拟机,适用于无桌面环境远程安装

创建一个raw格式的磁盘文件
qemu-img create -f qcow2 /kvm_store/vmtest03.qcow2 10G

命令安装虚拟机,并在字符界面运行

virt-install --name vmtest03 --vcpus 1 --ram 1024 --disk /kvm_store/vmtest03.qcow2,format=qcow2 --network network=default --location=/iso/centos7.iso --nographics -x ‘console=ttyS0(数字)’

报错:用法:virt-INSTALL-NAME-NAME-memory MB STORAGE INSTALL[选项]
virt-install:错误:无法识别的参数:- raw 1024

解决:很明显,参数错误,命令单词错误,改正参数:- -ram 1024
注意:或者会卡住不动,有可能是命令单词错误
验证:

注意:带叹号的必须修改,按照提示一步步,选择选项,输入参数,否则,不会报错,但卡住不动

首次完成后,会提示按return重启;按enter即可进入登录界面

=======================================
1.列出虚拟机
直接在shell输入命令:virsh list --all
或者,交互式模式:

2.开/关虚拟机
virsh start centos7.0
virsh shutdown 虚拟机名称

或通过虚拟机xml配置启动:
virsh create /etc/libvirt/qemu/centos7.0.xml

3.挂起虚拟机
virsh suspend centos7.0

恢复虚拟机
virsh resume centos7.0

4.设置虚拟机随宿主机开机自启
virsh autostart centos7.0

取消开机自启
virsh autostart --disable centos7.0

5.导出虚拟配置文件
virsh dumpxml centos7.0 > /etc/libvirt/qemu/centos7.0_bak.xml

6.删除虚拟机(取消定义虚拟机)
virsh shutdown centos7.0
有的时候,关闭命令不起作用,需要强制关闭

virsh undefine centos7.0

7.从新定义centos7.0
cd /etc/libvirt/qemu
mv centos7.0_bak.xml centos7.0.xml

virsh define centos7.0.xml

8.修改虚拟机配置文件
vim /etc/libvirt/qemu/centos7.0.xml

virsh edit centos7.0

9.连接虚拟机(慎用,特慢)
virsh console centos7.0

10.克隆虚拟机(默认链接克隆)
virsh shutdown vmtest03

virt-clone -o vmtest03 -n clone01 -f /kvm_store/centos7.1.qcow2
语法:
命令关键字 virt-clone -o(字母) ,原虚拟机名vmtest03, -n 新虚拟机名, -f 磁盘文件存放路径及名称。

virsh start centos7.1

11.快照管理

创建无名快照
virsh snapshot-create centos7.1

创建命名快照(语法,先原虚拟机名,后快照名)

virsh snapshot-create-as clone01 snapshort01

1) 先给原虚拟机创建个文件:

2)创建快照

3)删除此文件
rm -f test.txt

4)还原快照,查看文件依然存在


删除快照

virsh snapshot-delete clone01 snapshot01

查看快照
1)查看所有快照
virsh snapshot-list centos7.1


2)查看最近(当前)创建的快照详细信息

正常:因为没创建快照,所以提示错误
virsh snapshot-current centos7.1

有创建的快照显示详细内容:


以上是关于跳过那些坑!太好用啦!虚拟化技术之kvm基础用法及排错的主要内容,如果未能解决你的问题,请参考以下文章

初识KVM之1——虚拟化介绍及创建KVM虚拟机

虚拟化技术之KVM平台部署及简单应用

CentOS6.5部署KVM及实现在线迁移

CentOS6.5部署KVM及实现在线迁移

KVM虚拟化平台的基础知识及搭建部署!

KVM虚拟化平台的基础知识及搭建部署!