基于鲲鹏处理器KVM安装部署
- 格式:pdf
- 大小:722.66 KB
- 文档页数:15
KVM安装步骤及基本操作KVM(Kernel-based Virtual Machine)是一种基于Linux内核的开源虚拟化技术,可以将服务器硬件资源划分为多个虚拟机来运行不同的操作系统。
安装KVM的步骤及基本操作如下:1.系统要求在安装KVM之前,需要确保系统满足以下要求:-64位操作系统- 支持虚拟化技术的CPU(例如Intel的VT-x或AMD的AMD-V)-至少4GB的内存-大于40GB的可用磁盘空间- 安装了最新的Linux内核2.安装KVM软件包首先,使用适用于你的Linux发行版的软件包管理器来安装KVM软件包。
例如,在Ubuntu上可以使用apt命令:```sudo apt updatesudo apt install qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils```3.启用虚拟化扩展4.创建网络桥接KVM使用网络桥接来连接虚拟机和物理网络。
创建网络桥接需要使用bridge-utils软件包。
在终端中执行以下命令创建桥接网络:```sudo brctl addbr br0sudo brctl addif br0 ens33```其中,ens33是你的物理网络接口的名称。
可以使用ip a命令查看你的接口名称。
5.配置网络连接```sudo nano /etc/network/interfaces```在文件中添加以下行来配置网络桥接:```auto br0iface br0 inet dhcpbridge_ports ens33保存文件并退出。
6. 启动libvirt服务执行以下命令启动libvirt服务:```sudo systemctl start libvirtdsudo systemctl enable libvirtd```7.创建虚拟机使用virt-install命令创建虚拟机。
KVM安装配置手册1. 安装过程介绍KVM是作为Linux2.6.20以上版本的一个内核模块提供的。
因此,安装KVM最直接的办法就是安装Linux2.6.20以上版本或编译新的Linux内核,这样可以避免版本不一致问题。
此外,KVM的运行需要qemu的支持,所以要安装qemu以及qemu加速器kqemu。
为了方便管理虚拟机,最后还需要安装一个图形化管理界面,目前装的是virt-manager。
安装linux5时,输入下列序列号就可以自动安装KVM和XEN+ Red Hat Enterprise Linux Virtualization Platform:49af89414d1475892. 编译Linux内核Linux内核编译的详细介绍请参见《Linux内核编译操作手册.doc》。
下面简要介绍安装步骤:1.从下载新的内核版本(本次实验用的是linux-2.6.32.36,其他版本编译有新的细节,本手册不保证可行)。
2.解压缩核心源码:tar -zxvf linux-2.6.32.36.tar.gz.tar.gz如果你所下载的是.bz2文件,例如linux-2.6.32.36.tar.bz2,请使用下面的命令#bzip2 -d linux-2.6.32.36.tar.bz2#tar -xvf linux-2.6.32.36.tar3.进入源码目录:cd /home/zhk/linux-2.6.32.36./4.make mrproper5.配置makefilemake menuconfig是菜单方式编辑(需要安装一个rpm请看提示)make xconfig是图形方式编译(需要安装QT,如果Linux上没有建议不用考虑了,qt依赖很多,用rpm根本装不上)上面另个命令中的一个配置完后,会在源码根目录生成.config文件6.编译时修改.config文件中的“CONFIG_SYSFS_DEPRECATED_V2”,默认该选项为not set,被注释掉的,将其改为y。
KVM--安装及初步使⽤KVM是Kernel-based Virtual Machine的简称,是⼀个开源的虚拟化模块,今天我将在CentOS7的操作系统上安装KVM,以下是我的安装步骤.⼀.环境信息系统: CentOS 7.2 IP: 10.0.0.12/24在虚拟机安装时,需要启⽤CPU的虚拟化功能⼆. KVM安装步骤1. 安装qemu-kvm和libvirt[root@kvm-node1 ~]# yum install -y qemu-kvm libvirt ###qemu-kvm⽤来创建虚拟机硬盘,libvirt⽤来管理虚拟机2. 安装virt-install[root@kvm-node1 ~]# yum install -y virt-install ###⽤来创建虚拟机3. 启动libvirtd,并将它设为开机启动,启动后使⽤ifconfig查看,发现会多出来⼀块virbr0的⽹卡,ip默认为192.168.122.1/24,说明libvirtd启动成功,如果默认没有ifconfig命令,使⽤yuminstall -y net-tools安装[root@kvm-node1 ~]# systemctl start libvirtd && systemctl enable libvirtd[root@kvm-node1 ~]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 10.0.0.12 netmask 255.255.255.0 broadcast 10.0.0.255inet6 fe80::5505:5aa:3f96:f3f8 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:51:09:70 txqueuelen 1000 (Ethernet)RX packets 22459 bytes 29147955 (27.7 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 5161 bytes 587757 (573.9 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:fb:b1:55 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0经过以上三步,KVM安装成功,下⾯开始使⽤KVM创建虚拟机.三. 使⽤KVM创建虚拟机(CentOS7)1. 使⽤qemu命令创建⼀个10G的硬盘(最⼩10,G,可以更多),硬盘的名称为: CentOS-7-x86_64.raw[root@kvm-node1 ~]# qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10GFormatting '/opt/CentOS-7-x86_64.raw', fmt=raw size=10737418240[root@kvm-node1 ~]# ll -h /opttotal 0-rw-r--r-- 1 root root 10G Aug 2207:59 CentOS-7-x86_64.raw2. 使⽤virt-install创建名称为CentOS-7-x86_64的虚拟机,在创建之前,先上传⼀个CentOS7的ISO镜像,最好在根⽬录下创建⼀个ISO的⽬录⽂件夹[root@kvm-node1 ~]# virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 --cdrom=/ISO/CentOS-7-x86_64-Everything-1611.iso --disk path=/opt/CentOS-7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 Starting install...Creating domain... | 0 B 00:03Domain installation still in progress. You can reconnect tothe console to complete the installation process.这时候使⽤TightVNC⼯具,连接主机IP 10.0.0.12,设置安装操作系统的⽹卡名称为eth0,如图所⽰安装步骤和我们平时安装操作系统的⽅法⼀样,安装完成后,可以使⽤virsh list --all显⽰KVM上所有的虚拟机[root@kvm-node1 ~]# virsh list --allId Name State----------------------------------------------------- CentOS-7-x86_64 shut off ### 可以看到虚拟机的名称和状态四. 管理KVM1. 使⽤virsh启动KVM中的虚拟机[root@kvm-node1 ~]# virsh start CentOS-7-x86_64Domain CentOS-7-x86_64 started启动后,使⽤VNC连接⼯具,登录后可以看到⽹卡的名称为eth0,默认没有ip地址,是因为⽹卡没有激活,将ONBOOT改为yes,重启⽹卡,可以看到ip地址为192.168.122.0⽹段的当KVM中的虚拟机启动后,可以在/etc/libvirt/qemu⽬录下,看到启动的虚拟机的信息[root@kvm-node1 ~]# cd /etc/libvirt/qemu[root@kvm-node1 qemu]# pwd/etc/libvirt/qemu[root@kvm-node1 qemu]# ls -lhtotal 4.0K-rw------- 1 root root 3.8K Aug 2208:18 CentOS-7-x86_64.xmldrwx------ 3 root root 42 Aug 2207:51 networksCentOS-7-x86_64.xml就是启动的虚拟机的信息,当我们使⽤vim编辑器查看时,会提⽰如下信息:<!--WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BEOVERWRITTEN AND LOST. Changes to this xml configuration should be made using:virsh edit CentOS-7-x86_64or other application using the libvirt API.-->看到提⽰需要修改虚拟机的信息,需要使⽤命令 virsh edit CentOS-7-x86_64,是⽤这条命令后,我们可以看到很多虚拟机的信息,包括vcpu,memory等2. CPU热添加(KVM⽀持CPU的热添加,不过局限是宿主机和虚拟机的系统相同才⾏,这⾥宿主机是CentOS7,虚拟机也是CentOS7,所以可以模拟CPU热添加,不过真实⽣产环境不建议这样操作)[root@kvm-node1 ~]# virsh edit CentOS-7-x86_646 <vcpu placement='static'>1</vcpu> 修改为:<vcpu placement='auto' current="1">4</vcpu>##意思是当前cpu为1核,最多可以有4核,修改完虚拟机的配置⽂件,必须关闭虚拟机再启动,配置才能⽣效[root@kvm-node1 ~]# virsh shutdown CentOS-7-x86_64 ##关闭虚拟机Domain CentOS-7-x86_64 is being shutdown[root@kvm-node1 ~]# virsh list --all ##查看虚拟机状态Id Name State----------------------------------------------------- CentOS-7-x86_64 shut off[root@kvm-node1 ~]# virsh start CentOS-7-x86_64 ##启动虚拟机Domain CentOS-7-x86_64 started[root@kvm-node1 ~]# virsh list --allId Name State----------------------------------------------------3 CentOS-7-x86_64 running先通过VNC⼯具查看虚拟机的cpu信息在宿主机上通过命令添加核数[root@kvm-node1 ~]# virsh setvcpus CentOS-7-x86_64 2 --live ##虚拟机的cpu添加到2core再通过VNC⼯具查看虚拟机CPU信息3. 内存热添加(还是不建议⽣产中使⽤,知道功能就⾏了)通过VNC连接虚拟机,查看虚拟机内存[root@kvm-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd info balloon ## 查看当前虚拟机的内存balloon: actual=1024[root@kvm-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd balloon 512 ## 修改当前虚拟机的内存为512 [root@kvm-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd info balloon ## 查看修改的内存信息已经改变成了512 balloon: actual=512使⽤VNC⼯具连接虚拟机,查看内存是否有变:4. ⽹卡配置(如何将KVM虚拟机中的⽹卡改为桥接模式,让局域⽹的其他⽤户可以正常访问)[root@kvm-node1 ~]# brctl show ##查看已有⽹桥bridge name bridge id STP enabled interfacesvirbr0 8000.525400fbb155 yes virbr0-nicvnet0创建⼀个脚本,删除ens33⽹卡的ip信息,新建⼀个桥接⽹卡,并且将ens33⽹卡的ip信息富裕新建的桥接⽹卡[root@kvm-node1 ~]# vim br0.sh#!/bin/bashbrctl addbr br0 #创建⼀个桥接⽹卡br0brctl addif br0 ens33 #将ens33⽹卡的桥接信息转到br0⽹卡ip addr del dev ens33 10.0.0.12/24 #将ens33⽹卡的ip信息删除ifconfig br0 10.0.0.12/24 up #将ens33⽹卡的ip信息这只到br0⽹卡上route add default gw 10.0.0.2 #添加⽹关[root@kvm-node1 ~]# chmod u+x br0.sh[root@kvm-node1 ~]# ./br0.sh使⽤ifocnfig查看⽹卡的ip信息,可以看到br0的地址已经变为了10.0.0.12/24[root@kvm-node1 ~]# ifconfigbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 10.0.0.12 netmask 255.255.255.0 broadcast 10.0.0.255inet6 fe80::20c:29ff:fe51:970 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:51:09:70 txqueuelen 1000 (Ethernet)RX packets 553 bytes 41723 (40.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 680 bytes 63511 (62.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet6 fe80::5505:5aa:3f96:f3f8 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:51:09:70 txqueuelen 1000 (Ethernet)RX packets 6107998 bytes 8708309251 (8.1 GiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 534420 bytes 68906654 (65.7 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:fb:b1:55 txqueuelen 1000 (Ethernet)RX packets 6685 bytes 278745 (272.2 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 6981 bytes 34351624 (32.7 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet6 fe80::fc54:ff:fe6b:5fee prefixlen 64 scopeid 0x20<link>ether fe:54:00:6b:5f:ee txqueuelen 1000 (Ethernet)RX packets 16 bytes 1650 (1.6 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 987 bytes 52236 (51.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0使⽤命令修改KVM虚拟机的信息[root@kvm-node1 ~]# virsh edit CentOS-7-x86_6469 <interface type='network'> 修改为:<interface type='bridge'> ##桥接71 <source network='default'/> 修改为:<source bridge='br0'/>修改完成后关闭虚拟机,启动虚拟机,通过VNC⼯具修改ip为10.0.0.14/24,尝试ping宿主机是否可以ping通,并通过ssh连接[root@kvm-node1 ~]# virsh shutdown CentOS-7-x86_64Domain CentOS-7-x86_64 is being shutdown[root@kvm-node1 ~]# virsh start CentOS-7-x86_64Domain CentOS-7-x86_64 started通过本地的ssh软件,尝试连接,可以连接,并且可以看到IP信息以上就是CentOS7中KVM的安装和简单管理.。
kvm实施方案KVM(Kernel-based Virtual Machine)是一种基于Linux内核的开源虚拟化解决方案,可以在一台物理服务器上同时运行多个虚拟机,提高资源利用率和灵活性。
下面给出一个KVM实施方案的简要概述,包括硬件需求、软件安装和配置、网络设置和备份策略。
硬件需求:1. 主机服务器:至少需要一台支持虚拟化扩展的服务器,如Intel的VT-x或AMD的SVM。
建议选择具有充足的CPU和内存资源的服务器,以满足虚拟机的需求。
2. 存储:可以选择本地硬盘或外部存储设备作为虚拟机的存储介质。
建议使用RAID阵列来提供数据冗余性和性能。
3. 网络设备:建议使用支持VLAN和交换机虚拟化的网络设备,以实现虚拟机之间的网络隔离和安全。
4. 其他硬件:网络适配器、电源等。
软件安装和配置:1. 操作系统:选择一种常见的Linux发行版作为主机操作系统,如Ubuntu、CentOS等,并安装KVM组件。
2. KVM组件安装:根据选择的Linux发行版,安装KVM组件及相关工具。
常用的包括libvirt、qemu-kvm等。
3. 虚拟机镜像:创建虚拟机镜像,可以选择基于文件的镜像(如qcow2格式)或基于磁盘的镜像(如LVM或块存储设备)。
4. KVM网络:配置虚拟机的网络设置,可以选择使用桥接模式、NAT模式或内部网络模式。
根据需求设置IP地址、网关等网络参数。
网络设置:1. VLAN:根据需要,划分不同的VLAN,实现不同虚拟机之间的网络隔离和安全。
使用交换机配置端口以支持VLAN,并在虚拟机中设置不同的VLAN标签。
2. 虚拟交换机:借助KVM提供的虚拟交换机功能,可以创建多个虚拟交换机,并将不同的虚拟网卡连接到不同的虚拟交换机上,实现高效的内部通信。
备份策略:1. 虚拟机镜像备份:定期对虚拟机镜像进行备份,可以使用工具如rsync、tar等进行全量或增量备份。
备份数据可以存储在本地磁盘或远程存储设备上。
anbe的kvm使用手册KVM 使用手册KVM 是一种开源的虚拟化解决方案,它允许在一台物理服务器上运行多个虚拟机。
本手册将介绍 KVM 的安装与配置,并提供一些常见问题的解决方法,以便用户可以更好地使用 KVM。
一、KVM 概述KVM 是 Kernel-based Virtual Machine 的缩写,它是基于 Linux 内核的虚拟化技术。
KVM 利用处理器的虚拟化特性,能够实现高效的虚拟机运行效果。
与其他虚拟化技术相比,KVM 具有更低的性能开销和更好的兼容性。
二、KVM 安装1. 安装依赖项在安装 KVM 之前,需要确保系统已经安装了必要的依赖项。
使用以下命令安装相应的软件包:```sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager```2. 启用硬件虚拟化支持确认处理器支持硬件虚拟化,并在 BIOS 中启用相关选项。
在大多数计算机中,这个选项被称为 Intel VT 或者 AMD-V。
3. 创建虚拟网络使用 bridge-utils 工具创建一个虚拟网络,使得虚拟机可以与物理网络进行通信。
下面是创建虚拟网络的命令:```sudo brctl addbr virbr0sudo ip addr add 192.168.122.1/24 dev virbr0sudo ip link set dev virbr0 upsudo ip route add 192.168.122.0/24 dev virbr0```三、KVM 配置1. 创建虚拟机使用 virt-manager 工具创建虚拟机,依次选择虚拟机操作系统、虚拟硬盘大小、内存大小等参数,并按照向导完成虚拟机的创建。
2. 虚拟机网络配置为虚拟机分配网络连接,选择从虚拟网络中获取 IP 地址,或者手动设置 IP 地址,以便虚拟机可以访问网络资源。
Ubuntu1804安装KVMUbuntu1804 安装 KVMKVM(Kernel-based Virtual Machine,基于内核的虚拟机)是⾯向 Linux 系统的开源虚拟化解决⽅案,KVM 使⽤ Intel VT 或 AMD-V 等虚拟化扩展提供虚拟化功能。
当我们在Linux 机器上安装 KVM 时,它都会通过加载(基于 Intel 的 kvm-intel.ko 或基于 AMD 的 kvm-amd.ko)内核模块将其转换为 Hypervisor。
KVM 允许我们安装和运⾏(基于 Windows 和 Linux的)多个虚拟机,并通过 virt-manager 图形⽤户界⾯或 virt-install&virsh cli 命令创建和管理基于 KVM 的虚拟机。
每⼀个客户虚拟机都拥有⾃⼰的操作系统和专⽤的虚拟硬件,例如 CPU(s), 内存, ⽹络接⼝和存储。
KVM 本⾝不执⾏任何硬件模拟,需要⽤户空间程序通过 /dev/kvm 接⼝设置⼀个客户机虚拟服务器的地址空间,向它提供模拟 I/O,并将它的视频显⽰映射回宿主的显⽰屏。
⽬前这个应⽤程序是 QEMU。
Linux 上的⽤户空间、内核空间和虚机:Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、⽹卡、I/O 设备驱动等),被 KVM 置于⼀种受限制的 CPU 模式下运⾏。
KVM:运⾏在内核空间,提供 CPU 和内存的虚级化,以及客户机的 I/O 拦截。
Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理。
QEMU:修改过的被 KVM 虚机使⽤的 QEMU 代码,运⾏在⽤户空间,提供硬件 I/O 虚拟化,通过 IOCTL /dev/kvm 设备和 KVM 交互。
KVM 是实现拦截虚机的 I/O 请求的原理:现代 CPU 本⾝实现了对特殊指令的截获和重定向的硬件⽀持,甚⾄新硬件会提供额外的资源来帮助软件实现对关键硬件资源的虚拟化从⽽提⾼性能。
一、查看cpu是否支持kvmKVM 需要有CPU 的支持(Intel vmx或AMD svm),在安装KVM 之前检查一下CPU 是否提供了虚拟技术的支持:egrep '(vmx|svm)' --color=always /proc/cpuinfo如果输出的结果包含VMX,它是Intel处理器虚拟机技术标志:如果包含SVM,它是AMD 处理器虚拟机技术的标志,如果你什么都没有得到,那应你的系统并没有支持虚拟化的处理,不能使用KVM,另处linux发行版本必须在64bit环境中才能使用KVM。
二、BIOS中开启Virtual Technolege在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术),不同主板所在菜单不同例如:华硕主板开启虚拟化Intel主板开启虚拟化三、安装KVM服务器安装KVM 虚拟机和安装其他服务器一样,在选择操作系统类型是选择“Virtual Host”即可,其它步骤可参考“AiSchool平台安装指导”中操作系统安装部分。
如果使用此服务器管理其他KVM 主机,需要额外安装openssh-askpass软件包。
注:(已安装好的操作系统,里面有重要资料无法重新安装的可以在已有的系统上安装如下软件包yum install kvmkmod-kvmqemukvm-qemu-imgvirt-viewer virt-manager libvirtlibvirt-python python-virtinstopenssh-askpass或者如下图,安装需要的组四、检查kvm模块是否安装使用以下命令显示两个模块则表示安装完成[root@vm76 ~]# lsmod | grepkvmkvm_intel54285 0kvm 333172 1 kvm_intel以上表明安装完成五、配置宿主机1、关闭防火墙(如不用)chkconfigiptables offserviceiptables stop2、执行如下命令打开文件selinux配置文件。
KVM使用说明范文KVM,即Kernel-based Virtual Machine,是一种用于Linux平台的开源虚拟化架构。
它允许用户在Linux操作系统上创建和管理虚拟机,将一台物理服务器分割成多个独立的虚拟机,每个虚拟机可以运行自己的操作系统和应用程序。
KVM是基于Linux内核的模块化架构,利用硬件虚拟化支持来提供高性能的虚拟化解决方案。
一、KVM安装配置1.硬件要求在安装KVM之前,首先需要确保硬件满足以下条件:- 64位的处理器,支持硬件虚拟化扩展(如Intel的VT-x或AMD的AMD-V);-至少4GB的内存;-虚拟机使用的磁盘空间和网络带宽的要求根据具体需求确定。
2.操作系统要求KVM可以在多种Linux发行版上运行,包括Red Hat Enterprise Linux、CentOS、Ubuntu等。
3.安装KVM使用以下命令可以在Ubuntu上安装KVM:```sudo apt updatesudo apt install qemu-kvm libvirt-daemon-system virtinst bridge-utils```4.配置网络桥接在KVM中,可以选择使用桥接网络或NAT网络。
桥接网络可以使虚拟机直接连接到宿主机所连接的网络上,提供更好的网络性能和灵活性。
要配置网络桥接,首先需要创建一个网桥,可以使用以下命令:```sudo brctl addbr br0sudo brctl addif br0 eth0```其中,eth0是物理网卡的名称。
```auto br0iface br0 inet dhcpbridge_ports eth0bridge_stp offbridge_fd 0bridge_maxwait 0```重启网络服务以使配置生效:```sudo systemctl restart networking```5.创建和管理虚拟机使用virt-manager工具可以方便地创建和管理虚拟机,该工具提供了图形化的界面。
一,什么是KVMKVM包括很多部件:首先,它是一个Linux内核模块(现在包括在主线中)用于转换处理器到一种新的用户(guset)模式。
用户模式有自己的ring状态集合,但是特权ring0的指令会陷入到管理器(hypervisor)的代码。
由于这是一个新的处理器执行模型,代码不需要任何的改动。
除了处理器状态转换,这个内核模块同样处理很小一部分低层次的模拟,比如MMU注册(用于管理VM)和一部分PCI模拟的硬件。
在可预见的未来,Qemu团队专注于硬件模拟和可移植性,同时KVM团队专注于内核模块(如果某些部分确实有性能提升的话,KVM会将一小部分模拟代码移进来)和与剩下的用户空间代码的交互。
kvm-qemu可执行程序像普通Qemu一样:分配RAM,加载代码,不同于重新编译或者调用calling KQemu,它创建了一个线程(这个很重要);这个线程调用KVM 内核模块去切换到用户模式,并且去执行VM代码。
当遇到一个特权指令,它从新切换会KVM内核模块,该内核模块在需要的时候,像Qemu线程发信号去处理大部分的硬件仿真。
这个体系结构一个比较巧妙的一个地方就是客户代码被模拟在一个posix线程,这允许你使用通常Linux工具管理。
如果你需要一个有2或者4核的虚拟机,kvm-qemu创建2或者4个线程,每个线程调用KVM内核模块并开始执行。
并发性(若果你有足够多的真实核)或者调度(如果你不管)是被通用的Linux调度器,这个使得KVM代码量十分的小当一起工作的时候,KVM管理CPU和MEM的访问,QEMU仿真硬件资源(硬盘,声卡,USB,等等)当QEMU单独运行时,QEMU同时模拟CPU和硬件。
二,安装配置KVM查看复制打印?1.# yum -y install kvm python-virtinst libvirt bridge-utils \2.virt-manager qemu-kvm-tools virt-viewer virt-v2v qemu-kvm tunctl3.4.[root@localhost ~]#vim /etc/sysconfig/selinux //关闭selinux5.6.SELINUX=disabled7.8.[root@localhost ~]#reboot9.10.[root@localhost ~]# cat /etc/redhat-release11.CentOS release 6.5 (Final) //centos 6.5三,启动libvirtd查看复制打印?1.[root@localhost ~]# /etc/init.d/libvirtd start //启动2.3.[root@localhost ~]# ps -e|grep libvirtd //查看是否启动4.19458 ? 00:00:01 libvirtd四,查看kvm模块是否正确加载1.[root@localhost ~]# lsmod |grep kvm2.kvm_intel 54285 03.kvm 333172 1 kvm_intel五,配置网络桥接查看复制打印?1.[root@localhost network-scripts]# cat ifcfg-eth0 |awk '{if($0 !~ /^$/ && $0 !~/^#/) {print $0}}'2.DEVICE=eth03.TYPE=Ethernet4.ONBOOT=yes5.BOOTPROTO=none6.BRIDGE=br07.IPV6INIT=no8.HWADDR=F8:BC:12:60:99:869.10.[root@localhost network-scripts]# cat ifcfg-br0 |awk '{if($0 !~ /^$/ && $0 !~ /^#/){print $0}}'11.DEVICE=br012.TYPE=Bridge13.ONBOOT=yes14.BOOTPROTO=static15.IPADDR=192.168.10.10316.GATEWAY=192.168.10.1MASK=255.255.255.018.DNS1=192.168.10.119.IPV6INIT=no20.DELAY=0重启网络,发现报以下错误:查看复制打印?1.[root@localhost network-scripts]# /etc/init.d/network start2.弹出环回接口: [确定]3.弹出界面 eth0:错误:激活连接失败:Master connection not found or invalid4.[失败]5.弹出界面 br0:错误:激活连接失败:Failed to determine connection's virtual interfacename6.[失败]7.RTNETLINK answers: File exists8.RTNETLINK answers: File exists9.RTNETLINK answers: File exists解决办法:查看复制打印?1.[root@localhost rules.d]# service NetworkManager stop //这个关闭掉就行2.停止 NetworkManager 守护进程: [确定]3.4.[root@localhost rules.d]# service network restart5.正在关闭接口 br0: [确定]6.正在关闭接口 eth0: [确定]7.关闭环回接口: [确定]8.弹出环回接口: [确定]9.弹出界面 eth0: [确定]10.弹出界面 br0: Determining if ip address 192.168.10.103 is already in use for devicebr0...11.[确定]如果以下内容就说明配置成功了:查看复制打印?1.[root@localhost network-scripts]# ifconfig2.br0 Link encap:Ethernet HWaddr F8:BC:12:60:99:86 //有这个就OK3.inet addr:192.168.10.103 Bcast:192.168.10.255 Mask:255.255.255.04.inet6 addr: fe80::fabc:12ff:fe60:9986/64 Scope:Link5.UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:16.RX packets:36416 errors:0 dropped:0 overruns:0 frame:07.TX packets:28648 errors:0 dropped:0 overruns:0 carrier:08.collisions:0 txqueuelen:09.RX bytes:13151508 (12.5 MiB) TX bytes:5962449 (5.6 MiB)10.11.eth0 Link encap:Ethernet HWaddr F8:BC:12:60:99:8612.inet6 addr: fe80::fabc:12ff:fe60:9986/64 Scope:Link13.UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:114.RX packets:1360857 errors:0 dropped:0 overruns:0 frame:015.TX packets:902173 errors:0 dropped:0 overruns:0 carrier:016.collisions:0 txqueuelen:100017.RX bytes:1913592871 (1.7 GiB) TX bytes:72387220 (69.0 MiB)18.19.lo Link encap:Local Loopback20.inet addr:127.0.0.1 Mask:255.0.0.021.inet6 addr: ::1/128 Scope:Host22.UP LOOPBACK RUNNING MTU:16436 Metric:123.RX packets:176842 errors:0 dropped:0 overruns:0 frame:024.TX packets:176842 errors:0 dropped:0 overruns:0 carrier:025.collisions:0 txqueuelen:026.RX bytes:880282316 (839.5 MiB) TX bytes:880282316 (839.5 MiB)27.28.virbr0 Link encap:Ethernet HWaddr 52:54:00:1A:B6:F129.inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.030.UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:131.RX packets:0 errors:0 dropped:0 overruns:0 frame:032.TX packets:37 errors:0 dropped:0 overruns:0 carrier:033.collisions:0 txqueuelen:034.RX bytes:0 (0.0 b) TX bytes:4651 (4.5 KiB)35.36.[root@localhost network-scripts]# brctl show37.bridge name bridge id STP enabled interfaces38.br0 8000.f8bc12609986 no eth0 //有这个就OK39.virbr0 8000.5254001ab6f1 yes virbr0-nic六,用virt-install生成.img文件1.# virt-install --name=ubuntu1 \2.--ram 1024 --vcpus=1 \3.--disk path=/root/ubuntu1.img,size=10 \4.--accelerate --cdrom /root/ubuntu-14.04-desktop-amd64.iso \5.--graphics vnc,port=5920 --network bridge=br0如果报以下错误:1.could not open disk image : Permission denied解决方法:查看复制打印?1.[root@localhost ~]# cat /etc/libvirt/qemu.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/){print $0}}'2.vnc_listen = "0.0.0.0"er = "root"//去掉注释4.group = "root"//去掉注释5.dynamic_ownership = 0 //去掉注释,把1改为0这一步做完,系统文件就好了。
Linux虚拟化——KVM安装步骤1、先查看cpu是否支持kvmKVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持:egrep '(vmx|svm)' --color=always /proc/cpuinfo如果输出的结果包含VMX,它是Intel处理器虚拟机技术标志:如果包含SVM,它是AMD 处理器虚拟机技术的标志,如果你什么都没有得到,那应你的系统并没有支持虚拟化的处理,不能使用KVM,另处linux发行版本必须在64bit环境中才能使用KVM。
2、BIOS中开启Virtual Technolege在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术),不同主板所在菜单不同例如:华硕主板开启虚拟化Intel主板开启虚拟化3、安装KVM服务器安装KVM 虚拟机和安装其他服务器一样,在选择操作系统类型是选择“Virtual Host”即可,其它步骤可参考“AiSchool平台安装指导”中操作系统安装部分。
如果使用此服务器管理其他KVM 主机,需要额外安装openssh-askpass 软件包。
注:(已安装好的操作系统,里面有重要资料无法重新安装的可以在已有的系统上安装如下软件包yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst openssh-askpass或者如下图,安装需要的组4、检查kvm模块是否安装使用以下命令显示两个模块则表示安装完成[root@vm76 ~]# lsmod | grep kvmkvm_intel 54285 0kvm 333172 1 kvm_intel以上表明安装完成5、配置宿主机1、关闭防火墙(如不用)chkconfig iptables offservice iptables stop2、执行如下命令打开文件selinux配置文件。
基于鲲鹏处理器KVM安装部署
概念
KVM
KVM(Kernel-Based Virtual Machines)是一个基于Linux内核的虚拟化技术, 可以直接将Linux内核转换为Hypervisor (系统管理程序)从而使得Linux内核能够直接管理虚拟机, 直接调用Linux内核中的内存管理、进程管理子系统来管理虚拟机
QEMU
独立的虚拟化解决方案,后演变为QEMU-KVM。
在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建,管理各种虚拟硬件,QEMU将KVM整合了进来
libvirtd
一个针对各种虚拟化平台的虚拟机管理的API库,一些常用的虚拟机管理工具如virsh(类似vim编辑器),virt-install,virt-manager等和云计算框架平台(如OpenStack等)都在底层使用libvirt提供的应用程序接口
Qemu KVM安装步骤一.安装前准备
二.安装QEMU, libvirt 三.配置物理机网桥四.虚拟机安装
五.配置虚拟机网络六.虚拟机管理
七.虚拟机网卡直通(可选)八.虚拟机磁盘直通(可选)九.常见问题
安装前准备
一.yum源配置
1.外网环境无需配置,运行yum会自动选择最近的镜像。
2.无外网环境,配置本地yum源
①本地系统镜像挂载
②新建本地yum配置文件
二.yum源验证
运行yum repolist可以看到包数量
安装QEMU, libvirt
一.安装KVM 及其关联包
1.yum install -y qemu-kvm qemu-kvm-ma qemu-img virt-manager libvirt
libvirt-python libvirt-client virt-install virt-viewer bridge-utils AAVMF 二.升级QEMU(可选4.0.0以上)
1../configure&&make -j 64&&make -j 64 install
三.启动并启用libvirtd服务
1.systemctl start libvirtd.service
2.systemctl enable libvirtd.service
四.检查libvirt服务启动状态
1.systemctl status libvirtd.service
五.virt-manager(需要升级libvirt至4.7.0以上)
六.检验版本
1.virsh version
配置物理机网桥
一.libvirtd自动创建默认网桥virbr0
二.创建网桥并配置新建网桥绑定的物理网卡(可选)
1.brctl addbr br1
2.vi /etc/sysconfig/network-scripts/ifcfg-br0
3.vi /etc/sysconfig/network-scripts/ifcfg-enp125s0f1三.查看虚拟网桥
1.brctl show
一.创建存储池
1.mkdir-p /home/kvm/images
2.chown root:root/home/kvm/images
3.chmod755 /home/kvm/images
4.virsh pool-define-as StoragePool--type dir--target /home/kvm/images
5.virsh pool-build StoragePool
6.virsh pool-start StoragePool
7.virsh pool-autostart StoragePool
二.查看存储池
1.virsh pool-info StoragePool
2.virsh pool-list
一.创建卷并检查
1.virsh vol-create-as --pool StoragePool--name test.img--capacity 50G --allocation 1G --
format qcow2
2.virsh vol-info /home/kvm/images/test.img
二.创建虚拟机
1.virt-install --name=test --vcpus=8 --ram=8192 --disk
path=/home/kvm/images/test.img,format=qcow2,size=50,bus=virtio--cdrom
/tmp/CentOS-7-aarch64-Everything-1810.iso --network bridge=virbr0,model=virtio--force --autostart
一.安装虚拟机
1.命令行方式安装,解决所有带“!”的项后按“b”执行安装
虚拟机网络配置
一.安装虚拟机时配置网络二.安装完后手动配置
虚拟机管理
一.查看、关机、启动、暂停、恢复、重启、删除二.更改配置
1.virsh edit test
三.克隆
1.virt-clone -o test -n clone-test --auto-clone
一.物理机BIOS配置开启SMMU
二.开启物理机iommu
1.启动参数/etc/default/grub添加iommu.passthrough=1三.生成新grub
1.grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
一.编辑虚拟机文件添加直通网卡
1.virsh edit test
二.最后一行的devices前加上以下信息
<hostdev mdoe=‘subsystem’ type=‘pci’ managed=‘yes’>
<source>
<address domain=‘0x0000’ bus=‘0x06’ slot=‘0x00’ function=‘0x0’> </source>
<address type=‘pci’ domain=‘0x0000’ bus=‘0x02’ slot=‘0x00’ function=‘0x0’> </hostdev>
一.物理机磁盘为JBOD或直通
1.修改硬盘的模式为JBOD
二.添加直通盘信息
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sdb'/>
<target dev='sdb' bus='scsi'/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk>
常见问题
一.图形化界面无法打开virt-manger管理虚拟机
1.CentOS默认libvirt版本为4.5.0存在Bug,升级libvirt至4.7.0及以上
二.1822网卡PF直通模式后占用CPU资源多
1.升级1822网卡固件及驱动。