南京网站建设哪家专业,深圳wordpress,wordpress网站 搬家,可以下载新闻视频的网站目录 一、kvm介绍二、kvm软件安装三、GuestOS安装第一种方式#xff1a;图形化安装第二种方式#xff1a;命令行模式安装 四、GuestOS升级配置五、KVM存储六、磁盘格式七、创建磁盘文件八、KVM基本管理九、虚拟机克隆十、虚拟机快照十一、KVM网络管理1、kvm修改virbr0地址段图形化安装第二种方式命令行模式安装 四、GuestOS升级配置五、KVM存储六、磁盘格式七、创建磁盘文件八、KVM基本管理九、虚拟机克隆十、虚拟机快照十一、KVM网络管理1、kvm修改virbr0地址段2、kvm虚拟机配置固定ip3、kvm新建一个虚拟网卡3、kvm虚拟机桥接网络 实验环境redhat9
一、kvm介绍
KVMKernel-based Virtual Machine是一个基于 Linux 内核的开源虚拟化解决方案。它允许在同一台物理主机上运行多个虚拟机每个虚拟机都可以运行自己的操作系统。KVM 利用了 Linux 内核中的虚拟化扩展如 Intel VT-x 或 AMD-V 技术使得它能够提供高性能的硬件辅助虚拟化。 kvm优势
高性能KVM 利用硬件辅助虚拟化技术因此能够提供接近原生性能的虚拟化体验。支持多种操作系统KVM 可以运行各种不同类型的客户操作系统包括 Linux、Windows、BSD 等。安全性由于 KVM 是基于 Linux 内核的因此能够受益于 Linux 的安全性特性并且能够利用诸如 SELinux 等安全模块来增强虚拟化环境的安全性。灵活性KVM 提供了丰富的管理工具和 API使得用户能够轻松地管理虚拟化环境。成本效益作为开源软件KVM 没有额外的许可费用并且能够充分利用现有的 Linux 基础设施。
KVM 被广泛应用于数据中心、云计算和虚拟化环境中它已经成为许多企业和组织的首选虚拟化解决方案之一。
二、kvm软件安装
1、查看CPU是否支持VT技术 diff 命令可以查看两个配置文件的区别
cat /proc/cpuinfo | grep -E vmx|svm2、清理环境卸载KVM
yum remove rpm -qa | egrep qemu|virt|KVM -y
rm -rf /var/lib/libvirt /etc/libvirt/3、安装软件
yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libguestfs-tools解释
qemu-KVM 主包是由两个组件构成kvm实现cpu内存的虚拟化qemu实现i/o的虚拟化
libvirtAPI接⼝,管理虚拟机的4、启动服务
systemctl start libvirtd5、查看KVM模块加载
lsmod | grep kvm三、GuestOS安装
“Guest OS” 是指在虚拟化环境中安装在虚拟机上的操作系统。在虚拟化技术中物理服务器上的虚拟化软件比如 KVM、VMware、VirtualBox 等可以创建和管理多个虚拟机每个虚拟机都运行着一个独立的操作系统这些操作系统就是虚拟机的 “Guest OS”。
第一种方式图形化安装
virt-manager #调出图形化界面第二种方式命令行模式安装
虚拟机的组成部分
1、虚拟机配置⽂件
[rootctrol ~]# ls /etc/libvirt/qemu
centos7.0.xml networks2、储存虚拟机的介质
[rootctrol ~]# ls /var/lib/libvirt/images/
centos7.0.qcow2模板镜像配置⽂件 ⽅式创建虚拟机
1.拷⻉模板镜像和配置⽂件
[rootctrol ~]# cp /var/lib/libvirt/images/centos7.0.qcow2 /var/lib/libvirt/images/vm1.img
[rootctrol ~]# cp /etc/libvirt/qemu/centos7.0.xml /etc/libvirt/qemu/vm1.xml2.修改配置文件
[rootctrol ~]# vim /etc/libvirt/qemu/vm1.xml
修改的主要参数是nameuuidsource位置以及mac地址mac地址前24位是厂商标识不能修改修改后24位。memorycurrentMemory保持一致
[rootctrol qemu]# diff vm1.xml centos7.0.xml
9,10c9,10namevm1/nameuuid6818b9a0-45a7-4896-b43e-97afcfcf468e/uuid
---namecentos7.0/nameuuid6818b9a0-45a7-4786-b43e-97afcfcf468e/uuid
16,17c16,17memory unitKiB1008576/memorycurrentMemory unitKiB1008576/currentMemory
---memory unitKiB1048576/memorycurrentMemory unitKiB1048576/currentMemory
44c44source file/var/lib/libvirt/images/vm1.img/
---source file/var/lib/libvirt/images/centos7.0.qcow2/
100c100mac address52:54:00:58:45:9b/
---mac address52:54:00:58:45:9a/3.创建虚拟机
[rootctrol qemu]# virsh define /etc/libvirt/qemu/vm1.xml
Domain vm1 defined from /etc/libvirt/qemu/vm1.xml4.重启一下
[rootctrol qemu]# systemctl restart libvirtd5.宿主机开启路由转发功能
[rootctrol qemu]# vim /etc/sysctl.conf
net.ipv4.ip_forward1
[rootctrol qemu]# sysctl -p6、去虚拟机ping www.baidu.com
如果ping不通但是ip能通去/etc/resolve中写dns解析额地址四、GuestOS升级配置
以下配置就是手动写配置文件添加磁盘 1、修改配置⽂件⽐如添加磁盘那就添加如下配置
需要主要的是devvdb slot0x00添加source镜像存放目录disk typefile devicediskdriver nameqemu typeqcow2/source file/var/lib/libvirt/images/centos7.0-1.qcow2/target devvdb busvirtio/address typepci domain0x0000 bus0x08 slot0x00 function0x0//disk2、创建新的空磁盘卷
qemu-img create -f qcow2 /var/lib/libvirt/images/centos7.0-1.qcow2 1G3、重新定义 virsh define /etc/libvirtd/qemu/centos7.0.xml五、KVM存储
概念 KVM必须要配置⼀个目录当作他存储磁盘镜像(存储卷)的⽬录我们称这个目录为存储池。 默认存储池
/var/lib/libvirt/images/1、存储池管理
1.创建基于⽂件夹的存储池⽬录mkdir -p /data/vmfs
2.定义存储池与其⽬录virsh pool-define-as vmdisk --type dir --target /data/vmfs #vmdisk是池的名字
3.创建已定义的存储池
(1) 创建已定义的存储池virsh pool-build vmdisk
(2) 查看已定义的存储池存储池不激活⽆法使⽤
#virsh pool-list --all
4.激活并⾃动启动已定义的存储池
virsh pool-start vmdisk
virsh pool-autostart vmdisk
这⾥vmdisk存储池就已经创建好了可以直接在这个存储池中创建虚拟磁盘⽂件了。
5.在存储池中创建虚拟机存储卷
virsh vol-create-as vmdisk oeltest03.qcow2 20G --
format qcow2
注1:KVM存储池主要是体现⼀种管理⽅式可以通过挂载存储⽬录lvm逻辑卷的⽅式创建存储池虚拟机存储卷创建完成后剩下的操作与⽆存储卷的⽅式⽆任何区别了。
2.存储池相关管理命令
(1)在存储池中删除虚拟机存储卷
virsh vol-delete --pool vmdisk oeltest03.qcow2
(2)取消激活存储池
virsh pool-destroy vmdisk
(3)删除存储池定义的⽬录/data/vmfs
virsh pool-delete vmdisk
(4)取消定义存储池virsh pool-undefine vmdisk六、磁盘格式
raw原始格式性能最好 qcow2性能上还是不如raw但是raw不⽀持快照qcow2⽀持快照。
七、创建磁盘文件
创建磁盘⽂件
#qemu-img create -f qcow2 test.qcow2 20G
建⽴raw格式磁盘⽂件:
qemu-img create -f raw test.raw 20G
查看已经创建的虚拟磁盘⽂件:
qemu-img info test.qcow2查看虚拟机磁盘
[rootctrol qemu]# virsh domblklist vm1目标 源
-----------------------------------------vda /var/lib/libvirt/images/vm1.imgsda -八、KVM基本管理
查看 启动 关闭 重启 重置 查看
查看虚拟机
virsh list --all
查看KVM虚拟机配置⽂件
virsh dumpxml vm1
修改配置⽂件
virsh edit vm1
如果直接⽤vim编辑器修改配置⽂件的话需要重启libvirtd服务这种方式就不需要
暂停虚拟机virsh suspend vm_name
恢复虚拟机virsh resume vm_name
关闭 virsh shutdown vm1
虚拟机开机⾃动启动 virsh autostart vm1
删除虚拟机开机自启virsh autostart --disable vm1
查看所有开机自启的虚拟机virsh list --all --autostart #会生成你一个autostart的目录/etc下
重启virsh reboot vm1
删除虚拟机 virsh undefine vm2查看虚拟机的VNC端口 虚拟机的vnc端口默认从5900开始每个虚拟机分配一个端口
[rootctrol qemu]# virsh vncdisplay vm1
127.0.0.1:0查看虚拟机的网络地址
virsh domifaddr vm1九、虚拟机克隆
1、图形化界面 2、字符命令克隆
virt-clone -o vm1 -n vm2 --auto-clone # -n 的参数是取名字 -o 是源镜像virt-clone -o vm1 -n vm2 -f /var/lib/libvirt/images/vm2.img #-f 是使用现有的镜像克隆十、虚拟机快照
查看镜像文件格式
qemu-img info /var/lib/libvirt/images/vm1.img 把raw格式转换成qcow2格式
qemu-img convert -f raw -o qcow2 /var/lib/libvirt/images/vm8.img /var/lib/libvirt/images/vm8_qcow2.img给虚拟机vm1创建第⼀个快照
virsh snapshot-create-as vm1 vm1.snap查看虚拟机的快照
virsh snapshot-list vm1恢复到第⼀个快照 virsh snapshot-revert vm1 vm1.snap删除虚拟机快照
virsh snapshot-delete --snapshotname vm1.snap vm1十一、KVM网络管理
KVM虚拟网络介绍 libvirt服务安装后默认会安装一块virbr0的虚拟网卡虚拟交换机)libvirt在创建KVM虚拟机后默认使用了一个名为default的nat网络。地址段为192.168.122.0/24为虚拟机提供网络服务。 dhcp分配到虚拟机的ip列表在以下文件查看 cat /var/lib/libvirt/dnsmasq/default.conf
查看网卡
virsh net-list1、kvm修改virbr0地址段
可以修改网段也可以用默认网段如需修改通过如下方式:
virsh net-edit default 然后再重新定义网络default网络的配置文件:
virsh net-define /etc/libvirt/qemu/networks/default.xml 停止网卡关闭虚拟机
virsh net-destroy default启动网卡
virsh net-start default重启libvirtd
systemctl restart libvirtd2、kvm虚拟机配置固定ip
cd /etc/sysconfig/network-scripts/ #找到网卡编辑
把dhcp改为none添加IPADDRNETMASKGATEWAYDNS1等
然后systemctl restart network3、kvm新建一个虚拟网卡
一、图像化方式 二、命令行方式
virsh net-dumpxml default /etc/libvirt/qemu/networks/net1.xml #创建一个net1网卡的配置[rootctrol ~]# cat /etc/libvirt/qemu/networks/net1.xml
networknamenet1/nameuuid243f2a7c-696c-4834-81d1-bca8e7d8878b/uuidforward modenatnatport start1024 end65535//nat/forwardbridge namevirbr1 stpon delay0/mac address52:54:01:12:2e:9b/ip address192.168.100.1 netmask255.255.255.0dhcprange start192.168.100.2 end192.168.100.254//dhcp/ip
/network
需要注意的是nameuuid网桥名mac地址改哈ip就行virsh net-create /etc/libvirt/qemu/networks/net1.xml #根据配置文件进行创建
virsh net-list --all #查看网卡[rootctrol ~]# virsh net-autostart net1 #开机自启
网络net1标记为自动启动给vm1虚拟机修改网卡
virsh edit vm1
然后再启动该虚拟机3、kvm虚拟机桥接网络
在KVM虚拟机中Bridge (桥接模式可以让KVM虚拟机和宿主机共享一个物理网络设备来连接网络这样KVM虚拟机可以访问外部网络而外部网络也可以直接访问KVM虚拟机Bridge桥接模式使用非常方便应用也非常广泛。
查看虚拟机网卡类型
virsh domiflist vm1在虚拟机中配置桥接网络
nmcli con add ifname br0 type bridge con-name br0
nmcli con add type bridge-slave ifname ens160 master br0
nmcli con mod br0 ipv4.addresses 192.168.85.200/24 ipv4.gateway 192.168.85.2 ipv4.dns 223.5.5.4 ipv4.method manual autoconnect yes
nmcli con up br0