kvmlinux安装
A. 如何在linux发行版上安装和配置KVM和Open vSwitch
KVM和Open vSwitch分别是用于如今的数据中心中的最流行的开源虚拟机管理程序和虚拟交换机。
下面是在Ubuntu或Debian上安装和配置KVM和Open vSwitch(OVS)的教程步骤:
虽然OVS以程序包的方式出现在Ubuntu或Debian上,但我在此还是通过源代码来构建OVS,这将拥有最新的功能特性和修正版。
首先,安装用于构建OVS的依赖项。
$sudoapt-getinstallbuild-essentiallibssl-devlinux-headers-$(uname-r)
通过源代码来构建OVS,如下所示。下列步骤将构建OVS内核模块以及OVS用户空间工具。
$wgethttp://openvswitch.org/releases/openvswitch-1.9.3.tar.gz
$tarxvfvzopenvswitch-1.9.3.tar.gz
$cdopenvswitch-1.9.3
$./configure--with-linux=/lib/moles/`uname-r`/build
$make
接下来,继续在/usr/local/share/下安装OVS用户空间组件:
$sudomakeinstall
下一步是,测试OVS内核模块(安装该模块之前)。为此,先在内核中装入内核模块。
$sudoinsmod./datapath/linux/openvswitch.ko
证实OVS内核模块已成功装入。
$lsmod|grepopenvswitch
openvswitch 97934 0
一旦你证实openvswitch.ko已成功装入到内核中,继续安装内核模块,如下所示。
$sudomakemoles_install
配置和启动Open vSwitch
创建一个框架式OVS配置数据库。
$sudomkdir/etc/openvswitch
$sudoovsdb-toolcreate/etc/openvswitch/conf.db./vswit
chd/vswitch.ovsschema
启动OVS数据库服务器。
$sudoovsdb-server--remote=punix:/usr/local/var/run/ope
nvswitch/db.sock-remote=db:Open_vSwitch,manager_options
--pidfile--detach
OVS配置数据库初始化。
$sudoovs-vsctl--no-waitinit
最后,启动OVS守护程序。
$sudoovs-vswitchd--pidfile--detach
将KVM安装在Ubuntu或Debian上
使用apt-get命令,安装KVM和必要的用户空间工具。
$sudoapt-getinstallqemu-kvmlibvirt-binbridge-utils
virt-manager
将一个普通的非根用户(如alice)添加到libvirtd群组,那样该用户不需要根用户权限,就能启动虚拟机。
$sudoadseralicelibvirtd
退出,重新以该用户身份登录,让群组成员的变更生效。
运行下面这个命令。如果你看到空空如也的虚拟机列表,这意味着KVM已成功设置完毕。
$virsh-cqemu:///systemlist
Id Name State
为KVM配置Open vSwitch
现在是时候创建OVS网桥启动脚本了,那样启动或终止虚拟机时,OVS就能自动配置。
安装依赖项(用户模式Linux实用工具),这些依赖项将用于处理Linux网桥模式。
$sudoapt-getinstalluml-utilities
创建网桥启动脚本,如下所示。
$sudovi/etc/openvswitch/ovs-ifup
#!/bin/sh
switch='br0'
/sbin/ifconfig$10.0.0.0up
ovs-vsctladd-port${switch}$1
$sudovi/etc/openvswitch/ovs-ifdown
#!/bin/sh
switch='br0'
/sbin/ifconfig$10.0.0.0down
ovs-vsctldel-port${switch}$1
$sudochmod+x/etc/openvswitch/ovs-if*
然后,创建一个默认的网桥br0,并添加一个物理网络接口,虚拟机将通过这个接口与外部网络进行联系。在该教程中,我假设这类网络接口是eth5。
$sudoovs-vsctladd-brbr0
$sudoovs-vsctladd-portbr0eth5
借助KVM启动虚拟机
现在你可以准备启动访客虚拟机了。
我假设,你已经准备好了一个访客虚拟机映像(比如ubuntu-client.img)。使用下面这个命令,启动访客虚拟机。
$sudokvm-m1024-netnic,macaddr=11:11:11:EE:EE:EE-ne
ttap,script=/etc/openvswitch/ovs-ifup,downscript=/etc/op
envswitch/ovs-ifdown-vnc:1-drivefile=/home/dev/images
/ubuntu-client.img,boot=on
这会创建并启动一个访客虚拟机;一旦访客虚拟机启动,其虚拟接口就自动添加到OVS网桥br0。
你可以使用ovs-vsctl这个命令,核实OVS的状态,如下所示。
B. linux下用的是什么虚拟机
Linux下的用什么虚拟机,我来补充下吧:
1.寄主模式的虚拟机:Vmware的Vmware Workstation,Oracle的Visual-Box,Windows的Hyper-V,Redhat的KVM (Kernel Visual Machine);
2.裸设备虚拟机宿主系统:Vmware的ESX,ESXi,Oracle的Oracle VM,Windows的Hyper-V不是很清楚有此类系统
如果说要在Linux系统里面装虚拟机软件嘛,Vmware Workstation或者KVM是可以的
C. Ubuntu 22.04 之 KVM 安装手札 | Linux 中国
在 KVM 之上可以运行 Windows 和 Liunx 虚拟机。每个虚拟机都独立于其它虚拟机和底层操作系统(宿主机系统),并拥有自己的 CPU、内存、网络接口、存储设备等计算资源。
在 KVM 之上可以运行 Windows 和 Liunx 虚拟机。每个虚拟机都独立于其它虚拟机和底层操作系统(宿主机系统),并拥有自己的 CPU、内存、网络接口、存储设备等计算资源。
本文将介绍在 Ubuntu 22.04 LTS(Jammy Jellyfish)中如何安装 KVM 。在文末,我们也将演示如何在安装 KVM 完成之后创建一台虚拟机。
更新 Ubuntu 22.04
在一切开始前,打开终端并通过如下命令更新本地的软件包索引:
检查虚拟化是否开启
在进一步行动之前,首先需要检查你的 CPU 是否支持 KVM 虚拟化,确保你系统中有 VT-x( vmx)英特尔处理器或 AMD-V(svm)处理器。
运行如下命令,如果输出值大于 0,那么虚拟化被启用。否则,虚拟化被禁用,你需要启用它:
判断 KVM 虚拟化是否已经在运行:
运行该命令之前,请确保你已经安装了cpu-checker 软件包,否则将提示未找到该命令的报错。
解决无法运行 kvm-ok 命令的问题,安装cpu-checker 包。
安装 KVM
通过如下命令在 Ubuntu 22.04 中安装 KVM 以及其他相关虚拟化软件包:
解释刚刚安装的软件包
启用虚拟化守护进程(libvirtd)
通过如下命令启用并启动 libvirt 守护进程:
验证虚拟化守护进程是否运行
将当前登录用户加入kvm 和 libvirt 用户组,以便能够创建和管理虚拟机。
创建网桥(br0)
为了从本机(Ubuntu 22.04)之外访问 KVM 虚拟机,需要将虚拟机的网卡映射至网桥。virbr0 网桥是 KVM 安装完成后自动创建的,仅做测试用途。
创建文件 01-netcfg.yaml 来新建网桥。
保存并退出文件。
创建并应用网络配置变更。
验证网桥 br0。
启动 KVM 虚拟机管理器
使用图形管理工具virt-manager 创建虚拟机。在 GNOME 搜索工具中搜索 Virtual Machine Manager 以启动。
虚拟机管理器界面如下所示。
创建虚拟机的过程如下:
选择 ISO 镜像。
定义虚拟机所用内存大小以及 CPU 核心数。
输入虚拟机磁盘空间。
选择网络并连接至网桥 br0。
完成虚拟机创建。
虚拟机将开机并进入系统安装界面。
至此,本文向你演示了如何在 Ubuntu 22.04 上 安装 KVM 虚拟化引擎。你的反馈对我们至关重要。
D. 求助KVM安装linux系统 出现 no bootable device
no bootable device这个是没有引导设备 ,你用的kvm,这个需要指明cdrom是引导设备的。可以参考我下面的配置。
virt-install--name=gzxtest02--ram4096--vcpus=16--autostart--hvm
--diskpath=/data/kvmimg/gzxtest02.qcow2,size=60,format=qcow2
--cdrom/data/download/CentOS-6.6-x86_64-bin-DVD1.iso
--graphicsvnc,listen=0.0.0.0,port=5903
--networkbridge=br0,model=e1000--force--connectqemu:///system