-
我目前手上有一个棘手的需求,需要在服务器上利用KVM运行32位的Linux操作系统。通过搜索网络我发现许多64位的ARM处理器已经不具备32位的支持,或者仅仅在个别EL下支持32位。我正在寻找具备EL1和EL0下的32位支持、且具备虚拟化扩展的64位ARM处理器。请问有使用过搭载鲲鹏916和鲲鹏920处理器的服务器的同行吗?鲲鹏916和鲲鹏920是否具备EL0和EL1下的32位支持?
-
KVM实际是Linux内核提供的虚拟化 架构,可将内核直接充当Hypervisor来使用。KVM包含一个内核模块kvm.ko用来实现核心虚拟化功能,以及一个和处理器强相关的模块如kvm-amd.ko。KVM本身不实现任何模拟,仅仅是暴露了一个/dev/kvm接口,这个接口可被宿主机用来主要负责vCPU的创建,虚拟内存的地址空间分配,vCPU寄存器的读写以及vCPU的运行。有了KVM以后,Guest OS的CPU指令不用再经过QEMU来转译便可直接运行,大大提高了运行速度。KVM实现了CPU和内存的虚拟化,但KVM并不能模拟其他设备,还必须有个运行在用户空间的工具才行。KVM的开发者选择了比较成熟的开源虚拟化软件QEMU来作为这个工具,QEMU 模拟IO设备(网卡,磁盘等),对其进行了修改,最后形成了QEMU-KVM。在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建、管理各种虚拟硬件,QEMU将KVM整合了进来,通过/ioctl调用/dev/kvm,从而将CPU指令的部分交给内核模块来做,KVM实现了CPU和内存的虚拟化,但KVM不能虚拟其他硬件设备,因此QEMU还有模拟IO设备(磁盘、网卡、显卡等)的作用,KVM加上QEMU后就是完整意义上的服务器虚拟化。建议的版本表1 建议的版本展开软件建议版本QEMU(CentOS)qemu-2.12.0及以上版本libvirt(CentOS)libvirt-4.5.0及以上版本QEMU(openEuler 20.03 LTS SP1)qemu-4.1.0及以上版本libvirt(openEuler 20.03 LTS SP1)libvirt-6.2.0及以上版本对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器的性能。展开BIOS配置项选项含义建议配置值修改路径SRIOV启用或禁用Single Root Input/Output Virtualization(SRIOV)。EnabledBIOS > Advanced > PCIe Config > SRIOVSupport Smmu启用或禁用SMMU功能。EnabledBIOS > Advanced > MISC Config > Support Smmu 按照上表推荐的BIOS配置项,配置操作步骤如下:重启服务器,进入BIOS设置界面。开启SRIOV。在BIOS中,依次选择“Advanced > PCIe Config > SRIOV”,设置为Enabled。开启SMMU。须知此优化项只在虚拟化场景使用,非虚拟化场景需关闭。在BIOS中,依次选择“Advanced > MISC Config > Support Smmu”,设置为Enabled。按F10保存BIOS设置,并重启服务器。安装虚拟化相关组件更新时间:2024/12/27需已配置本地源后或外网可用的情况下进行安装。CentOS和openEuler两种操作系统所需组件不完全相同,请根据实际需求进行安装。CentOS在CentOS中安装虚拟化相关组件。 yum -y install qemu* libvirt* AAVMF virt-installopenEuler获取virt-manager源码。 git clone https://gitee.com/src-openeuler/virt-manager.git -b openEuler-20.03-LTS-SP1编译virt-manager并安装。进入源码目录。 virt-manager安装必要软件包。m install rpm-build yum-builddep virt-manager.spec创建编译目录。 mkdir -p ~/rpmbuild/SOURCES将源文件拷贝至编译目录。 cp * ~/rpmbuild/SOURCES编译。 rpmbuild -bb virt-manager.spec安装生成的RPM包。 yum install ~/rpmbuild/RPMS/noarch/*.rpm安装虚拟化相关组件。 yum -y install qemu libvirt openssl-devel numactl numactl-devel libcap-ng-devel traceroute ipe创建第一个虚拟机启动libvirtd服务并设置开机自启。ystemctl start libvirtdsystemctl enable libvirtd创建存储池。创建存储池目录,配置目录权限。mkdir -p /home/kvm/imageschown root:root /home/kvm/imageschmod 755 /home/kvm/images定义一个存储池并绑定目录,建立基于文件夹的存储池、激活、设置开机启动。virsh pool-define-as StoragePool --type dir --target /home/kvm/imagesvirsh pool-build StoragePoolvirsh pool-start StoragePoolvirsh pool-autostart StoragePool查看存储池信息。virsh pool-info StoragePoolvirsh pool-list创建虚拟机磁盘空间。创建卷。创建名称为1.img,所在存储池为StoragePool,容量为50G,初始分配1G,文件格式类型为qcow2,硬盘文件的格式必须为qcow2格式。virsh vol-create-as --pool StoragePool --name 1.img --capacity 50G --allocation 1G --format qcow2 查看卷信息。virsh vol-info /home/kvm/images/1.img创建虚拟机。创建虚拟机vm1,虚拟机分配4个CPU、8G内存,使用1.img作为磁盘空间,将iso文件拷贝至/xxx(非/root)路径下,安装CentOS7.6系统。 brctl addbr br1virt-install --name=vm1 --vcpus=4 --ram=8192 --disk path=/home/kvm/images/1.img,format=qcow2,size=50,bus=virtio --cdrom /xxx/CentOS-7-aarch64-Everything-1810.iso --network bridge=br1,model=virtio --force --autostart 安装虚拟机的操作系统。配置所有带有“!”的选项,输入选项对应的序号进入配置,按照指示完成配置,然后按"b"开始安装。系统安装完成后,进入登录界面。
-
请教各位前辈,之前在rtk3588上测试的cuttlefish安卓虚拟机运行正常,现在移植到了Taishan服务器中,编译过程没出现什么问题,但是启动模拟器无法启动crosvm和qemu下均无法启动,重新编译了很多很多次都是不行,想请教是CPU不支持还是其他什么可能出现的原因呢OS : Ubuntu Server 20.04
-
Cisco 的网络虚拟化联姻VMware的服务器虚拟化,似乎将成为云数据中心的标准打包方案,二者的未来看上去很美。然而,SDN的出现改变了数据中心网络的市场格局。Nicin的NVP平台是最早的基于SDN的数据中心网络解决方案。Nicira是SDN的骨灰级选手推出了 OpenFlow和OVS,该公司三位最主要的创始人MartinCasado、Nick McKeown和 Scott Shenker是业界公认的SDN奠基者。NVP所选的技术架构当时让人眼前一亮,使用 Overlay构建纯软件的虚拟化网络,SDN只负责网络边缘的控制,而不会对现有网络产生任何影响,可以说是现有数据中心网络向SDN演进的最佳形态。VMware看到了NVP在商业上具备的巨大价值,一旦将NVP集成到自己的虚拟化解决方案中,那么今后便有机会在网络虚拟化上与Cisco掰一掰手腕,从而开拓自己从未有机会触碰的市场。而Cisco同样敏感地意识到了NVP带来的挑战,这种纯软件的SDN解决方案对于 Nexus系列交换机在数据中心市场的布局将形成巨大的挑战,一旦VMware收了 NVP,那么肯定要吃不少苦果子,但如果自己拿到NVP,那么操作的空间可就大得多了--既可以选择温和地推进NVP,等到Nexus赚的盆满钵满,再迅速通过NVP来占领数据中心的 SDN市场。当然,也可以内部消化掉NVP,坐等SDN自生自灭。于是争端一触即发,2012年年中,双方展开了对Nicira的收购大战。从最后的结果来看,VMware以12.5亿美元收购了Nicira。VMware收购Nicira后,基于NVP的原型推出了自己的SDN网络虚拟化平台NSX,高调进军数据中心网络市场,也宣告着放弃了与Cisco在网络领域的合作关系。当然,Cisco也不会坐以待毙,于2013年以8.64亿美元收购了SDN创业公司Insieme,同时发布了ACI的架构与产品。此后,NSX和ACI在数据中心展开了正面的交锋,数据中心SDN也正式走上了商用的道路。不过,鉴于NVP选择开源的技术是其成功的先决条件之一,于是NSX采用了“两条腿走路”的策略:NSX-V将NVP的技术特征嫁接到了VDS上,将其网络虚拟化与服务器虚拟化的产品共同交付;NSX-MH则保留了NVP的开源基因,仍然使用OVS和 OpenFlow/OVSDB支撑SDN架构,可以服务于KVM、XEN等非VMware的服务器虚拟化产品。2016年5月,VMware推出NSX-T,NSX-T是对NSX-MH的一次重大的更新,旨在提供更好的Hypervisor Agnostic 特性。
-
vmware 迁移 22.03 LTS SP2 kvm , 桌面 Xfce 启动虚拟机提示错误 ! 无法完成安装:'不支持的配置:QEMU 的这个版本不支持 USB 重新定向' Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/create.py", line 2124, in _do_async_install guest.installer_instance.start_install(guest, meter=meter) File "/usr/share/virt-manager/virtinst/installer.py", line 413, in start_install domain = self._create_guest( File "/usr/share/virt-manager/virtinst/installer.py", line 358, in _create_guest domain = self.conn.createXML(install_xml or final_xml, 0) File "/usr/lib64/python3.9/site-packages/libvirt.py", line 4062, in createXML if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self) libvirt.libvirtError: 不支持的配置:QEMU 的这个版本不支持 USB 重新定向
-
请问鲲鹏920支持 KVM嵌套虚拟化吗,因为想利用KVM嵌套虚拟化,创建KVM虚拟机,然后在里面继续创建嵌套的KVM虚拟机,这样我可以对中间的虚拟机进行内核修改等操作,这样不影响系统运行,不需要重装服务器操作系统,在X86平台上,我们可以用VMWare workstation,里面创建虚拟机kvm_intel也可以开启嵌套虚拟化。我的环境:鲲鹏920+openEuler22.03 SP2 aarch64版。目前创建的虚拟机ubuntu 22.04 server版和openEuler22.03 SP2 aarch64版,里面均没有/dev/kvm,表明不支持KVM虚拟化,我想问以下几个问题,请各位大佬解答一下,鲲鹏920是基于ARM V8.几架构,鲲鹏是否支持嵌套虚拟化,我查资料时,发现ARM V8.4支持NEVE嵌套虚拟化:ARM嵌套虚拟化扩展(NEVE: Nested Virtualization Extensions for ARM) — Cloud Atlas 0.1 文档 (cloud-atlas.readthedocs.io)如果支持,该如何开启需要配置固件UEFI,还是需要重新配置内核,因为ARM下的KVM已经没有KVM模块了,lsmod | grep kvm是没有的。
-
介绍:虚拟化通常是云计算的基础。简单的说,虚拟化可以满足在一台物理的服务器上可以跑多台虚拟机而,虚拟机共享服务器的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的,KVM是基于linux内核开发实现的,而kvm内核中有一个模块叫KVM.ko用于管理虚拟CPU和内存,在云计算当中还是非常常见的,相比openstack来讲,kvm也是有它的优点所在。步骤:先分配1G内存的大小启动客户机:代码:qemu-system-x86 anuo.img -m 1G -enable -kvm在客户机中查看内存相关信息:分配2G内存的大小启动客户机代码:qemu-system-x86_64 anuo.img -m 2G -enable -kvm在客户机中查看内存的相关信息:注意比较二者之间的差异,包括内存的变化等等。查看机器是否支持 eptlvpid代码:cat/proc/cpuinfo |“eptlvpid”查看模块支持情况内存过载时用到的三种方法:内存交换(swapping):用硬盘空间来弥补内存的不足。气球(ballooning):通过驱动实现。页共享(page sharing):多个扩展页使用相同的内存空间。比较启动客户机前后的内存使用情况:总结:kvm虚拟化虽然比不上openstack的应用面广,但是支持普通的小微企业还是分成耐用的,操作流程也很清晰,欢迎大家一起来探讨。
-
在华为云官网创建鲲鹏BMS(选择centos操作系统,只能选择centos7.6版本),然后在系统中部署kvm虚拟化(qemu-kvm2.12),启动kvm虚拟机,然后打开vnc画面,始终显示Guest has not initialized the display (yet),如下图:补充说明:查看BMS的CPU型号为kunpeng920,另外在我公司本地环境同样用搭载kunpeng920的TaiShan200服务器+openEuler20.3 部署qemu-4.1。
-
文章简介:通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机的工作效率文章步骤:了解网络配置的基本参数。使用 qemu模拟网卡。:配置网络环境。实验前准备安装virt-manager环境。创建了宿主机实验流程(1)基础配置查看qemu支持的网络的相关模型参考命令 : qemu-system-x86_64 -net nic,model=?在管理界面查看网卡的相关信息: 参考命令 :(qemu)info qtree在宿主机中启动一台客户机并配置好相应的网络参数[ 参考命令: qemu-system-x86_64 -m 1024 rhel7.img -net nic,vlan=0,macaddr=52:54:00:12:34:22,model=e1000,addr=08 –net user 查看网卡的信息 参考命令:ethtool -i ens8在管理界面查看网络信息参考命令:(qemu) info block实验(2)配置 bridge模式宿主机实现如下操作:配置网络记录IP地址和网关 IP地址= 192.168.232.168 (参考命令:ifconfig)网关= 192.168.232.2 创建网桥的配置文件进入到存放网卡配置文件目录:(参考命令:/etc/sysconfig/network-scripts创建网桥的配置文件(vim ifcfg-br0)编写网桥配置文件:STP=yes TYPE=BridgeDEVICE=br0NAME=br0ONBOOT=yes BOOTPROTO=staticIPADDR=192.168.232.141GATEWAY=192.168.232.2NETMASK=255.255.255.0DNS1=114.114.114.114DNS2=8.8.8.8修改网卡的配置文件进入到存放网卡配置文件目录:(参考命令:/etc/sysconfig/network-scripts备份配置文件 (参考命令:cp ifcfg-ens33 ifcfg-ens33bak )打开配置文件 (参考命令:vim ifcfg-ens33)修改配置文件的内容:DEVICE=ens33ONBOOT=yesBRIDGE=br0TYPE=EthernetNAME=ens33重新启动libvirtd 和网络服务参考命令:systemctl restart libvirtd systemctl restart network打开virt-manger工具 参考命令:virt-manager选择客户机-打开控制台-添加桥接网卡重启网络服务:(参考命令:systemctl restart network)启动客户机查看网卡信息,给出自动获得的ip 地址。(参考命令:ip a)新生成的网卡名称: link/ens33 获得的IP地址为: 192.168.234.167 测试网络的联通性:(参考命令: ping www.baidu.com)结束语:通过eqmu了解网络配置的基本参数配置信息如何使用 qemu模拟网卡和通过配置桥连接网络环境实现对网卡的配置让客户机上网本次实验对网络配置有了更深刻的了解比如在虚拟机的客户机上通过qemu来调配bridge的方式查看当前网络的配置状态 让客户机能上网这些操作
-
实验步骤:(以下内容为简单示例,大家要按照实际的做实验的步骤填写)1. 使用一个镜像文件启动一个客户机(默认从第一块硬盘 启动2. 客户机中:查看磁盘的相关信息:班级3. 客户机中管理界面查看存储的相关信息:班级4. 从光驱启动客户机5. 设置启动顺序,并且弹出启动菜单6. 使用 drive -file 启动客户机,设置 snapshot=on 参数,系统断电后重启,数据恢复到最初的状态。(1)新建 1 个文件(2)关机班级(3)重新启动(4)查看新建的文件是否存在。Vish 网络管理命令显示接口信息显示libvirt 管理的存储池查询存储池的基本信息根据uuid 查询存储池的名称根据名称查询存储池的uuid编辑一个存储池的XML文件关闭一个存储池查询一个存储池中存储卷的列表查询一个存储卷的路径实验结果及分析:从 kvm 的几个基本操作出发实现对 kvm 虚拟化用 qemu-img 管理操作一条命令的上下 逻辑也非常的清晰比如说再创建快照时我们首先要 ll 查看客户机的信息 使用snapshot 命令创建一 个快照并查看是否创建成功 回到客户机删除创建的 txt 文件并查看是否删除成功随后要 shudown 重启操作并再终端输入 snapshot-a 的命令 重启客户机后发现被删除的文件被恢复了 对于基本命令 的逻辑操作还是非常重要的也要非常重视才行也包含了对virsh工具的基本命令解析如上所示 内容丰富 very good!
-
一直异常关机,报错如图 655516
-
虚拟机一直异常关机 655507
-
虚拟机一直异常关机 655507
-
更多介绍:https://support.huaweicloud.com/instg-kunpengcpfs/kunpengcpfs_03_0002.html操作系统centos7.6 第一步:关闭防火墙systemctl stop firewalldsystemctl disable firewalld关闭selinuxvim /etc/sysconfig/selinux目前临时关闭,下次重启后会自动关闭setenforce 0第二步:在CentOS 7.6中安装虚拟化相关组件。yum -y install qemu* libvirt* AAVMF virt-install 启动libvirtd服务systemctl start libvirtd重启libvirt服务。service libvirtd restart查看版本信息virsh version 第一种方式:图形的形式安装GuestOS打开virt-manager 第二种安装方式:命令行方式安装虚拟机的配置文件存储的介质 根据配置文件创建虚拟机1、需要有磁盘配置文件cp vm1.img vm2.img或者cp vm1.img vm2.cqow22、需要有配置文件cp vm1.xml vm2.xml3、配置文件需要修改必要的内容注意:mac地址只能修改后面三段4、创建虚拟机virsh define /etc/libvirt/qemu/vm2.xml5、启动systemctl restart libvirtd 6、宿主机开启路由转发vim /etc/sysctl.conf添加如下内容net.ipv4.ip_forward=1使配置文件生效sysctl -p为虚拟机扩展另外一个磁盘方法一:通过图形界面启动虚拟机,登录验证能正常挂载显示。移除磁盘方法二:通过命令方式:第一步:修改虚拟机对应的配置文件vim /etc/libvirtd/qemu/vm1.xml第二步:创建新的空磁盘卷:qemu-img create –f qcow2 /var/lib/libvirt/images/vm1-1.qcow2 2G第三步:重新定义虚拟机的配置文件:virsh define /etc/libvirtd/qemu/vm1.xml第四步:启动虚拟机登录验证第三部分:KVM 必须要配置一个目录当做存储磁盘镜像(存储卷)的目录,我们称这个目录为存储池。默认的存储池:/var/lib/libvirt/images/存储池的管理创建基于文件夹的存储池(目录)mkdir –p /data/vmfs定义存储池与其目录virsh pool-define-as vmdisk --type dir -- target /data/vmfs创建已经定义的存储池virsh pool-build vmdisk查看已经定义的存储池,存储池不激活没法使用virsh pool-list --all激活并自动启动已定义的存储池virsh pool-start vmdiskvirsh pool-autostart vmdisk 这里vmdisk存储池已经创建好了,可以直接在这个存储池中创建虚拟磁盘镜像了。在存储池中创建虚拟机存储卷virsh vol-create vmdisk vm3.qcow2 15G --format qcow2 网络管理brctl show查看有多少个虚机交换机把虚拟机交互机上的vnet网卡删掉brctl delif virbr0 vnet0添加vnet网卡到交换机上brctl addif virbr0 vnet0通过配置文件配置桥接网卡在宿主机上操作查看宿主机上的物理网卡和ip地址:ip a通过route 查看宿主机的网关创建一个桥接网络接口的配置文件cd /etc/sysconfig/network-scripts/vim ifcfg-br0主要其中的ip和网关需要和宿主机保持一样 把物理机对应的ens33物理网卡配置文件进行备份并且修改cp ifcfg-ens33 ifcfg-ens33.bakvim ifcfg-ens33中的内容修改为如下DEVICE=”ens33”ONBOOT=yesBRIDGE=br0重启网络systemctl restart libvirtdsystemctl restart network通过图形界面为虚拟机vm2添加一个桥接网卡启动虚拟机vm2,查看方发现多了一个网卡ens9,并且有ip地址。发现和宿主机的ip(192.168.96.155)在同一个网段。通过在宿主机上ip a查看发现多另一个桥接网卡br0,并且这个ip地址就之前的宿主机网卡的ip(192.168.96.155)到此桥接网卡br0就和物理网卡ens33就行绑定了。同时桥接网卡的ip已经修改为物理网卡的ip地址。 删除桥接网卡关机对应的虚拟机图形删除对应虚拟机上的桥接网卡br0删除br0的配置文件rm –rf ifcfg-br0删除已经修改过的ens33网卡配置文件rm –rf ifcfg-ens33恢复之前备份好的ens33网卡配置文件mv ifcfg-ens33.bak ifcfg-ens33重启libvirtd和networksystemctl restart libvirtdsystemctl restart network查看网卡发现桥接网卡已经被删除,宿主机上的ens33网卡恢复对应的ip地址查看vm的网卡情况eth0正常开启。通过配置文件方式创建nat网络重新启动systemctl restart libvirtd为虚拟机添加刚刚新创建的nat1网卡启动虚拟机查看发现多一张网卡ens9,并且有对应的ip地址。删除对应的nat1网卡通过配置文件创建隔离的网卡启动服务:systemctl restart libvirtd 添加隔离的网卡启动虚拟机vm后查看vm的网口信息:卸载kvmyum remove `rpm -qa | egrep 'qemu|virt|KVM'` -yrm –rf /var/lib/libvirt /etc/libvirt/
-
在Ceph 0.46和kvm 1.1 以后, Ceph块设备支持丢弃操作。时就意味着客户端可以发送TRIM请求让Ceph块设备释放未被使用的空间。这种操作可以通过ext4或者xfs支持。要支持这个选项,需要在启动虚拟机时候加上discard_granularity配置:例如:启动命令qemu-system-aarch64 \-bios /home/kvm/QEMU_EFI.fd \-cpu host -M virt -m 8G --enable-kvm -machine gic-version=3 -nographic \-device virtio-scsi-pci,id=scsi0 \-drive file=rbd:rbd/cent7-min2,format=raw,if=none,id=drive-scsi0-0-0-0 \-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 \-drive file=rbd:rbd/qimg0,format=raw,if=none,id=drive-scsi0-0-0-1 \-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,id=scsi0-0-0-1,discard_granularity=512启动后进入OS查看 sdb的 discard_granularity/sys/block/sdb/queue/discard_granularity如果以virtio启动磁盘,则此参数为0,无效。(virtio不支持discard)
上滑加载中