溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

部署及命令行管理KVM

發(fā)布時(shí)間:2020-07-17 08:57:39 來源:網(wǎng)絡(luò) 閱讀:335 作者:筱振 欄目:云計(jì)算

通過博文部署及圖形化管理KVM已經(jīng)可以通過圖形化的方式來管理KVM平臺(tái)的虛擬機(jī)。本篇博文主要介紹如何通過命令行的方式來管理KVM平臺(tái)的虛擬機(jī)。

博文大綱:
一、環(huán)境要求
二、安裝方式
三、遠(yuǎn)程連接KVM虛擬機(jī)的方法
四、使用默認(rèn)的方式使KVM虛擬機(jī)可以訪問互聯(lián)網(wǎng)
五、KVM常用命令

一、環(huán)境要求

如果是真實(shí)服務(wù)器,那么就需要在BIOS中開啟虛擬化功能(Virtualization Technology),一般物理服務(wù)器,此項(xiàng)功能默認(rèn)都是打開的。如圖:
部署及命令行管理KVM

如果實(shí)驗(yàn)環(huán)境使用VMware Workstation的情況下,就需要在開機(jī)之前開啟此項(xiàng)功能。如圖:
部署及命令行管理KVM

二、安裝方式

最簡單的安裝方式:在安裝系統(tǒng)時(shí),安裝虛擬化功能。如圖:
部署及命令行管理KVM

如果系統(tǒng)已經(jīng)安裝完成,而且是最小化進(jìn)行安裝的,則需要進(jìn)行以下操作:

(1)安裝依賴包:
[root@localhost ~]# yum groupinstall -y "GNOME Desktop"
//安裝GNOME桌面環(huán)境
[root@localhost ~]# yum -y install qemu-kvm
//安裝KVM模塊
[root@localhost ~]# yum -y install qemu-kvm-tools
//安裝KVM調(diào)試工具(可以不安裝)
[root@localhost ~]# yum -y install virt-install
//安裝構(gòu)建虛擬機(jī)的命令行工具
[root@localhost ~]# yum -y install qemu-img
//安裝qemu組件,創(chuàng)建磁盤、啟動(dòng)虛擬機(jī)等
[root@localhost ~]# yum -y install bridge-utils
//安裝網(wǎng)絡(luò)支持工具
[root@localhost ~]# yum -y install libvirt
//安裝虛擬機(jī)管理工具
[root@localhost ~]# yum -y install virt-manager
//安裝圖形界面管理虛擬機(jī)
如果系統(tǒng)時(shí)最小化安裝則需執(zhí)行這條命令
[root@localhost ~]#  ls -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
//將系統(tǒng)默認(rèn)運(yùn)行的target更改為graphical.target,若不執(zhí)行該命令,重啟時(shí)可能會(huì)報(bào)錯(cuò)。
(2)驗(yàn)證CPU是否支持虛擬化
[root@localhost ~]# cat /proc/cpuinfo | grep vmx
//Intel服務(wù)器使用這條命令進(jìn)行驗(yàn)證(有輸出就表示支持虛擬化)
[root@localhost ~]# cat /proc/cpuinfo | grep smv
//AMD服務(wù)器使用這條命令進(jìn)行驗(yàn)證
(3)檢查KVM模塊是否安裝
[root@localhost ~]# lsmod | grep kvm
//表示已經(jīng)安裝
kvm_intel             170181  0 
kvm                   554609  1 kvm_intel
irqbypass              13503  1 kvm
(4)啟動(dòng)libvirtd服務(wù),開啟相應(yīng)的支持
[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd
//啟動(dòng)libvirtd服務(wù),并將其設(shè)置為開機(jī)自啟
(5)使用命令創(chuàng)建虛擬機(jī)

可以參考博文圖形化安裝虛擬機(jī)進(jìn)行圖形化安裝虛擬機(jī)。

[root@localhost ~]# mkdir -p /kvm/{iso,disk} 
//創(chuàng)建相應(yīng)目錄用來存放鏡像和虛擬機(jī)磁盤
[root@localhost ~]# cp /mnt/CentOS-7.iso /kvm/iso/
//準(zhǔn)備用于安裝虛擬機(jī)的鏡像
[root@localhost ~]#  qemu-img create -f raw  /kvm/disk/web01.raw 10G
//創(chuàng)建虛擬磁盤,使用“-f”指定磁盤類型,大小為10G
[root@localhost ~]# virt-install --os-type=linxu --os-variant centos7.0 --name web01 --ram 1024 \
 --vcpus 1 --disk /kvm/disk/web01.raw,format=raw,size=10 --location /kvm/iso/CentOS-7.iso \
 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 
//創(chuàng)建虛擬機(jī),由于命令配置項(xiàng)一目了然,這里就不多做介紹了
開始安裝......
搜索文件 .treeinfo......                                                          |  354 B  00:00:00     
搜索文件 vmlinuz......                                                            | 5.9 MB  00:00:00     
搜索文件 initrd.img......                                                         |  50 MB  00:00:00     
域安裝仍在進(jìn)行。您可以重新連接
到控制臺(tái)以便完成安裝進(jìn)程。
[root@localhost ~]# virt-manager              //打開圖像化管理控制臺(tái)

部署及命令行管理KVM
部署及命令行管理KVM

[root@localhost ~]# virsh start web01
//安裝完成之后,啟動(dòng)web01虛擬機(jī)

三、遠(yuǎn)程連接KVM虛擬機(jī)的方法

(1)使用VNC軟件連接KVM虛擬機(jī)

下載VNC軟件

[root@localhost ~]# virsh vncdisplay web01   //查看web01的監(jiān)聽端口
:0
//0表示監(jiān)聽的端口是5900端口;1則表示監(jiān)聽的是5901端口,以此類推!

實(shí)驗(yàn)環(huán)境,我就直接關(guān)閉防火墻了,不想關(guān)閉防火墻的話,執(zhí)行以下命令即可!

[root@localhost ~]# firewall-cmd --add-port=5900/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
//開啟5900端口,便于VNC對(duì)其進(jìn)行操作

打開VNC:
部署及命令行管理KVM
如果連接時(shí),出現(xiàn)以下狀況:
部署及命令行管理KVM
則表示在KVM宿主機(jī)中,虛擬機(jī)已經(jīng)打開了一個(gè)終端,關(guān)閉即可!
部署及命令行管理KVM
VNC連接成功后,我們可以調(diào)整其內(nèi)核參數(shù),使用console方式可以連接到KVM虛擬機(jī),在KVM虛擬機(jī)中執(zhí)行以下命令:

[root@localhost ~]# grubby --update-kernel=ALL --args=”console=ttyS0”    
//修改其內(nèi)核參數(shù),使其向console方式分配一個(gè)終端
[root@localhost ~]# reboot    //重啟此虛擬機(jī),以便更改生效
(2)使用console方式連接KVM虛擬機(jī)
[root@localhost ~]# virsh console web01
//使用console方式登錄web01虛擬機(jī)

部署及命令行管理KVM
登錄成功!

四、使用默認(rèn)的方式使KVM虛擬機(jī)可以訪問互聯(lián)網(wǎng)

部署及命令行管理KVM

[root@localhost ~]# ls /usr/share/libvirt/networks/
default.xml      
[root@localhost ~]# virsh net-define /usr/share/libvirt/networks/default.xml 
//確認(rèn)有以上文件,如果沒有可以用以上命令生成
[root@localhost ~]# virsh net-autostart default        //網(wǎng)絡(luò)default標(biāo)記為自動(dòng)啟動(dòng)
[root@localhost ~]#  virsh net-start default              //啟動(dòng)網(wǎng)絡(luò),若已啟動(dòng),此處會(huì)報(bào)錯(cuò)
[root@localhost ~]# echo "net.ipv4.ip_forward=1"  >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
//開啟路由轉(zhuǎn)發(fā)
[root@localhost ~]# vim /etc/libvirt/qemu/web02.xml 
                ............//省略部分內(nèi)容
   <interface type='network'>
      <mac address='52:54:00:24:9d:24'/>
      <source network='default'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
//定位“interface”關(guān)鍵字,確定有上述內(nèi)容

KVM虛擬機(jī)進(jìn)行驗(yàn)證:
部署及命令行管理KVM
部署及命令行管理KVM

訪問互聯(lián)網(wǎng)成功!

五、KVM常用命令

[root@localhost ~]# virsh start 虛擬機(jī)名稱                        //開啟虛擬機(jī)
[root@localhost ~]# virsh list                                             //僅查看運(yùn)行的虛擬機(jī)列表
[root@localhost ~]# virsh list --all                                      //查看所有虛擬機(jī)列表
[root@localhost~]# virsh shutdown 虛擬機(jī)名稱                //正常的關(guān)閉虛擬機(jī)
[root@localhost ~]# virsh destroy    虛擬機(jī)名稱                //強(qiáng)制關(guān)閉虛擬機(jī)(類似于拔電源)
[root@localhost ~]# virsh dumpxml 虛擬機(jī)名稱 > /root/test01-dum.xml             //虛擬機(jī)備份
[root@localhost ~]# virsh undefine 虛擬機(jī)名稱                             //刪除虛擬機(jī)(注意:取消定義之后,磁盤文件需要手動(dòng)刪除)
[root@localhost ~]# virsh define 備份的.xml虛擬機(jī)文件               //通過配置文件生成虛擬機(jī)
[root@localhost ~]# virsh edit 虛擬機(jī)名稱                                  //編輯虛擬機(jī)的配置文件
[root@localhost ~]# virsh domrename 原名字 要更改的名字 
#  比如:([root@localhost~]# virsh domrename test01 test03)    更改虛擬機(jī)名稱
[root@localhost qemu]# virsh dominfo test02                           //查看虛擬機(jī)的詳細(xì)信息
[root@localhost ~]# virsh autostart test02                               //設(shè)置虛擬機(jī)為開機(jī)自啟
[root@localhost ~]# virsh autostart --disable test02                //取消開機(jī)自啟
[root@localhost~]# virsh vncdisplay test02                          //查看對(duì)應(yīng)的VNC連接端口號(hào);默認(rèn)第一個(gè)端口號(hào)為:5900(用“:0”表示)
[root@localhost ~]# virsh suspend test02                             //掛起虛擬機(jī)
[root@localhost ~]# virsh resume test02                               //取消掛起虛擬機(jī)
[root@localhost ~]# virsh console test02                              //console方式登陸虛擬機(jī)
[root@localhost ~]# qemu-img info /kvm/disk/test01.raw      //查看虛擬機(jī)的磁盤信息
[root@localhost disk]# qemu-img create test.raw 2G           //創(chuàng)建虛擬機(jī)使用的磁盤
[root@localhost disk]# qemu-img create -f qcow2 123.qcow2 2G      //創(chuàng)建qcow2格式的虛擬機(jī)磁盤
[root@localhost disk]# qemu-img convert -f raw -O qcow2 test.raw test.qcow2   //將test.raw磁盤格式raw轉(zhuǎn)換為qcow2
[root@localhost qemu]# virsh snapshot-create test02        //創(chuàng)建虛擬機(jī)快照
[root@localhost disk]# virsh snapshot-list test02               //查看虛擬機(jī)快照
[root@localhost disk]# virsh snapshot-revert test02 1570692304     //恢復(fù)快照
[root@localhost disk]# virsh snapshot-delete test02 1570692304     //恢復(fù)快照
[root@localhost disk]# virt-clone --auto-clone -o test01  -n 指定要克隆的名字(可選)        //自動(dòng)克隆虛擬機(jī)
[root@localhost disk]# virt-clone -o test01 -n test04 -f /kvm/disk/test04.qcow2    //手動(dòng)克隆
#上述都是屬于完整克隆。
[root@localhost disk]# qemu-img create -f qcow2 -b test01.qcow2 lktest01.qcow2
// -f:指定要克隆為的磁盤格式;
//-b:指定要轉(zhuǎn)換的源文件及目標(biāo)文件
//上述命令是在克隆虛擬機(jī)的磁盤文件

———————— 本文至此結(jié)束,感謝閱讀 ————————

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI