1.基础环境
在虚拟化引擎中勾选选项,要关闭虚拟机勾选
检查CPU参数
检查CPU是否开启虚拟化支持
grep -Ei 'vmx|svm' /proc/cpuinfo
如果现实为空,检查是否勾选选项
关闭防火墙和SELinux
systemctl stop firewalld
setenforce 0
2.更改主机名
hostnamectl set-hostname kvm
bash
3.挂载磁盘
虚拟机至少2G内存,添加一块50G硬盘
先格式化新添加的硬盘
mkfs.ext4 /dev/sdb
查看磁盘信息
blkid /dev/sdb
创建挂载目录
mkdir /kvm_data
手动挂载(重启之后仍需挂载)
mount /dev/sdb /kvm_data/
自动挂载
vi /etc/fstab
写入
/dev/kvm_data ext4 defaults 0 0
4.安装KVM
yum install -y virt-* libvirt bridge-utils qemu-img
5.配置网卡并安装centos7
网络模式使用NAT和桥接都可以
我这里更改网络模式为桥接模式
先配置桥接网卡
cd /etc/sysconfig/network-scripts/
ls
复制NAT模式对应的ens-34网卡 重命名为ifcfg-br0
cp ifcfg-ens34 ifcfg-br0
修改br0配置文件为这样
TYPE改为Bridge
BOOTPROTO改为none
NAME和DEVICE改为br0
其他可删掉
IP地址以下是NAT模式的信息不用改
修改原NAT模式网卡配置信息
修改为
重启网络服务
systemctl restart network
查看IP
ens34没有IP地址,br0使用了原来ens的IP
启动KVM服务
systemctl start libvirtd
查看状态
systemctl status libvirtd
启动成功
安装虚拟机
上传虚拟机镜像移动到/tmp里
mv CentOS-7-x86_64-DVD-2009.iso /tmp/
安装
virt-install --name=test --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-7-x86_64-DVD-2009.iso --disk path=/kvm_data/test.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
name--虚拟机名字 memory—当前内存大小 maxmemory—最大内存 vcpus—核数 maxvcpus—最大核数 --os-type—操作系统类型 --os-variant—系统版本 location—指定镜像路径 --disk path—定义虚拟机磁盘路径名字大小 --bridge—定义桥接网卡 --graphics—定义是否开启图形界面 --consol --extra-args定义终端的一些相关信息
安装完成后如下图
- 语言设置 2)时区设置 3)安装源 4)软件选择 5)安装目标 6)Kdump 7)网络 8)root密码 9)普通用户
直接数字回车设置
设置语言
设置时区
2亚洲
选择65上海
设置安装源
依次输入cc1c
设置root用户密码
按B开始安装
按回车进入新创建的虚拟机
输入root密码进入
Ctrl+】退出虚拟机
6.虚拟机管理
查看虚拟机列表
virsh list 加--all是显示所有包括未运行的虚拟机
进入指定虚拟机
virsh console test3
输入命令后如果进不去可直接按回车键
virsh常用命令
virsh shutdown test
关闭虚拟机
virsh start test
开启虚拟机
virsh destroy test
强行停止
virsh undefine test
彻底销毁虚拟机
virsh autostart test
宿主机开机该虚拟机就开机
virsh autostart --disable test
解除开机启动
virsh suspend test
挂起
virsh resume test
恢复
6.2克隆虚拟机
克隆之前要先关闭虚拟机
virsh shutdown test3
virt-clone --original test3 --name test03 --file /kvm_data/test03.img
--original 指定克隆源
--name 克隆后的虚拟机名称
--file 指定目标虚拟机的虚拟磁盘文件
查看虚拟机配置文件有没有刚才添加的test03.xml文件
查看所有虚拟机
virsh list –all
启动刚克隆的test03虚拟机
virsh start test03
已运行
6.3快照管理
它可以回到之前的某一状态
在KVM中RAM格式的虚拟磁盘不支持做快照,qcow2支持
创建快照
virsh snapshot-create test03
当查看test03虚拟机信息时,也能看到快照信息
qemu-img info /kvm_data/test03.img
列出所有快照
virsh snapshot-list test03
查看当前快照版本
virsh snapshot-current test03
查看所有快照配置文件
在这个路径下/var/lib/libvirt/qemu/snapshot/
ls /var/lib/libvirt/qemu/snapshot/test03/1703035182.xml
回到指定快照
virsh snapshot-revert test03 1703035182
删除快照
virsh snapshot-delete test03 1703035182
6.4磁盘格式
查看虚拟磁盘格式
qemu-img info /kvm_data/test3.img
创建2G的raw格式磁盘
qemu-img create -f raw /kvm_data/test3_2.img 2G
RAM格式磁盘转换为qcow2的格式
qemu-img convert -f raw /kvm_data/test3_2.img -O qcow2 /kvm_data/test3_2.qcow2
qemu-img convert -f 原格式 旧磁盘名称 -O 转换后格式 新磁盘名称
查看刚创建的RAM和转换为qcow2格式的磁盘大小
ls -lh /kvm_data/test3_2.img
ls -lh /kvm_data/test3_2.qcow2
可以看到qcow2的文件比较小,raw的文件和我们指定的2G是一样大
raw格式的磁盘性能比qcow2要好,但是raw格式的快照无法做快照
将test3_1.qcow2格式转换为raw格式
qemu-img convert -O raw /kvm_data/test3_1.img /kvm_data/test3_1.raw
6.5磁盘扩容
两种磁盘格式,分为RAM和qcow2
首先扩容RAM
qemu-img resize /kvm_data/test3_1.raw +2G
查看所扩容信息
原本是2G增加2G后是4G
磁盘分区
fdisk /dev/vda
n是新建分区,p是主分区e是扩展分区 d是删除分区 w保存退出 q是不保存退出 m查看帮助
扩容qcow2格式磁盘
qemu-img resize /kvm_data/test3.img +2G
qemu-img info /kvm_data/test3.img
原本是10G
n是新建分区,p是主分区e是扩展分区 d是删除分区 w保存退出 q是不保存退出 m查看帮助
6.6调整CPU内存、网卡
调整CPU
查看虚拟机配置信息
virsh dominfo test3
编辑虚拟机内存
virsh edit test3
<memory unit='KiB'>1048576</memory> 最大内存
<currentMemory unit='KiB'>524288</currentMemory> 可用内存
<vcpu placement='static' current='1'>2</vcpu> 最大CPU
将以上内容改为如下内容
关闭虚拟机
virsh destroy test3
启动虚拟机
virsh start test3
查看虚拟机配置是否更改成功
virsh dominfo test3
更改成功
除了这种方式还可以动态修改
virsh setmem test3 800m
注意如果要修改CPU,只可以增加,不可以减少
virsh setvcpus test3 2
(test3是我虚拟机的名称,2是设置二个cpu)
查看是否配置成功
virsh dominfo test3
需要把配置写入配置文件里
virsh dumpxml test3 > /etc/libvirt/qemu/test3.xml
调整网卡
查看网卡列表
virsh domiflist test3
增加一块新的网卡,并设置为NAT模式
virbr0 类似于VMware的VMnet8,如果写--source br0 则是桥接模式
irsh attach-interface test3 --type bridge --source virbr0
再查看网卡信息
virsh domiflist test3
把配置写到配置文件中
virsh dumpxml test3 > /etc/libvirt/qemu/test3.xml
进入test3虚拟机,查看详细网卡信息 进入前确保开启,未开启使用virsh start test3 开启再进入
virsh console test3
ip a
6.7迁移虚拟机
首先关闭虚拟机
virsh shutdown test3
查看虚拟机磁盘所在目录
virsh domblklist test3
修改test3的子机test03的配置文件
vi /etc/libvirt/qemu/test03.xml
名字改为test04
UUID随便改一下数字,位数不要变
查看虚拟机列表
就会出现刚刚迁移的test04
virsh list --all