KVM安裝

一、KVM介紹
Kernel-basedVirtualMachine 的簡稱,是一個開源的系統虛擬化模塊,自 Linux2.6.20 之後集成在 Linux 的各個主要發行版本中。它使用 Linux 自身的調度器進行管理,所以相對於 Xen,其核心源碼 很少。KVM 目前已成爲學術界的主流 VMM 之一。
KVM 的虛擬化需要硬件支持(如 IntelVT 技術或者 AMDV 技術)。是基於硬件的完全虛擬化。 而 Xen 早期則是基於軟件模擬的 Para-Virtualization,新版本則是基於硬件支持的完全虛擬化。但 Xen 本身有自己的進程調度器,存儲管理模塊等,所以代碼較爲龐大。廣爲流傳的商業系統虛擬化軟件 VMwareESX 系列是基於軟件模擬的 Full-Virtualization。
在這裏插入圖片描述
因爲對進程管理比較麻煩,RedHat 發佈了一個開源項目 libvirt。libvirt 有命令行工具也有 API,可 以通過圖形化界面,完成對虛擬機的管理。大多數管理平臺通過 libvirt 來完成對 KVM 虛擬機的管理; 比如 Openstack、Cloudstack、OpenNebula 等。

二、環境準備
硬件環境
首先bios需要開啓虛擬化
在這裏插入圖片描述
因爲我這裏使用的是VMware,所以需要在這裏開啓虛擬化配置
在這裏插入圖片描述
創建虛擬機步驟
1.準備虛擬機硬盤
2.需要系統 iso 鏡像
3.需要安裝一個 vnc 的客戶端來連接

在這裏插入圖片描述
我這裏使用的是迷你鏡像,可以去官網上去下載一個
迷你包下載

系統環境
記得關閉防火牆

cat /etc/redhat-release
uname -r
getenforce
systemctl stop firewalld

在這裏插入圖片描述
然後檢查一下CPU是否支持虛擬化
KVM其實已經在Centos7內置到系統內核,無需安裝

egrep -o '(vmx|svm)' /proc/cpuinfo
grep -E '(vmx|svm)' /proc/cpuinfo

在這裏插入圖片描述
在 linux 平臺下,我們可以通過 dmesg|grepkvm 命令來查看。 如果 CPU 沒有開啓虛擬化的話,顯示如下:
在這裏插入圖片描述
安裝KVM用戶態模塊

yum list|grep kvm

在這裏插入圖片描述

yum install -y qemu-kvm qemu-kvm-tools libvirt

libvirt用來管理kvm
kvm屬於內核態,不需要安裝。但是需要一些類似於依賴的

啓動libvirt

systemctl start libvirtd.service
systemctl enable libvirtd.service

啓動之後我們可以使用 ifconfig 進行查看,libvirtd 已經爲我們安裝了一個橋接網卡
在這裏插入圖片描述
libvirtd 爲我們啓動了一個 dnsmasqp,這個主要是用來 dhcp 連接的,這個工具會給我們的虛擬機分配 IP 地址

ps -ef|grep dns 

在這裏插入圖片描述
三、創建虛擬機
首先,先看一下磁盤空間大小

df -h

最好是20G以上
在這裏插入圖片描述
上傳鏡像
提示:如果使用 rz 上傳鏡像可能會出現錯誤,所以我們使用 dd 命令,複製系統的鏡像。只需要掛載 上光盤即可。

cd /opt/
dd if=/dev/cdrom of=/opt/CentOS-7.3.iso

創建磁盤

qemu-img create -f qcow2 /opt/CentOS-7.3-x86_64.qcow2 6G

在這裏插入圖片描述
-f 制定虛擬機格式
/opt/Centos 存放路徑
6G 代表鏡像大小
磁盤格式介紹
raw----裸磁盤不支持快照
qcow2----支持快照。Openstack 使用的方式推薦使用這個。注意:關閉虛擬機後操作。
區別:
全鏡像格式(典型代表 raw),特點:設置多大就是多大,寫入速度快,方便轉換其他格式,性能最 優,但是佔用空間大。
稀疏格式(典型代表 qcow2),其特點:支持壓縮、快照、鏡像,更小的存儲空間(即用多少佔多少)
qcow2 數據的基本組成單元是 cluster
raw 性能比 qcow2 快
raw 創建多大磁盤,就佔用多大空間直接分配,qcow2 動態的用多大佔用多大空間。

安裝虛擬機

yum install -y virt-install
virt-install --virt-type=kvm --name=c73 --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7.3.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --disk path=/opt/CentOS-7.3-x86_64.qcow2,size=6,format=qcow2

默認連接端口是從5900開始的

virsh list

在這裏插入圖片描述
查看一下端口

netstat -lntup|grep 5900

在這裏插入圖片描述
virt-install 常用參數

1. -n--name= 客戶端虛擬機名稱 
2. -r--ram= 客戶端虛擬機分配的內存 
3. -u--uuid= 客戶端 UUID 默認不寫時,系統會自動生成 
4. --vcpus= 客戶端的 vcpu 個數 
5. -v--hvm 全虛擬化 
6. -p--paravirt 半虛擬化
7. -l--location=localdir 安裝源,有本地、nfs、http、ftp 幾種,多用於 ks 網絡安裝 
8. --vnc 使用 vnc ,另有--vnclient=監聽的 IP --vncport =VNC 監聽的端口
9. -c--cdrom= 光驅 安裝途徑 
10.--disk= 使用不同選項作爲磁盤使用安裝介質 
11. -wNETWORK,--network=NETWORK 連接客戶機到主機網絡 
12. -s--file-size= 使用磁盤映像的大小 單位爲 GB 
13. -f--file= 作爲磁盤映像使用的文件 
14. --cpuset=設置哪個物理 CPU 能夠被虛擬機使用 
15. --os-type=OS_TYPE 針對一類操作系統優化虛擬機配置(例如:‘linux’,‘windows’) 
16. --os-variant=OS_VARIANT 針對特定操作系統變體(例如’rhel6’, ’winxp’,'win2k3')進一步 優化虛擬機配置 
17. --host-device=HOSTDEV 附加一個物理主機設備到客戶機。HOSTDEV 是隨着 libvirt 使用的一個 節點設備名(具體設備如’virshnodedev-list’的顯示的結果) 
18. --accelerateKVM 或 KQEMU 內核加速,這個選項是推薦最好加上。如果 KVM 和 KQEMU 都支持, KVM 加速器優先使用。 
19. -xEXTRA,--extra-args=EXTRA 當執行從"--location"選項指定位置的客戶機安裝時,附加內核命 令行參數到安裝程序 
20. --nographics"virt-install" 將默認使用--vnc 選項,使用 nographics 指定沒有控制檯被分配給客戶機

四、VNC連接創建好的虛擬機並安裝系統
在這裏插入圖片描述
因爲 centos7 默認網卡發生改變,我們需要修改內核參數,使用 eth0 作爲網卡
在這裏插入圖片描述
光標移動到 Install CentOS 上,按 tab 鍵 輸入 net.ifnames=0 biosdevname=0 回車 注意:如果查看 5900 端口開啓,但是 VNC 無法連接 KVM 虛擬機時,看下防火牆是否開啓。創建的 虛機用 VNC 連接時從默認端口 5900 開始,即虛機一:10.0.0.200:5900 虛機二:10.0.0200:5901

虛擬機安裝完成後是關閉了,我們需要啓動

virsh list --all

在這裏插入圖片描述

 virsh start c73 

c73 是虛擬機的名字,是我們創建的時候定義的

這樣就算是搭建完成了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章