【KVM】KVM虛擬機(jī)安裝搭建及基本使用

平時(shí)我們開(kāi)虛擬機(jī)用得比較多得是使用VMWare,簡(jiǎn)單無(wú)腦,只需在圖形界面上點(diǎn)點(diǎn)點(diǎn)就可以完成虛擬機(jī)管理,可惜VMWare并不是免費(fèi),因此這里介紹另一種虛擬機(jī)的搭建方式——KVM,KVM是Kernel-based Virtual Machine的簡(jiǎn)稱,是一個(gè)開(kāi)源的系統(tǒng)虛擬化模塊,自Linux 2.6.20之后集成在Linux的各個(gè)主要發(fā)行版本中。它使用Linux自身的調(diào)度器進(jìn)行管理,所以相對(duì)于Xen,其核心源碼很少,相對(duì)VMWare的管理方式來(lái)說(shuō)是比較麻煩,但從性能上并不比VMWare差。

目錄

  • 一、安裝環(huán)境
  • 二、KVM安裝
  • 三、創(chuàng)建虛擬機(jī)并安裝CentOS 7
  • 四、克隆虛擬機(jī)
  • 五、參考并致謝

一、安裝環(huán)境

操作系統(tǒng)(在哪個(gè)操作系統(tǒng)上操作):CentOS 7
虛擬化軟件:VMWare 14、KVM
操作系統(tǒng)(等下虛擬機(jī)建好后需要安裝的操作系統(tǒng)):CentOS 7

說(shuō)明: 由于我使用的是在本機(jī)的VMware上搭建的Linux作為搭建KVM的演示,所以這里使用了VMWare,如果是在操作系統(tǒng)上直接搭建KVM,則不需要VMWare

二、KVM安裝

1、VMWare虛擬機(jī)配置

這是我用來(lái)演示的虛擬機(jī)配置,如果讀者是直接使用物理機(jī)的話可以省略這一步


硬盤(pán)需要新增一個(gè)(如果磁盤(pán)空間足夠也可以忽略),用于在KVM里安裝操作系統(tǒng)時(shí)用到,內(nèi)存最好有4G,最低也不要少于2G,具體根據(jù)你所需來(lái)配置,CPU的核心最少2個(gè)

2、安裝KVM
1)啟動(dòng)剛剛創(chuàng)建的VM虛擬機(jī)或物理機(jī)
2)進(jìn)入系統(tǒng)后關(guān)閉防火墻和selinux
[root@localhost ~]# systemctl stop firewalld  
[root@localhost ~]# setenforce 0
3)檢查CPU參數(shù)是否支持虛擬化
[root@localhost ~]# grep -Ei 'vmx|svm' /proc/cpuinfo

如果結(jié)果有過(guò)濾出vmx或者svm的關(guān)鍵字代表支持虛擬化,vmx是Intel的CPU,svm是AMD的CPU,如圖所示


4)格式化新磁盤(pán)或者擴(kuò)展磁盤(pán)

如果磁盤(pán)空間足夠或者已經(jīng)準(zhǔn)備好需要擴(kuò)展的磁盤(pán)的話可以跳過(guò)此步,這里選擇擴(kuò)展磁盤(pán)

# 格式化磁盤(pán)
[root@localhost ~]# fdisk /dev/sda 
[root@localhost ~]# fdisk -l
# 重啟系統(tǒng)
[root@localhost ~]# reboot 
[root@localhost ~]# vgdisplay  
[root@localhost ~]# pvcreate /dev/sda4  
[root@localhost ~]# vgextend centos /dev/sda4  
[root@localhost ~]# vgdisplay 
# 查看磁盤(pán)目前的大小,并記住
[root@localhost ~]# df -h  
# 擴(kuò)展磁盤(pán)
[root@localhost ~]# lvextend -L +49G /dev/mapper/centos-root  
[root@localhost ~]# resize2fs /dev/mapper/centos-root  
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root  
# 檢查磁盤(pán)是否已經(jīng)成功擴(kuò)展
[root@localhost ~]# df -h

我習(xí)慣使用目錄的方式來(lái)區(qū)分各不同的應(yīng)用,如我這里直接在磁盤(pán)中創(chuàng)建了存放KVM虛擬機(jī)的目錄

[root@localhost ~]# mkdir /kvm
5)下載安裝KVM軟件
[root@localhost ~]# yum -y install kvm qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
6)配置虛擬網(wǎng)卡
[root@localhost ~]# cd /etc/sysconfig/network-scripts/  
# 拷貝當(dāng)前的網(wǎng)卡文件,作為一個(gè)橋接網(wǎng)卡
[root@localhost /etc/sysconfig/network-scripts]# cp ifcfg-ens33 ifcfg-br0  
# 修改原來(lái)的網(wǎng)卡內(nèi)容
[root@localhost /etc/sysconfig/network-scripts]# vim ifcfg-ens33

原來(lái)的網(wǎng)卡配置文件內(nèi)容修改如下:

然后修改br0網(wǎng)卡的配置文件:


重啟網(wǎng)絡(luò)服務(wù)

[root@localhost ~]# systemctl restart network

網(wǎng)絡(luò)服務(wù)重啟之后使用ifconfig命令可以看到此時(shí)ens33網(wǎng)卡的IP到br0網(wǎng)卡上了


7)啟動(dòng)KVM服務(wù)
# 檢查KVM模塊是否加載  
[root@localhost ~]# lsmod |grep kvm  
# 啟動(dòng)libvritd服務(wù)
[root@localhost ~]# systemctl start libvirtd  
# 此時(shí)可以看到兩個(gè)網(wǎng)卡
[root@localhost ~]# brctl show

三、創(chuàng)建虛擬機(jī)并安裝CentOS 7

1、首先要準(zhǔn)備鏡像文件,鏡像文件可以從官網(wǎng)下載,這里我已經(jīng)下載好了
2、使用命令安裝
[root@localhost ~]# virt-install --name=study01 --memory=1024,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/home/CentOS-7-x86_64-DVD-1810.iso --disk path=/kvm/study01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial  --extra-args="console=tty0 console=ttyS0"

命令說(shuō)明:

--name 指定虛擬機(jī)的名稱
--memory 指定分配給虛擬機(jī)的內(nèi)存資源大小
maxmemory 指定可調(diào)節(jié)的最大內(nèi)存資源大小,因?yàn)镵VM支持熱調(diào)整虛擬機(jī)的資源
--vcpus 指定分配給虛擬機(jī)的CPU核心數(shù)量
maxvcpus 指定可調(diào)節(jié)的最大CPU核心數(shù)量
--os-type 指定虛擬機(jī)安裝的操作系統(tǒng)類型
--os-variant 指定系統(tǒng)的發(fā)行版本
--location 指定ISO鏡像文件所在的路徑,支持使用網(wǎng)絡(luò)資源路徑,也就是說(shuō)可以使用URL
--disk path 指定虛擬硬盤(pán)所存放的路徑及名稱,size 則是指定該硬盤(pán)的可用大小,單位是G
--bridge 指定使用哪一個(gè)橋接網(wǎng)卡,也就是說(shuō)使用橋接的網(wǎng)絡(luò)模式
--graphics 指定是否開(kāi)啟圖形
--console 定義終端的屬性,target_type 則是定義終端的類型
--extra-args 定義終端額外的參數(shù)

開(kāi)始安裝后會(huì)顯示安裝引導(dǎo)界面(其實(shí)跟普通安裝CentOS一樣,只不過(guò)平時(shí)是用圖形界面安裝,這里是用命令行來(lái)展現(xiàn)),[!]代表你需要配置的,[x]代表你已經(jīng)設(shè)置了


這里我們按1進(jìn)入語(yǔ)言選擇界面:


這里選擇了中文,輸入68并回車,然后會(huì)讓你選擇是簡(jiǎn)體還是繁體,這里也按下相應(yīng)的數(shù)字然后回車:

接下來(lái)選擇時(shí)區(qū):


選擇亞洲


設(shè)置系統(tǒng)安裝盤(pán)





設(shè)置root密碼

最后開(kāi)始安裝系統(tǒng)

安裝完成后會(huì)停止在以下這個(gè)界面,按一下回車就會(huì)自動(dòng)重啟完成安裝系統(tǒng)

重啟完成后就會(huì)進(jìn)入到登錄界面

此時(shí)我們所在的是一個(gè)KVM虛擬機(jī)的終端,如果想要切換回原本那個(gè)系統(tǒng)終端的話可以使用Ctrl+]命令
然后登錄到虛擬機(jī),修改虛擬機(jī)的網(wǎng)絡(luò)配置文件去配置IP,讓其能聯(lián)網(wǎng)

退出虛擬機(jī)后,我們進(jìn)入到KVM虛擬機(jī)安裝的目錄或磁盤(pán),會(huì)發(fā)現(xiàn)下面多出了個(gè)文件

查看KVM進(jìn)程命令:

[root@localhost ~]# ps axu |grep kvm

列出當(dāng)前有多少個(gè)虛擬機(jī)(該命令不能查看已經(jīng)關(guān)機(jī)的虛擬機(jī),可以加上--all參數(shù)查看全部虛擬機(jī)):

[root@localhost ~]# virsh list
# 查看全部虛擬機(jī)  
[root@localhost ~]# virsh list --all

查看虛擬機(jī)配置文件:

[root@localhost ~]# ls /etc/libvirt/qemu/  
[root@localhost ~]# ls /etc/libvirt/qemu/networks/  
[root@localhost ~]# ls /etc/libvirt/qemu/networks/autostart/

一些常用命令總結(jié):

# 進(jìn)入指定的虛擬機(jī),進(jìn)入的時(shí)候還需要按一下回車
[root@localhost ~]# virsh console study01  
# 啟動(dòng)虛擬機(jī)
[root@localhost ~]# virsh start study01  
# 關(guān)閉虛擬機(jī)
[root@localhost ~]# virsh shutdown study01  
# 強(qiáng)制停止虛擬機(jī)
[root@localhost ~]# virsh destroy study01  
# 徹底銷毀虛擬機(jī),會(huì)刪除虛擬機(jī)配置文件,但不會(huì)刪除虛擬磁盤(pán)
[root@localhost ~]# virsh undefine study01  
# 設(shè)置宿主機(jī)開(kāi)機(jī)時(shí)該虛擬機(jī)也開(kāi)機(jī)
[root@localhost ~]# virsh autostart study01  
# 解除開(kāi)機(jī)啟動(dòng)
[root@localhost ~]# virsh autostart --disable study01 
# 掛起虛擬機(jī)
[root@localhost ~]# virsh suspend study01 
# 恢復(fù)掛起的虛擬機(jī)
[root@localhost ~]# virsh resume study01 

此時(shí)虛擬機(jī)安裝完成
注意啦?。?!由于我的宿主機(jī)是centos7系統(tǒng),所以創(chuàng)建出來(lái)的磁盤(pán)默認(rèn)就是qcow2 格式的,如果是centos6 的宿主系統(tǒng)那么創(chuàng)建出來(lái)的磁盤(pán)是raw格式(這個(gè)系統(tǒng)遷移和派生的時(shí)候要一定要小心!)。
附上鏡像格式轉(zhuǎn)換命令:

# qemu-img convert -f raw -O qcow2 study01.img  study01.qcow2

四、克隆虛擬機(jī)

1、停止或掛起需要克隆的虛擬機(jī)
[root@localhost ~]# virsh suspend study01 
2、使用命令的方式來(lái)克隆
[root@localhost ~]# virt-clone -o study01 -n study01_clone -f /kvm/study01_clone.img

參數(shù)說(shuō)明:

-o   :指定源虛擬機(jī)
-n   :命名新克隆的虛擬機(jī)
-f   :指定新克隆虛擬機(jī)的位置

克隆完成后查看存放虛擬機(jī)的目錄

[root@localhost ~]# ls /kvm

查看配置文件目錄

[root@localhost ~]# ls /etc/libvirt/qemu

查看虛擬機(jī)狀態(tài):

[root@localhost ~]# virsh list --all

啟動(dòng)克隆出來(lái)的虛擬機(jī)并配置網(wǎng)絡(luò)IP

[root@localhost ~]# virsh start snale_clone
3、使用復(fù)制文件的方式克隆虛擬機(jī)

導(dǎo)出配置文件到/etc/libvirt/qemu目錄下,并重命名

[root@localhost ~]# virsh dumpxml study01 >/etc/libvirt/qemu/study03.xml

當(dāng)然也可以復(fù)制

[root@localhost ~]# cp study01.xml study03.xml

復(fù)制KVM虛擬磁盤(pán)文件

[root@localhost ~]# cp /kvm/study01.img /kvm/study03.img

編輯新的虛擬機(jī)配置文件study03.xml

[root@localhost ~]# vim /etc/libvirt/qemu/study03.xml

主要修改以下內(nèi)容:

<name>study03</name> 

# UUID隨意修改數(shù)值,不過(guò)格式要一致
<uuid>192fdc94-c81b-fa35-9100-0c073eee2c27</uuid>  

文件目錄
<disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/kvm/study03.img'/>  

注冊(cè)新的虛擬機(jī):

[root@localhost ~]# virsh define /etc/libvirt/qemu/study03.xml

啟動(dòng)新的虛擬機(jī)

[root@localhost ~]# virsh start study03

五、參考并致謝

https://blog.51cto.com/zero01/2083896

https://www.cnblogs.com/chenjiahe/p/5920693.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 虛擬化技術(shù)概覽KVM簡(jiǎn)介KVM的管理操作 一、虛擬化技術(shù)概覽 (一)虛擬化技術(shù)類型: 主機(jī)虛擬化:xen, kvm...
    哈嘍別樣閱讀 2,021評(píng)論 0 5
  • 云計(jì)算介紹 云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問(wèn),進(jìn)入可配置的計(jì)算資源共享池...
    泡菜愛(ài)上WaSabi閱讀 1,854評(píng)論 0 2
  • 目錄 一、了解虛擬化二、常見(jiàn)虛擬化軟件三、虛擬化架構(gòu)四、KVM介紹五、Centos7上安裝KVM六、配置網(wǎng)卡七、創(chuàng)...
    XiaoMing丶閱讀 6,598評(píng)論 0 0
  • 一.虛擬化技術(shù)的介紹 (1)虛擬化技術(shù)類型: 1.主機(jī)虛擬化:xen,kvm.virtualbox.openv2....
    楠人幫閱讀 2,190評(píng)論 0 5
  • 一、虛擬化分類 1、虛擬化是指通過(guò)虛擬化技術(shù)將一臺(tái)計(jì)算機(jī)虛擬為多臺(tái)邏輯計(jì)算機(jī)。在一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)邏輯計(jì)算機(jī)...
    WickJohn閱讀 2,284評(píng)論 0 3

友情鏈接更多精彩內(nèi)容