虛擬化KVM常用命令匯總

KVM(Kernel-based Virtual Machine)是一種開源的硬件虛擬化解決方案,它是 Linux 內核的一部分,允許在支持虛擬化技術的硬件(如?Intel VT-x 或 AMD-V)上運行虛擬機。

KVM 將 Linux 內核轉變為一個裸機虛擬機監控器(Hypervisor),使用戶可以運行多個隔離的虛擬機,并且每個虛擬機都可以運行自己的操作系統(如 Linux、Windows 或其他)。

1. 虛擬機基本操作

1.1 查看虛擬機列表

virsh list --all

--all:顯示所有虛擬機,包括運行中和停止的。

1.2 啟動虛擬機

virsh start <虛擬機名稱或ID>

1.3 關閉虛擬機

virsh shutdown <虛擬機名稱或ID>

這是安全關閉,等效于按下虛擬機中的電源按鈕。

1.4 強制關閉虛擬機

virsh destroy <虛擬機名稱或ID>

注意:這是強制操作,可能導致數據丟失。

1.5 重啟虛擬機

virsh reboot <虛擬機名稱或ID>

等效:shutdown + start。

1.6 掛起和恢復虛擬機

掛起虛擬機:

virsh?suspend?<虛擬機名稱>

恢復掛起的虛擬機:

virsh resume <虛擬機名稱>

1.7 刪除虛擬機

virsh undefine <虛擬機名稱>

注意:此命令僅刪除虛擬機配置,不刪除磁盤文件。

2. 虛擬機資源管理

2.1 查看虛擬機信息

virsh dominfo <虛擬機名稱>

輸出信息包括 ID、狀態、內存、CPU 等。

2.2 獲取虛擬機的 XML 配置

virsh dumpxml <虛擬機名稱>virsh dumpxml my-vm > my-vm.xml

2.3 編輯和導出虛擬機的 XML 配置

virsh edit <虛擬機名稱>#將當前安裝好的虛擬機配置文件導出 
virsh dumpxml linux1 >linux1.xml 
#生成新的UUID 
uuidgen 
#注:修改導出的xml文件,避免UUID和mac地址重復 

使用系統默認編輯器打開虛擬機的 XML 文件進行編輯。

2.4 定義新虛擬機

virsh define <XML配置文件>

2.5 調整虛擬機內存

virsh setmem <虛擬機名稱> <內存大小>[K|M|G]virsh setmem my-vm 2G

2.6 調整虛擬機 CPU

virsh setvcpus <虛擬機名稱> <CPU數量> --config

--config:永久更改。

3. 存儲管理

3.1 查看存儲池

virsh pool-list --all

3.2 創建存儲池

virsh pool-create <XML配置文件>virsh pool-create pool.xml

3.3 查看存儲卷

virsh vol-list <存儲池名稱>virsh vol-list default

3.4 創建存儲卷

virsh vol-create <存儲池名稱> <XML配置文件>virsh vol-create default volume.xml

4. 網絡管理

4.1 列出網絡

virsh net-list --all

4.2 創建網絡

virsh net-create <XML配置文件>

4.3 刪除網絡

virsh net-destroy <網絡名稱>
virsh net-undefine <網絡名稱>

5. 快照管理

5.1 創建快照

virsh snapshot-create-as <虛擬機名稱> <快照名稱> --description?"<描述>"

5.2 恢復快照

virsh snapshot-revert <虛擬機名稱> <快照名稱>

5.3 其它命令

#Linux1為虛擬機名稱,laster為快照名稱 
virsh snapshot-create-as linux1 laster --disk-only 
#創建后查看快照 
virsh snapshot-list 
#恢復到指定快照 
virsh snapshot-revert linux1 laster 
#刪除快照 
virsh snapshot-delete linux1 laster 
#查看當前虛擬機快照的xml文件 
virsh snapshot-current linux1 
#查看當前快照詳細信息 
virsh snapshot-info linux1 laster3 
#列出所有快照 
virsh snapshot-list linux1 

5.2 恢復快照

6. 鏡像管理

6.1 創建磁盤鏡像

qemu-img create -f qcow2 <鏡像路徑> <大小>qemu-img create -f qcow2 /var/lib/libvirt/images/my-vm.qcow2 20G

6.2 查看鏡像信息

qemu-img info <鏡像路徑>

7. 虛擬機控制臺

7.2 打開虛擬機console

#進入虛擬機運行
grubby --update-kernel=ALL --args="console=ttyS0"

7.1 連接到虛擬機控制臺

virsh console <虛擬機名稱>

退出控制臺:按 Ctrl + ]。

8. 性能監控

8.1 查看實時性能

virsh domstats <虛擬機名稱>

8.2 查看虛擬機的 VCPU 信息

virsh vcpuinfo <虛擬機名稱>

8.3 查看虛擬機 I/O 信息

virsh blkstat <虛擬機名稱>

查看幫助信息

virsh?help
virsh?help?<命令>

9. 安裝虛擬機

9.1 安裝

virt-install --name linux5 \ 
--vcpus=1 \ 
--ram=1024 \ 
--disk path=/mnt/data/linux5.qcow2,size=20 \ 
--location=/mnt/data/iso/openEuler-24.03-LTS-x86_64-dvd.iso \ 
--network bridge=br0  \ 
--nographic \ 
-x "console=ttyS0" \ 
--osinfo detect=on,require=off #-x  "console=ttyS0" 用于指定虛擬機啟動時使用 ttyS0(串口 0)作為控制臺。該虛擬機會通過串口輸出信息,而不是圖形界面。 
#--location指定安裝程序的來源位置 
#--disk path 指定虛擬機的磁盤鏡像文件及其大小 
#--nographic指示虛擬機以無圖形模式(命令行模式)啟動 

10. 壓縮克隆虛擬機

10.1 壓縮

#避免默認目錄存儲空間不足,這里修改默認緩存目錄 
mkdir /mnt/new/data/tmp 
chmod 777/mnt/new/data/tmp/ #臨時生效 
export TEMP=/mnt/new/data/tmp 
export TMPDIR=/mnt/new/data/tmp #寫入配置文件,使其永久生效 
echo 'export TEMP=/mnt/new/data/tmp' >> /etc/profile 
echo 'export TMPDIR=/mnt/new/data/tmp' >> /etc/profile 
source /etc/profile #壓縮文件 
#virt-sparsify --compress 源文件 壓縮后的鏡像名 
virt-sparsify --compress rocky9.qcow2 rocky_ll.qcow2 

10.2 克隆虛擬機

#-o 要克隆的虛擬機名  -n克隆后的虛擬機名   -f要存放的目錄 
virt-clone -o linux2 -n linux5 -f /mnt/data/linux5 

這些命令適用于大多數 KVM 管理場景,配合 virt-manager 等圖形化工具,可以更高效地管理 KVM 虛擬化環境。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94518.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

6s081環境配置以及使用vscode連接本地wsl2

6s081環境配置以及使用vscode連接wsl2 本人環境&#xff1a;windows11、wsl2ubuntu20.04 課程&#xff1a;6s081的2020版本的:https://pdos.csail.mit.edu/6.S081/2020/schedule.html 一、wsl2ubuntu20.04配置6s081環境 注&#xff1a;關于如何在window中安裝wsl&#xff0c;這…

C++實現線程池(3)緩存線程池

三. CachedThreadPool 的實現3.1 需求:動態調整線程數量&#xff1a;與 FixedThreadPool 不同&#xff0c;CachedThreadPool 的線程數量是動態調整的。當有新任務提交時&#xff0c;如果線程池中有空閑的線程&#xff0c;則會立即使用空閑線程執行任務&#xff1b;如果線程池中…

WMS+自動化立庫:無人倉的現在進行時

傳統倉庫正面臨嚴峻挑戰&#xff1a;效率瓶頸日益凸顯&#xff0c;人力成本持續攀升&#xff0c;空間利用率逼近極限&#xff0c;而訂單響應速度卻難以滿足市場需求。如何破局&#xff1f;WMS&#xff08;倉庫管理系統&#xff09;與自動化立體庫&#xff08;AS/RS&#xff09;…

多模態大模型研究每日簡報【2025-08-05】

訓練數據相關 EditGarment: An Instruction-Based Garment Editing Dataset Constructed with Automated MLLM Synthesis and Semantic-Aware Evaluation (https://arxiv.org/abs/2508.03497)&#xff1a;提出了一種自動化的流程&#xff0c;用于構建服裝編輯數據集EditGarmen…

4、docker數據卷管理命令 | docker volume

1、命令總覽命令作用出現頻率備注★ docker volume create新建卷高-d 指定驅動&#xff0c;-o 指定驅動選項★ docker volume ls列出卷高--filter danglingtrue 查孤兒卷★ docker volume inspect查看卷詳情高輸出 JSON&#xff0c;可加 --format★ docker volume rm刪除卷高只…

計數組合學7.14(對偶 RSK 算法)

7.14 對偶 RSK 算法 存在 RSK 算法的一種變體&#xff0c;其與乘積 ∏i,j(1xiyj)\prod_{i,j}(1 x_{i}y_{j})∏i,j?(1xi?yj?) 的關系類似于 RSK 算法本身與 ∏i,j(1?xiyj)?1\prod_{i,j}(1 - x_{i}y_{j})^{-1}∏i,j?(1?xi?yj?)?1 的關系。我們稱此變體為對偶 RSK 算法…

C語言中的進程、線程與進程間通信詳解

目錄 引言 基本概念 1. 進程&#xff08;Process&#xff09; 2. 線程&#xff08;Thread&#xff09; 線程編程實戰 1. 常見線程庫 2. 合理設置線程數 3. pthread 創建線程 線程同步機制 1. 互斥鎖 pthread_mutex_t 2. 條件變量 pthread_cond_t 3. 讀寫鎖 pthread…

[假面騎士] 555淺談

假面騎士555(faiz)是我最先接觸的一部平成系列的假面騎士&#xff0c;同時也是我個人最喜歡的一部假面騎士。一、大綱簡介震驚&#xff0c;人類最新的進化形態——奧菲一諾&#xff0c;橫空出世&#xff01;日本的頂級財團&#xff0c;Smart Brain&#xff0c;的前任社長&#…

Vue Router 路由的創建和基本使用(超詳細)

一、路由的基本概念 你是否好奇單頁應用&#xff08;SPA&#xff09;是如何在不刷新頁面的情況下實現頁面切換的&#xff1f;這就離不開路由的功勞。 路由&#xff1a;本質是一組 key-value 的對應關系&#xff0c;在前端領域中&#xff0c;key 通常是路徑&#xff0c;value …

深入理解設計模式:策略模式的藝術與實踐

在軟件開發中&#xff0c;我們經常會遇到需要根據不同情況選擇不同算法或行為的場景。傳統的做法可能是使用大量的條件語句&#xff08;if-else或switch-case&#xff09;&#xff0c;但隨著需求的增加和變化&#xff0c;這種硬編碼的方式會導致代碼難以維護和擴展。策略模式&a…

概率/期望 DP llya and Escalator

題目鏈接&#xff1a;Problem - D - Codeforces 看了這篇文章來的&#xff1a;【算法學習筆記】概率與期望DP - RioTian - 博客園 這篇博客寫得挺好的&#xff0c;講了一些常見方法&#xff0c;概率 / 期望的題多練練就上手了。 題目大意&#xff1a; n 個人排隊上電梯&…

大陸電子MBDS開發平臺轉到其他國產控制器平臺產生的問題記錄

u8_StComLowSpdGearSwt變量為例&#xff0c;之前用的時候只有輸入&#xff0c;沒什么實際意義&#xff0c;導致新環境下編譯報錯&#xff0c;缺少聲明&#xff0c;解決辦法&#xff1a;注釋掉輸入模塊。今天解決的另一個比較大的問題&#xff0c;不同模型函數公用函數模塊生成代…

機器學習模型調優實戰指南

文章目錄模型選擇與調優&#xff1a;從理論到實戰1. 引言2. 模型評估&#xff1a;為選擇提供依據2.1 偏差-方差權衡2.2 數據集劃分與分層抽樣2.3 交叉驗證&#xff08;Cross-Validation&#xff09;2.4 信息準則&#xff08;AIC / BIC&#xff09;3. 超參數調優&#xff1a;讓模…

【教程】Unity CI/CD流程

測試機&#xff1a;紅帽 Linux8 源碼倉庫&#xff1a;Gitee - MrRiver/Unity Example ? 系統環境準備 1&#xff09;yum 源 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo sudo sed -i s/\$releasever/8/g /etc/yum.repos…

文獻閱讀 | Briefings in Bioinformatics | Hiplot:全面且易于使用的生物醫學可視化分析平臺

文獻介紹文獻題目&#xff1a; Hiplot&#xff1a;一個綜合且易于使用的 Web 服務&#xff0c;用于增強出版物準備的生物醫學數據可視化 研究團隊&#xff1a; Openbiox/Hiplot 社區 發表時間&#xff1a; 2022-07-05 發表期刊&#xff1a; Briefings in Bioinformatics 影響因…

【數字圖像處理系列筆記】Ch04:灰度變換與空間域圖像增強(2)

目錄 一、空域濾波基礎 一、空域濾波的基本概念 二、空域濾波的數學原理 三、空域濾波器的分類與典型示例 &#xff08;一&#xff09;線性濾波器&#xff08;Linear Filter&#xff09; &#xff08;二&#xff09;非線性濾波器&#xff08;Non-linear Filter&#xff0…

AI浪潮下,FPGA如何實現自我重塑與行業變革

引言&#xff1a;AI 與 FPGA&#xff0c;新時代的碰撞 2025 年&#xff0c;人工智能技術迎來爆發式增長&#xff0c;大模型、生成式 AI 和多模態技術持續突破&#xff0c;人形機器人量產元年正式開啟&#xff0c;自動駕駛商業化進程加速&#xff0c;工業數字化轉型全面鋪開(1)…

系統集成項目管理工程師【第十一章 規劃過程組】定義范圍、創建WBS、規劃進度管理和定義活動篇

系統集成項目管理工程師【第十一章 規劃過程組】定義范圍、創建WBS、規劃進度管理和定義活動篇 一、定義范圍&#xff1a;給項目畫好"邊界線" 定義范圍是明確項目和產品"做什么、不做什么"的過程&#xff0c;直接影響后續所有工作的方向。 1. 核心概念與作…

Spring Boot 參數校驗全指南

Spring Boot 參數校驗全指南 在 Web 開發中&#xff0c;參數校驗是保障接口安全性和數據合法性的關鍵環節。手動編寫校驗邏輯不僅繁瑣&#xff0c;還容易遺漏邊界情況。Spring Boot 整合了 validation 工具&#xff0c;提供了一套簡潔高效的參數校驗方案&#xff0c;可快速實現…

常用技術資料鏈接

1.team技術 https://zhuanlan.zhihu.com/p/11389323664 https://blog.csdn.net/Lucky_Lu0/article/details/121697151 2.bond切換主備 https://www.xgss.net/3306.html 3.ssh詳解&#xff1a; https://cloud.tencent.com/developer/news/105165 https://blog.huochengrm.c…