1.安装前检查
1.1.查看CPU是否支持VT
1.2.关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
2.安装kvm
2.1.安装kvm
## 1.安装kvm
yum install -y qemu-kvm libvirt virt-install bridge-utils
## 2.重启系统
init 6
2.2.验证kvm安装是否成功
virsh -c qemu:///system list
//结果显示如下界面,表示kvm安装成功
Id Name State
--------------------
3.启动kvm服务
## 1.启动libvirtd守护进程
systemctl start libvirtd
## 2.查看是否启动成功
systemctl status libvirtd
4.安装虚拟机系统
4.1.创建镜像和虚拟机存放路径
存放路径可以根据自己的想法设置,我这里放在了当前用户目录下。
## 1.创建存放iso镜像文件目录
mkdir -p /home/weihua/data/kvm/iso
## 2.创建虚拟机安装位置
mkdir -p /home/weihua/data/kvm/kvmStory
4.2.同时给ios、虚拟机存放路径执行权限
## 如果不赋予执行权限,下面执行安装虚拟机命令时会报错提示打开iso和虚拟机存放路径没有权限无法安装虚拟机
chmod -R 777 /home/weihua
4.3.打开root执行权限
vim /etc/libvirt/qemu.conf
## 将user=root 和 group=root 的注释去掉。
4.4.安装虚拟机命令
我们使用 iso方式安装系统,所以需要提前准备系统的iso文件放到我们创建好的目录下,例如:/home/weihua/data/kvm/iso
执行下面的命令就可以启动系统的安装过程了。
virt-install \
--virt-type=kvm \
--name=centOS7 \
--vcpus=2 \
--memory=2048 \
--location=/home/weihua/data/kvm/iso/CentOS-7-x86_64-Minimal-1804.iso \
--disk path=/home/weihua/data/kvm/kvmStory/centOS7.qcow2,size=15,format=qcow2 \
--network bridge=virbr0 \
--graphics none \
--extra-args='console=tty0 console=ttyS0' \
--force
参数说明
--name=kvm-1 虚拟机名字为kvm-1
--vcpus=2 2个虚拟CPU核心
--memory=2048 2G内存
--disk path=/data/vms/kvm-1.qcow2,size=15,format=qcow2 虚拟机硬盘文件所在目录及名字,大小为15G,格式为qcow2,此参数会自动生成该硬盘文件在对应目录
--network bridge=virbr0 虚拟机桥接用的网卡,不一定是这个名字,在母机上用ifconfig查看实际名字
4.5.进入安装过程界面
这里的安装设置和界面安装Linux设置是一样的,叹号的都是需要我们手动设置项。
4.6.设置系统语言
在上面的界面按下 1 进入下面的语言设置页面
输入68为中文语言,按下回车键
输入1 为简体中文,按下回车键
4.7.设置时区
-进入时区设置界面
4.8.选择安装路径
4.9.创建root密码
4.10.开始安装系统
4.X 配置kvm日志
编辑文件/etc/libvirt/libvirtd.conf
#将日志级别设置为 1(调试)
log_level = 3
#指定日志输出文件名称
log_outputs="3:file:/var/log/libvirt/libvirtd.log"
日志级别对应的数字
注意 :libvirtd. 日志文件可能会飞速增长。 用户应配置logrotate ,否则您的 /var 文件系统最后会装满内容
1 debug
2 info
3 warn
4 error
5 fatal
配置文件生效
libvirtd --daemon --listen --config /etc/libvirt/libvirtd.conf
查看virsh管理qemu虚拟机的信息
log在目录/var/log/livirt/qemu/ 下面,具体的log文件名与虚拟机名字关联
5.kvm虚拟机常用操作
5.0.连接和退出虚拟机
## 重新连接虚拟机
virsh console虚拟机名称
## 断开虚拟机连接
同时按Ctrl+]
5.1.查看所有虚拟机状态
virsh list --all
5.2.查看指定虚拟机状态
virsh domstate 虚拟机名称
5.3.手动启动虚拟机
virsh start 虚拟机名称
5.4.手动关闭虚拟机
virsh shutdown 虚拟机名称
5.5.手动重启虚拟机
virsh reboot 虚拟机名称
5.6.手动挂起和恢复虚拟机
挂起虚拟机
virsh suspend 虚拟机名称
恢复虚拟机
virsh resume 虚拟机名称
5.7.断电关闭虚拟机
这种关闭虚拟机为非正常关闭虚拟机方式,相当于直接断掉电源。强制关闭,
不到万不得已的时候不要用这种方式关闭虚拟机
virsh destroy 虚拟机名称
5.8.设置随宿主机启动(开机启动虚机)
## 当宿主机开机后自动开启虚拟机
virsh autostart 虚拟机名称
5.9.取消开机启动
virsh autostart --disable 虚拟机名称
5.10.删除虚拟机
virsh undefine 虚拟机名称
5.11.备份虚拟机配置文件
virsh dumpxml 虚拟机名称 > /home/vpsbak/虚拟机名称_back.xml
5.12.编辑虚拟机配置文件
配置文件位置是/etc/libvirt/qemu
virsh edit 虚拟机名称
5.13.虚拟机迁移宿主机(复制虚拟机到新的宿主机运行)
## 1.备份虚拟机配置文件
virsh dumpxml 虚拟机名称 > /home/vpsbak/虚拟机名称.xml
## 2.关机,迁移配置文件和磁盘文件,配置文件路径是 /etc/libvirt/qemu
scp /home/vpsbak/centos6.xml root@192.168.6.3:/etc/libvirt/qemu/
scp /home/vpsdata/vps/centos6.qcow2 root@192.168.0.3:/data/vpsdata/vps
##3.激活虚拟机配置文件
virsh define /etc/libvirt/qemu/centos6.xml
5.14.显示虚拟机的信息
virsh dominfo 虚拟机名称
5.15.显示虚拟机的UUID
virsh domuuid 虚拟机名称
5.16.获取虚拟机的ID
## 根据虚拟机名称得到ID
virsh domid 虚拟机名称
根据ID得到虚拟机名称
virsh domname ID
5.17.显示虚拟机的状态
virsh domstate 虚拟机名称
5.18.返回虚拟机的状态ok or error
virsh domcontrol 虚拟机名称
5.19.编辑虚拟机的配置文件,可调整内存、CPU等配置
[root@dell720 qemu]# virsh edit centOS7
<domain type='kvm'>
<name>centOS7</name>
<uuid>eec806bd-88c3-461d-9ec6-330ecf5faafd</uuid>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='custom' match='exact' check='partial'>
<model fallback='allow'>Haswell-noTSX-IBRS</model>
<feature policy='require' name='md-clear'/>
<feature policy='require' name='spec-ctrl'/>
<feature policy='require' name='ssbd'/>
</cpu>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/chenglong/kvmData/centOS7.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hda' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='usb' index='0' model='ich9-ehci1'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/>
</controller>
5.20.虚拟机添加qcow2磁盘
1.查看磁盘大小与磁盘格式
## 查看磁盘大小,磁盘格式,磁盘文件位置
virsh edit 虚拟机名称
2.查看硬盘格式信息
qemu-img info /var/lib/libvirt/images/虚拟机名称.qcow2
3.添加一块qcow2磁盘
qemu-img create -f qcow2 test01_add.qcow2 2G
4.将新增的磁盘文件添加到虚拟机
virsh edit generic
##添加如下内容:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/test01_add.qcow2'/>
<target dev='hdc' bus='ide'/>
</disk>
5.启动虚拟机,分区、格式化、挂载磁盘
## 5.21.修改虚拟机内存和CPU容量
virsh edit centOS7
## 修改下面内存和CPU参数保存即可
<name>centOS7</name>
<uuid>eec806bd-88c3-461d-9ec6-330ecf5faafd</uuid>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>2</vcpu>