日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

kvm--virsh命令行下管理虚拟机

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kvm--virsh命令行下管理虚拟机 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

virsh 既有命令行模式,也有交互模式,在命令行直接輸入 virsh 就進入交互模式, virsh 后面跟命令參數,則是命令行模式;


(1)基礎操作 --- 命令行下管理虛擬機

virsh list??????????   列出當前宿主機上處于運行狀態的虛擬機
virsh list --all???   列出當前宿主機上所有的虛擬機
virsh start vm1     (虛擬機name) 開啟某一臺虛擬機
virsh shutdown vm1?? (虛擬機name) 正常關閉一臺虛擬機
virsh destroy vm1????? 強制關閉某一臺虛擬機
virsh autostart vm1??? 開機自啟動虛擬機vm1
virsh autostart? --disable vm1 關閉開機自啟動
virsh edit vm1??     編輯某個虛擬機的配置文件
virsh pool-list??     列出存儲池

2)創建新磁盤?

qemu-img create -f qcow2(指定磁盤格式) -o size=9G(指定大小) /var/lib/libvirt/images/haha.qcow2(路徑和名稱)

/var/lib/libvirt/image/為磁盤鏡像的默認路徑。

注意注定磁盤大小的時候不能有空格,否則報錯

[root@localhost images]# qemu-img create -f qcow2 -o size =9G /var/lib/libvirt/images/haha.qcow2
qemu-img: Invalid image size specified! You may use k, M, G, T, P or E suffixes for 
qemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.[root@localhost images]# qemu-img create -f qcow2 -o size=9G /var/lib/libvirt/images/haha.qcow2
Formatting '/var/lib/libvirt/images/haha.qcow2', fmt=qcow2 size=9663676416 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@localhost images]# qemu-img info haha.qcow2

?

3)查看磁盤情況

qemu-img info 磁盤名

[root@localhost images]# qemu-img info /var/lib/libvirt/images/haha.qcow2 
image: haha.qcow2
file format: qcow2
virtual size: 9.0G (9663676416 bytes)
disk size: 196K    #實際占用磁盤196k,最高可用9G
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false

4)命令行下創建 && 管理虛擬機
Virt-install:      命令行下創建虛擬機的命令,不過在它后面需要跟上很多的參數
??? --name:       虛擬機的名字。
??? --disk Location:   磁盤映像的位置。
??? --graphics :     怎樣連接 VM ,通常是 SPICE 。
??? --vcpu :       虛擬 CPU 的數量。
??? --ram :       以兆字節計算的已分配內存大小。
??? --location :     指定安裝源路徑
??? --network :     指定虛擬網絡,通常是 virbr0 或者自己設定的 br0

?

例如:創建一個磁盤

路徑為/var/lib/libvirt/image/?

指定cpu內存為1g

cpu數量為1

以spice方式連接vm

執行虛擬網絡為自設網橋br0

virt-install --name=test --disk path=/var/lib/libvirt/image/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/export/download/software/iso/CentOS-7.3-x86_64-DVD.iso --network bridge=br0

注意磁盤路徑與磁盤安裝源路徑的區別。

由于使用virsh命令創建虛擬機同樣還需要在圖形化界面操作,所以用的不多,了解就行。

?

5)其余重要的一些virsh命令


virsh define? ?xx.xml? ? ? ? ? ? ? ? 從一個 XML 文件定義、恢復(但不開始)一個域
virsh undefine? xx? ? ? ? ? ?刪除一個虛機域

?

KVM 通過virsh console連入虛擬機

?

定義:在宿主機上直接能夠連通創建的虛擬機并執行操作,功能類似于ssh。

?前提:新安裝一臺虛擬機后,是無法通過virsh console 命令連入虛擬機中的,這時我們需要開啟虛擬機的console功能。

我們這里以centos7以上的版本做說明:

?

(1)在被連接的虛機里執行

[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"

?

(2)重啟此機

[root@localhost ~]# reboot

?

3)在宿主機上執行

[root@localhost ~]# virsh console vm5
連接到域 vm5
換碼符為 ^]            #ctrl ] 退出1、一直hang在這個狀態無法連接上虛擬機,這是因為宿主機通過ttyss0連接虛擬機,但被連接主機沒有設置或者沒有設置成功。
2、或者grubby命令沒有下載,yum安裝后再次嘗試

3、VNC Viewer 遠程管理kvm主機

前提是宿主機內的虛擬機狀態為開啟

(1)在window中安裝VNC Viewer 軟件,一直點下一步就行。

?

?

?2 )輸入宿主機的ip地址。

點擊Continue,即可連接里面的虛機

?

?

五、KVM虛擬化透傳

?

KVM 虛擬化需要處理器對虛擬化技術的支持,當我們需要進行虛擬機嵌套虛擬機時,我們需要讓虛擬機中處理器對 VT 功能的支持達到透傳的效果。

nested 虛擬機嵌套( kvm on kvm ):nested 技術,簡單的說,就是在虛擬機上跑虛擬機。

KVM 虛擬機嵌套和 VMWare 原理不同, VMWare第一層是用的硬件虛擬化技術,第二層就是完全軟件模擬出來的,所以 VMWare 只能做兩層嵌套。 KVM 是將物理 CPU 的特性全部傳給虛擬機,所有理論上可以嵌套 N 多層。

1、查看一層客戶端是否支持 VT


grep vmx(svm) /proc/cpuinfo

如果查詢未果,證明一層 KVM 的虛擬機,并未將宿主機處理器的 VT 功能成功透傳。

因此我們需要透傳。

?

2、在物理服務器上(宿主機)為嵌套虛擬機做準備 --- CPU 虛擬化透傳

注意查看你的虛擬機架構支持的是amd還是intel

[root@localhost ~]# cat /etc/modprobe.d/kvm-nested.conf 
options kvm_amd nested=1

?

3、在宿主機啟用 kvm_amd 模塊的嵌套虛擬化功能,并且使透傳永久有效
(2)重新加載 kvm 模塊
# modprobe -r kvm_amd? ? ? -r參數:remove掉kvm_amd模塊
# modprobe kvm_amd? ? ? ? ? ? 加載kvm_amd模塊

?

4、驗證是否加載成功
#cat /sys/module/kvm_intel/parameters/nested

1或者y證明加載成功。

0和N或者沒有返回值證明沒加載成功。

重新加載modprobe模塊或者查看架構是支持intel還是amd來稍微更改下模塊和目錄。

[root@localhost ~]# cat /sys/module/kvm_amd/parameters/nested 
1

?

5、編輯需要做虛擬化透傳的虛擬機的配置文件

更改下面綠綠的一行即可。

host-passthrough 直接將物理 CPU 暴露給虛擬機使用,在虛擬機上完全可以看到的就是物理 CPU的型號(我們前面介紹過kvm透傳就是將宿主機的cpu特性全部傳給被透主機)

root@localhost ~]# virsh edit vm4
<domain type='kvm'><name>vm4</name><uuid>98c5d257-6b75-493b-91db-66589b582733</uuid><memory unit='KiB'>1048576</memory><currentMemory unit='KiB'>1048576</currentMemory><vcpu placement='static'>1</vcpu><os><type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type></os><features><acpi/><apic/></features><cpu mode='host-passthrough'/>        #刪除下面兩行<clock offset='utc'><timer name='rtc' tickpolicy='catchup'/>

6、進入透傳虛擬機中查看cpu是否透傳成功

[root@localhost ~]# lsmod | grep kvm
kvm_amd                69849  0 
kvm                   566340  1 kvm_amd
irqbypass              13503  1 kvm

?

7、在被透傳虛擬機中查看cpu是否支持虛擬化

次數大于0證明透傳成功,可以開始虛擬機嵌套了。

svm是支持amd架構

vmx支持intel架構

[root@localhost ~]# egrep svm /proc/cpuinfo | wc -l
1

?

轉載于:https://www.cnblogs.com/xiaoxiaotiejiang/p/11082756.html

總結

以上是生活随笔為你收集整理的kvm--virsh命令行下管理虚拟机的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。