網站首頁 編程語言 正文
KVM (全稱是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平臺上的全功能虛擬化解決方案,包含一個可加載的內核模塊 kvm.ko 提供和虛擬化核心架構和處理器規范模塊。
使用 KVM 可允許多個包括 Linux 和 Windows 每個虛擬機有私有的硬件,包括網卡、磁盤以及圖形適配卡等。
下面給大家介紹下KVM基礎命令,內容如下所示:
KVM虛機相關命令:
開機:virsh start test1
關機:virsh shutdown test1
強制關機:virsh destroy test1
重新啟動:virsh reboot test1
通過配置文檔啟動主機:virsh create /etc/libvirt/qemu/test1.xml
查看主機狀態:virsh list --all
停止/掛機虛擬機:virsh suspend test1
保存虛擬機:virsh save test1
還原虛擬機:virsh resume test1
從一個已存在的設備配置文件新建一個虛擬機:
virsh dumpxml test1 >/etc/libvirt/qemu/test2.xml
qemu-img create -f qcow2 test2.img 20G
使用virt-install初始化安裝一個Centos系統
# virt-install --connect qemu:///system \ #如果使用kvm安裝,并且使用的root,默認為此,基于xen或者其它,可參考man virt-install
--n test1 \ #指定虛擬機的顯示名稱
--c /mnt/centos6.4-x86_64.iso #指定安裝鏡像,也可以指定cdrom直接安裝,如:-c /dev/sr0
--r 2048 \ #指定內存,默認為MB
--arch=x86_64 \ #指定arch模型
--vcpus=2 --check-cpu --cpuset=0-1 \ #指定cpu0,1作為虛擬機的CPU,此處綁定了CPU
--os-type=linux --os-variant=rhel6 \ #指定系統類型和版本
--disk path=/var/lib/libvirt/p_w_picpaths/test1.img,device=disk,bus=virtio,spare=true -s 10 \ #指定磁盤信息,使用virtio驅動加載
--network bridge=br0 \ #指定橋接模式,并指定通過br0網卡進行橋接
--noautoconsol --autostart \ #不自動開啟控制臺,并且隨主機自啟動
--vnc #提供vnc端口訪問,在這里可以設置密碼,也可以不設置
--force
修改內存/CPU:
修改內存大小:virsh setmem test1 4G #默認單位為KB
設置內存的最大值:virsh setmaxmem test1 8G
增大VCPU數量:virsh setvcpus test1 8
備份/還原:
備份:virsh save --bypass-cache test1 /var/lib/libvirt/save/test1_1.save --running
還原:virsh restore/var/lib/libvirt/save/test1_1.save--bypass-cache --running
快照管理:
如果要使用kvm的快照功能,就必須使用qcow2的磁盤格式,而raw只支持內存快照,如果不是,請參考第3節內容修改
查看快照:virsh snapshot-list test1
創建快照:virsh snapshot-create test1 test1.snap1
恢復到快照:virsh snapshot-revert test1 test1.snap1
刪除快照:virsh snapshot-delete test1 test1.snap1
KVM虛擬機的遷移
virsh migrate --live test1 qemu+tcp//destnationip/system tcp://destnationip
原文鏈接:https://www.cnblogs.com/ahaocloud/p/16210561.html
相關推薦
- 2022-10-24 解析Golang中引用類型是否進行引用傳遞_Golang
- 2022-08-23 Python解析器Cpython的GIL解釋器鎖工作機制_python
- 2022-07-02 react 替換頁面頭圖標失敗
- 2022-07-19 typedef struct LNode *p和typedef struct LNode筆記
- 2022-05-08 C++類中隱藏的幾個默認函數你知道嗎_C 語言
- 2022-12-28 Django初步使用Celery處理耗時任務和定時任務問題_python
- 2022-10-02 Blender?Python編程快速入門教程_python
- 2022-06-21 C語言詳解如何實現帶頭雙向循環鏈表_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支