KVM(Kernel-Based Virtual Machines)是一个基于Linux内核的虚拟化技术, 可以直接将Linux内核转换为Hypervisor(系统管理程序)从而使得Linux内核能够直接管理虚拟机, 直接调用Linux内核中的内存管理、进程管理子系统来管理虚拟机。在Ubuntu中安装openwrt可以作为旁路由方便管理。
一、安装KVM和Openwrt虚拟机
本文操作都是在root账户下进行。
1.验证支持KVM
(1)验证CPU是否支持硬件虚拟化
grep -Eoc '(vmx|svm)' /proc/cpuinfo //数字大于0,则代表CPU支持硬件虚拟化,反之则不支持
(2)检查 VT 是否在 BIOS 中启用
apt install cpu-checker //检查 VT 是否在 BIOS 中启用
kvm-ok //如果处理器虚拟化能力没有在 BIOS 中被禁用,命令将会打印出,否则,这个命令将会打印一个失败信息,和打印的消息
INFO: /dev/kvm exists
KVM acceleration can be used
2.安装KVM
apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
systemctl is-active libvirtd
(1)检查是否安装成功
lsmod | grep kvm
(2)启动虚拟化和设置开机自启
systemctl start libvirtd
systemctl enable libvirtd
systemctl list-unit-files |grep libvirtd.service //打印启动虚拟化和设置开机自启情况
3.网络环境配置
(1)配置网卡桥接模式
apt install bridge-utils
(2)安装使用命令ifconfig查看自己的网卡、ip等
apt install net-tools -y
ifconfig
(3)新建/修改br0.yaml文件:
vim /etc/netplan/br0.yaml
文件内容如下:
network:
version: 2
ethernets:
enp1s0:#替换为实际网卡
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [enp1s0] #替换为实际网卡
dhcp4: false
addresses: [192.168.1.5/24] #当前ip
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [223.5.5.5,223.6.6.6]
parameters:
stp: false
dhcp6: false
应用网络设置:
netplan apply
4.创建虚拟机
用Winscp将openwrt.img上传到/opt/目录下,输入命令:
virt-install --name openwrt --ram 512 --vcpus 2 --osinfo detect=on,require=off --disk path=/opt/openwrt.img --network bridge=br0,model=e1000 --force --import --autostart --vnc --vncport=5911 --vnclisten=0.0.0.0
name,ram,vcpus,disk path,vncport等字段可根据实际设定。
在VNC中用 http://ip:5911
登入虚拟机
二、KVM虚拟机管理
1.KVM基本命令
(1)查看命令帮助
virsh -h
(2)查看KVM的配置文件存放目录
ls /etc/libvirt/qemu/
(3)查看虚拟机状态
virsh list --all
(4)虚拟机关机与开机
virsh shutdown openwrt
virsh destroy openwrt
openwrt根据实际名字修改。
(5)强制实例系统关闭电源
virsh destroy openwrt
(6)通过配置文件启动虚拟机系统实例
virsh create /etc/libvirt/qemu/openwrt.xml
virsh list --all
(7)挂起虚拟机
virsh suspend openwrt
virsh list --all
(8)恢复虚拟机
virsh resume openwrt
virsh list --all
(9)配置虚拟机伴随宿主机自动启动
virsh autostart openwrt
(10)导出虚拟机配置
virsh dumpxml openwrt > /etc/libvirt/qemu/openwrt-2.xml
(11)虚拟机的删除与添加
virsh shutdown openwrt
virsh undefine openwrt
重新定义虚拟机
cd /etc/libvirt/qemu
mv centos7-2.xml openwrt.xml
virsh define openwrt.xml
virsh list --all
(12)修改虚拟机配置信息
vim /etc/libvirt/qemu/openwrt.xml
virsh edit openwrt
2.KVM文件管理
(1)查看当前磁盘格式
qemu-img info /data_kvm/store/openwrt.qcow2
(2)通过qemu-img命令转换磁盘文件格式,将openwrt虚拟机的raw格式磁盘转换至qcow2格式
virsh shutdown openwrt
qemu-img convert -f raw -O qcow2 /data_kvm/store/openwrt.img /data_kvm/store/openwrt.qcow2
修改openwrt的xml配置文件中的磁盘类型与磁盘文件名
virsh edit openwrt
(3) virt-cat,类似cat命令
vist-cat -a /data_kvm/store/openwrt.qcow2 /etc/sysconfig/grub
(4)virt-edit,编辑文件,用法与vim一致
virt-edit -a /data_kvm/store/openwrt.qcow2 /etc/resolv.conf
(5)virt-df命令用于查看虚拟机磁盘信息
vist -df -h openwrt
3.克隆虚拟机
(1)查看虚拟机状态
virsh list --all
(2)从openwrt克隆openwrt-2
virt-clon -o openwrt -n centos7-2 -f /data_kvm/store/openwrt.qcown2
(3)查看虚拟机状态
virsh list --all
(4)启动虚拟机
virsh start openwrt
4.虚拟机快照
(1)对openwrt创建快照
virsh snapshot-create openwrt
(2)查看虚拟机快照版本信息
virsh snapshot-current openwrt
(3)查看快照信息
virsh snapshot-list openwrt
(4)恢复虚拟机状态至{编号}
virsh snapshot-revert openwrt 编码
(5)删除快照
virs snapshot-delete openwrt 编码
博主真是太厉害了!!!
叼茂SEO.bfbikes.com
看的我热血沸腾啊
不错不错,我喜欢看
叼茂SEO.bfbikes.com
叼茂SEO.bfbikes.com
怎么收藏这篇文章?
看的我热血沸腾啊https://www.237fa.com/
不错不错,我喜欢看 https://www.ea55.com/
看的我热血沸腾啊https://www.ea55.com/
不错不错,我喜欢看 www.jiwenlaw.com
文章的确不错啊https://www.cscnn.com/
兄弟写的非常好 https://www.cscnn.com/
哈哈哈,写的太好了https://www.lawjida.com/
内容的丰富性和深度让人仿佛置身于知识的海洋,受益匪浅。
?情感共鸣类?
喜剧效果背后暗含深刻社会观察。
文章紧扣主题,观点鲜明,展现出深刻的思考维度。