㈠ 如何在linux發行版上安裝和配置KVM和Open vSwitch
Linux系統和VMware虛擬機上工作的Open vSwitch
Open vSwitch是一個開源的虛擬交換機,已經成為大多數基於Linux虛擬機的默認選項,如Xen和KVM. 因為Open vSwitch是KVM和Xen的默認虛擬交換機,所以你會發現其幾乎都是使用OpenStack安裝。Open vSwitch還用於VMware NSX環境中,但是在該環境中由於沒有特殊的功能,所以並沒有開源發布版本。
搭建Open vSwitch測試網路的第一步
你可以找到幾乎所有支持KVM, Xen和VirtualBox等虛擬管理程序的linux發行版Open vSwitch包。如果你想要在 VMware vSphere上運行本地Open vSwitch,你需要讓VMware銷售人員部署一個NSX POC(proof of concept, 驗證性測試)。然而,VMware和其它企業軟體供應商一樣,把POCs作為銷售周期的一部分。這通常需要客戶有一定級別的承擔能力,包括技術和財政資源保證。而且,還可能包括支付專業服務的能力以及提供一個非生產平台來運行POC.如果你還沒有準備好購買POC這個周期,那麼你可能需要通過一個Linux發布版本或VMware免費版本來使用細膩交換機。
搭建一個Open vSwitch網路實驗室
你可以在供應商提供的一個白盒交換機上運行Open vSwitch代碼,或自己用x86硬體搭建一個白盒交換機。然而,在開始運行之前,你可能還需要一個對物理網路硬體訪問許可權有限的伺服器農場或家庭實驗室。
好消息是,傳統組網需要很多硬體來配置和管理盡可能多的埠,而現在設計虛擬的交換機實驗室只需要一台伺服器或現代PC機。
一種更為復雜的實驗室設計方法是搭建工作站或伺服器來運行VMware ESXi, VMware Workstation或VirtualBox.一旦基地管理程序安裝好,你就可以部署一個KVM虛擬實例。有了這個KVM虛擬實例,你就可以生成小的虛擬機作為測試節點。這樣就已經搭建了一個不錯的實驗室,但是如果你的工作站有足夠的CPU和RAM,你就可以生成第二台有相同配置的KVM.不僅如此,你還可以加入有網路功能的虛擬化設備,如在兩台KVM主機環境間添加虛擬防火牆。這種模擬情景需要強大的硬體環境。理想情況下,該系統至少需要一個四核處理器,32GB RAM內存和固態存儲設備(SSDs).
一個相對簡單的環境需要一個常見的支持虛擬化擴展(AMD-V & Intel VT)部署在x86伺服器上的工作站,以及帶有8GB RAM內存的傳統旋轉磁碟。
更常見的配置是在一個系統上運行著虛擬機管理程序,如Virtualbox, Xen或KVM,且環境內有虛擬機和虛擬交換機。通過直接在硬體上安裝虛擬機管理程序,就可以搭建一個基礎實驗室,但系統內至少需要4GB RAM內存。該實驗室將包括KVM主機,兩個Open vSwitches以及兩個供測試用的Linux節點。不過性能可能會有點呆滯,所以建議用比較干凈的Linux發行版作為測試節點。如果你只有家用筆記本或台式機,但是其除了這個Open vSwitches實驗室還需要處理每天的日常工作,那麼可以利用桌面虛擬化解決方案。
㈡ kvm虛擬化技術實現原理
Qemu, PearPC, Bochs, ...
VMWare Workstation, VirtualBox, VMWare Server, Parallels Desktop, KVM(hvm), XEN(hvm)
LXC, OpenVZ, libcontainer, runC, rkt, Linux V Servers, Virtuozzo, ...
wine
jvm, pvm, ...
Type-I:Hypervisor直接運行於硬體;
Type-II:Hypervisor運行主機OS之上;
硬體級物理內存映射到虛擬機
KVM 是基於虛擬化擴展(Intel VT 或者 AMD-V)的 X86 硬體的開源的 Linux 原生的全虛擬化解決方案。KVM 中,虛擬機被實現為常規的 Linux 進程,由標准 Linux 調度程序進行調度;虛機的每個虛擬 CPU 被實現為一個常規的 Linux 進程。這使得 KMV 能夠使用 Linux 內核的已有功能。
但是,KVM 本身不執行任何硬體模擬,需要客戶空間程序通過 /dev/kvm 介面設置一個客戶機虛擬伺服器的地址空間,向它提供模擬的 I/O,並將它的視頻顯示映射回宿主的顯示屏。目前這個應用程序是 QEMU。
KVM模塊load進內存之後,系統的運行模式:
掃描物理內存,發現多個虛擬機實例有相同的內存空間,合並成為一個共享內存空間,節省內存。
運行中的一個kvm虛擬機就是一個qemu-kvm進程,運行qemu-kvm程序並傳遞給它合適的選項及參數即能完成虛擬機啟動,終止此進程即能關閉虛擬機;
kvm:核心模塊
CentOS 7創建物理橋,使用內核自帶的橋接模塊實現:
橋介面配置文件保留地址信息;
物理網卡配置文件:
刪除地址、掩碼和網關等相關的配置,添加
重啟網路服務即可:
此時會斷網,到虛擬機重啟一下,發現已生成網橋,但還要配置網橋的dns,否則無法上網。
其他終端圖形登錄[root@node-60 ~]# ssh -X [email protected]
參考鏈接:
http://www.178linux.com/103971
https://www.cnblogs.com/sunhao96/p/7605865.html
https://bbs.csdn.net/topics/391040787
https://www.ibm.com/developerworks/cn/linux/l-pci-passthrough
㈢ linux系統中一個kvm的虛擬機也哪種方式運行
kvm就是個軟體,可以在命令行執行,也可以在桌面環境找到位置雙擊打開。
㈣ 如何在Linux中用命令行工具管理KVM虛擬環境
在Linux中用命令行工具管理KVM虛擬環境的步驟:
第一步: 配置存儲池
Virsh命令行工具是一款管理virsh客戶域的用戶界面。virsh程序能在命令行中運行所給的命令以及它的參數。本節中,要用它給KVM環境創建存儲池。想知道關於這個工具的更多信息,用以下這條命令。
# man virsh
1、用virsh帶pool-define-as的命令來定義新的存儲池,需要指定名字、類型和類型參數。本例中,將名字取為Spool1,類型為目錄。默認情況下可以提供五個參數給該類型:
source-host
source-path
source-dev
source-name
target
對於目錄類型,需要用最後一個參數「target」來指定存儲池的路徑,其它參數項可以用「-」來填充。
# virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/"
2、 查看環境中所有的存儲池,用以下命令。
# virsh pool-list --all
3、現在來構造存儲池了,用以下命令來構造剛才定義的存儲池。
# virsh pool-build Spool1
4、用帶pool-start參數的virsh命令來激活並啟動剛才創建並構造完成的存儲池。
# virsh pool-start Spool1
5、查看環境中存儲池的狀態,用以下命令。
# virsh pool-list --all
會發現Spool1的狀態變成了已激活。
6、對Spool1進行配置,讓它每次都能被libvirtd服務自啟動。
# virsh pool-autostart Spool1
7、最後來看看新的存儲池的信息吧。
# virsh pool-info Spool1
恭喜,Spool1已經准備好待命,接下來試著創建存儲卷來使用它。
第二步: 配置存儲卷/磁碟映像
現在輪到磁碟映像了,用qemu-img命令在Spool1中創建一個新磁碟映像。獲取更多細節信息,可以查看man手冊。
# man qemu-img
8、應該在qemu-img命令之後指定「create, check,…」等等操作、磁碟映像格式、想要創建的磁碟映像的路徑和大小。
# qemu-img create -f raw /mnt/personal-data/SPool1/SVol1.img 10G
9、通過使用帶info的qemu-img命令,你可以獲取到你的新磁碟映像的一些信息。
查看存儲卷信息
警告: 不要用qemu-img命令來修改被運行中的虛擬機或任何其它進程所正在使用的映像,那樣映像會被破壞。
現在是時候來創建虛擬機了。
第三步: 創建虛擬機
10、現在到最後一個環節了,在最後一步中,將用virt-install命令來創建虛擬機。virt-install是一個用來創建新的KVM虛擬機命令行工具,它使用「libvirt」管理程序庫。想獲取更多細節,同樣可以查看man手冊。
# man virt-install
要創建新的KVM虛擬機,需要用到帶以下所有信息的命令。
Name: 虛擬機的名字。
Disk Location: 磁碟映像的位置。
Graphics : 怎樣連接VM,通常是SPICE。
vcpu : 虛擬CPU的數量。
ram : 以兆位元組計算的已分配內存大小。
Location : 指定安裝源路徑。
Network : 指定虛擬網路,通常是virbr0網橋。
virt-install --name=rhel7 --disk path=/mnt/personal-data/SPool1/SVol1.img --graphics spice --vcpu=1 --ram=1024 --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso --network bridge=virbr0
創建新的虛擬機
11、會看到彈出一個virt-vierwer窗口,像是在通過它在與虛擬機通信。
㈤ linux下用的是什麼虛擬機
Linux系統下常用的虛擬機是KVM(Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模塊),下面是Linux安裝KVM虛擬機方法:
1、看看cpu是否支持kvm
[root@localhost~]#grep-E-o'vmx|svm'/proc/cpuinfo
#結果顯示vmx表示支持
2、安裝kvm所需要的軟體包
[root@localhost~]#yuminstallkvmkmod-kvmqemukvm-qemu-imgvirt-viewervirt-manager
3、安裝完確認一下是否安裝成功
#檢查模塊是否有載入
[root@localhost~]#lsmod|grepkvm
kvm_intel852560
kvm2249282ksm.kvm_intel
4、安裝橋接管理工具
[root@localhost~]#yuminstallbridge-utilstunctl
5、安裝gui管理工具
[root@localhost~]#yuminstallvirt-managervirt-viewer
6、修改網卡文件
[root@localhost~]#vi/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.187
NETMASK=255.255.255.0
TYPE=Bridge
7、 保存網卡配置重啟網卡
[root@localhost~]#servicenetworkrestart