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