添加磁盘
环境
# hostnamectl set-hostname kvm
[root@kvm ~]# systemctl stop firewalld
[root@kvm ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@kvm ~]# vi /etc/selinux/config
//将enforcing修改为disabled
重启之后生效
[root@kvm ~]# getenforce
Disabled
检查
[root@kvm ~]# free
[root@kvm ~]# grep -Ei 'vmx|svm' /proc/cpuinfo
[root@kvm ~]# lsblk
//查看cpu参数
//查看cpu是否开启虚拟化支持
//查看新增磁盘
挂载磁盘
[root@kvm ~]# mkfs.ext4 /dev/sdb
[root@kvm ~]# blkid /dev/sdb
//将新增磁盘格式化为ext4格式
//查看指定磁盘信息
[root@kvm ~]# mkdir /kvm_data
[root@kvm ~]# mount /dev/sdb /kvm_data
[root@kvm ~]# df -h
//挂载到新增目录下
[root@kvm ~]# vi /etc/fstab
在fstab文件中挂载,重启之后就不用重新挂载了
安装KVM
[root@kvm ~]# yum install -y virt-* libvirt bridge-utils qemu-img
配置网卡
[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-enp0s3 ifcfg-br0
[root@kvm network-scripts]# vi ifcfg-br0
TYPE=Bridge
BOOTPROTO=none
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.43.188
NETMASK=255.255.255.0
GATEWAY=192.168.43.182
DNS1=114.114.114.114
DNS2=8.8.8.8
[root@kvm network-scripts]# vi ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=none
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
BRIDGE=br0
启动libvirtd服务
安装cetnos7
从物理机上传到虚拟机中
[root@kvm ~]# ls /data.
CentOS-7-x86_64-DVD-2009.iso
[root@kvm ~]# virt-install --name=test --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/data./CentOS-7-x8
6_64-DVD-2009.iso --disk path=/KVM_data/test.img,size=10 --bridge=br0 --grap
hics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
--name:指定虚拟机的名称。
--memory:指定分配给虚拟机的内存资源大小。
maxmemory:指定可调节的最大内存资源大小,因为KVM支持热调整虚拟机的资源。
--vcpus:指定分配给虚拟机的CPU核心数量。
maxvcpus:指定可调节的最大CPU核心数量。
--os-type:指定虚拟机安装的操作系统类型。
--os-variant:指定系统的发行版本。
--location:指定ISO镜像文件所在的路径,支持使用网络资源路径,也就是说可以使用URL。
--disk path:指定虚拟硬盘所存放的路径及名称,size则是指定该硬盘的可用大小,单位是G。
--bridge:指定使用哪一个桥接网卡,也就是说使用桥接的网络模式。
--graphics:指定是否开启图形。
--console:定义终端的属性,target_type 则是定义终端的类型。
--extra-args:定义终端额外的参数。
时区选择上海
配置完磁盘密码后输入b开始安装
按回车
输入Ctrl+] 回到宿主机
KVM基本管理:
查看虚拟机列表
[root@kvm ~]# virsh console test
//进入指定虚拟机
[root@kvm ~]virsh shutdown test
//关闭虚拟机
[root@kvm ~]virsh start test
//开启虚拟机
[root@kvm ~]virsh destroy test
//类似stop,这个是强制停止
[root@kvm ~]virsh undefine test
//彻底销毁虚拟机,会删除虚拟机配置文件,virsh list --all就看不到
[root@kvm ~]virsh autostart test
//宿主机开机该虚拟机也开机
[root@kvm ~]virsh autostart --disable test
//解除开机启动
[root@kvm ~]virsh suspend test
//挂起
[root@kvm ~]virsh resume test
//恢复
[root@kvm ~]# virt-clone --original test --name test02 --file
--original:指定克隆源虚拟机。
--name:指定克隆后的虚拟机名字。
--file:指定目标虚拟机的虚拟磁盘文件。
//克隆虚拟机
[root@kvm ~]# ls /etc/libvirt/qemu/
//查看虚拟机配置文件/etc/libvirt/qemu/是否增加test02.xml文件
快照管理
[root@kvm ~]# virsh snapshot-create test
[root@kvm ~]# qemu-img info /kvm_data/test.img
[root@kvm ~]# virsh snapshot-list test
[root@kvm ~]# virsh snapshot-current test
//创建快照
//查看test.img信息
//列出所有快照
//查看当前快照详细信息
[root@kvm ~]# ls /var/lib/libvirt/qemu/snapshot/test/
[root@kvm ~]# virsh snapshot-revert test 1588485687
[root@kvm ~]# virsh snapshot-delete test 1588485687
//查看所有快照配置文件
//恢复指定快照
//删除指定快照
虚拟机磁盘管理
[root@kvm ~]# qemu-img info /kvm_data/test.img
[root@kvm ~]# qemu-img create -f raw /kvm_data/test_1.img 2G
[root@kvm ~]# qemu-img convert -O qcow2 /kvm_data/test_1.img /kvm_data/test_1.qcow2
[root@kvm ~]# ls -lh /kvm_data/test_1.img
[root@kvm ~]# qemu-img convert -O raw /kvm_data/test02.img /kvm_data/test02.img
[root@kvm ~]# virsh edit test02
[root@kvm ~]# ls -l /kvm_data/
[root@kvm ~]# virsh start test02
//查看虚拟磁盘格式
//创建2 GB的RAW格式磁盘
//RAW格式的磁盘转换为qcow2格式
//查看test1.img大小
//将test02转成raw格式
//更改磁盘格式和文件路径,然后启动test02虚拟机
//查看磁盘所属用户和组
//启动虚拟机test02,然后再次查看磁盘所属用户和组
磁盘扩容
[root@kvm ~]# qemu-img resize /kvm_data/test02_2.img +2G Image resized
额外增加磁盘
[root@kvm ~]# qemu-img create -f raw /kvm_data/test02_3.raw 5G
function='0x0'/>
</disk>
//找到这一部分内容,在下面增加以下内容
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/kvm_data/test02_3.raw'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09'
function='0x0'/>
</disk>
调整CPU内存、网卡
cpu:
1、
[root@kvm ~]# virsh edit test
…………
<memory unit='KiB'>1048576</memory>
//最大内存
<currentMemory unit='KiB'>524288</currentMemory>
//可用内存
<vcpu placement='static' current='1'>2</vcpu>
//最大cpu
………………
[root@kvm ~]# virsh dominfo test
2、
[root@kvm ~]# virsh setmem test 800m
//动态修改内存
[root@kvm ~]# virsh setvcpus test 2
//动态修改cpu,只可以增加不可以减少
[root@kvm ~]# virsh dominfo test
[root@kvm ~]# virsh dumpxml test > /etc/libvirt/qemu/test.xml
//需要把配置写入到配置文件里
网卡:
[root@kvm ~]# virsh domiflist test
查看网卡列表
[root@kvm ~]# virsh attach-interface test --type bridge --source virbr0
Interface attached successfully
[root@kvm ~]# virsh domiflist test
Interface Type Source Model MAC
-------------------------------------------------------
vnet1 bridge br0 virtio 52:54:00:93:bf:07
vnet2 bridge virbr0 rtl8139 52:54:00:29:ed:8b
//增加一块新的网卡,并设置为NAT网络模式(virbr0类似VMware的VMnet8),这里如果写--source br0,则网络模式为桥接
[root@kvm ~]# virsh dumpxml test > /etc/libvirt/qemu/test.xml
//做备份
迁移虚拟机
[root@kvm ~]# virsh domblklist test
//查看虚拟机所在位置
[root@kvm ~]# vi /etc/libvirt/qemu/test03.xml
<name>test03</name>
//修改domname:
//修改uuid(随便改一下数字,位数不要变)
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/kvm_data/test03.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
//修改磁盘路径
[root@kvm ~]# virsh define /etc/libvirt/qemu/test03.xml
Domain test03 defined from /etc/libvirt/qemu/test03.xml
//定义新虚拟机