virsh日常管理命令
virsh日常管理命令
- virsh日常管理命令
- 創建vm實例
- 規范網卡編號從0開始
- Centos7最小化安裝環境勾選
- VM實例建議只分配`/`分區
- 查看vm列表
- 啟動vm實例--start
- vm實例(軟)關機--shutdown
- vm實例斷電關機--destroy
- vm實例(軟)重啟--reboot
- vm實例重命名--domrename
- vm實例掛起--suspend
- 查看vm實例掛起之后的運行進程
- vm實例恢復--resume
- 查看vnc端口號--vncdisaplay
- vm實例開機自啟
- 查看哪些vm實例開機自啟
- 查看vm實例是否開機自啟
- vm實例配置管理命令
- --config, --live, --current
- 查看虛擬機信息
- 查看虛擬機磁盤
- 查看虛擬網卡
- 查看vm實例的虛擬接口IP地址--domifaddr(不管用)
- 查看vm實例的cpu數量--vcpucount
- 查看/導出vm實例配置--dumpxml
- 導入vm實例配置--define
- 刪除vm實例配置文件--undefine
- 修改vm實例配置--edit
- 修改內存的大小--setmem
- 設置內存的最大值--setmaxmem
- 修改虛擬處理器的數量--setvcpus
- 修改vm實例的網絡配置--net-edit
- 刪除vm實例的網卡
- console控制臺管理
- vm實例中添加ttyS0許可
- Centos7的console配置
- RHEL8的console配置
- RHEL9的console配置
- console控制臺登陸vm
virsh日常管理命令
參考1: https://blog.csdn.net/vast0906/article/details/75549263
參考2: https://mp.weixin.qq.com/s?src=3×tamp=1673845152&ver=1&signature=8t9e7mpq30t0Q9NNpuhVGldTgflPvvJ9rFrKCCHlzjcPb1xHZgkvwMbTpJdYASGhqXhKY-FObZ1rAK7Se4p9a5t3kXUpZg5DVEpLIDZYcFYodqA6X6bad2X35WZOVHySAyuT0FQ97ogdQ9ULF3MvJoMcPcy5mtXb0aPcwP8=
參考3: https://blog.51cto.com/aaronstudy/1417425
| quit | 結束 virsh,回到 Shell |
| connect | 連接到指定的虛擬機服務器 |
| create | 創建一個新的虛擬機 |
| destroy | 刪除一個虛擬機 |
| start | 開啟(已定義的)非啟動的虛擬機 |
| define | 從 XML定義一個虛擬機(導入配置) |
| undefine | 取消定義的虛擬機(刪除配置) |
| dumpxml | 轉儲虛擬機的設置值 |
| list | 列出虛擬機 |
| reboot | 重新啟動虛擬機 |
| save | 存儲虛擬機的狀態 |
| restore | 回復虛擬機的狀態 |
| suspend | 暫停虛擬機的執行 |
| resume | 繼續執行該虛擬機 |
| dump | 將虛擬機的內核轉儲到指定的文件,以便進行分析與排錯 |
| shutdown | 關閉虛擬機 |
| setmem | 修改內存的大小 |
| setmaxmem | 設置內存的最大值 |
| setvcpus | 修改虛擬處理器的數量 |
創建vm實例
https://www.cnblogs.com/wshenjin/p/11082906.html
注意,參數指定的路徑要kvm用戶有讀寫權限才可以正常創建。
規范網卡編號從0開始
https://blog.csdn.net/omaidb/article/details/128706852
之前默認的網卡都是eth0,Centos7.6只會的系統會以ens33開頭
Centos7最小化安裝環境勾選
VM實例建議只分配/分區
分區建議只分配/,swap視情況而定
查看vm列表
# 查看所有開機的vm實例 virsh list# 查看所有vm實例,包括關機 virsh list --all啟動vm實例–start
# 啟動vm實例 virsh start vm名稱vm實例(軟)關機–shutdown
Linux通過acpid服務來執行電源關閉的動作,vm實例如果沒有安裝acpiid服務,使用virsh可能無法關機.
# vm實例安裝acpid電源管理服務 yum install -y acpid# vm實例啟動acpid電源管理服務 systemctl enable --now acpid# 將vm實例關機 virsh shutdown vm名稱vm實例斷電關機–destroy
在shutdown無響應的情況下才推薦執行,暴力關機,可能會丟數據
# 斷開vm實例電源 virsh destroy vm名稱vm實例(軟)重啟–reboot
# vm實例(軟)重啟 virsh reboot vm名稱vm實例重命名–domrename
kvm低版本不支持domrename命令
# vm實例重命名 virsh domrename vm名稱vm實例掛起–suspend
# vm實例掛起 virsh suspend vm名稱查看vm實例掛起之后的運行進程
# 查看掛起之后的運行進程 ps -ef|grep qemuvm實例恢復–resume
# vm實例恢復 virsh resume vm名稱查看vnc端口號–vncdisaplay
# 查看vnc端口號 virsh vncdisplay vm名稱vm實例開機自啟
kvm宿主機的libvirt服務啟動后,指定vm實例隨宿主機啟動。
# 設置vm實例開機自啟 virsh autostart vm名稱# 取消vm實例開機自啟 virsh autostart --disable vm名稱查看哪些vm實例開機自啟
# 查看哪些vm實例開機自啟 ll /etc/libvirt/qemu/autostart/查看vm實例是否開機自啟
# 查看vm實例是否開機自啟 virsh dominfo vm名稱 | grep -i autostartvm實例配置管理命令
–config, --live, --current
- –config(寫入到VM實例的配置文件,下次VM生效)
使用–config時,只會修改對應虛擬機的XML配置。這個配置直到虛擬機下一次啟動時才會生效。注意,使用virsh reboot domain并不會讓新的設置生效!
- –live(立即生效)
當使–live時,客戶機(就是虛擬機)必須是活動狀態,配置會立即生效。可以看到,如果使–live時,客戶機沒有啟動,系統會報錯的。而且,這時并沒有將配置寫到虛擬機的XML配置中,即,在虛擬機下一次啟動時,這個配置就沒了。
如果hypervisor支持的話,可以同時使用–config 和 --live。
- –current
使用 --current時,會根據當前客戶機的狀態來生效。這個說的有點隱晦,實際上就是說,當客戶機處于關閉狀態時,它等價–config;當客戶機處于運行狀態時,它等價于–live。
查看虛擬機信息
# 查看虛擬機信息 virsh dominfo vm名稱查看虛擬機磁盤
# 查看指定虛擬機的磁盤 virsh domblklist vm名稱查看虛擬網卡
# 查看虛擬網卡 virsh domiflist vm名稱查看vm實例的虛擬接口IP地址–domifaddr(不管用)
# 查看vm實例的虛擬接口IP地址 virsh domifaddr vm名稱查看vm實例的cpu數量–vcpucount
# 查看vm實例的cpu數量 virsh vcpucount vm名稱查看/導出vm實例配置–dumpxml
# 查看vm實例配置 virsh dumpxml vm名稱# 導出vm實例配置 virsh dumpxml vm名稱 > /tmp/vm名稱.xml導入vm實例配置–define
# 導入vm實例配置 virsh define vm名稱 /tmp/vm名稱.xml刪除vm實例配置文件–undefine
推薦先destroy(關閉vm電源),再undefine,否則虛擬機關機后會消失。
# 關閉vm電源 virsh destroy vm名稱# 刪除vm實例配置 virsh undefine vm名稱修改vm實例配置–edit
使用virsh edit有自動語法檢查功能,配置錯誤的將無法保存。
# 修改vm實例配置 virsh edit vm名稱修改內存的大小–setmem
https://www.cnblogs.com/wshenjin/p/11083337.html
# 修改內存的大小 ## 通過--live參數直接生效 ### maxmemory=2048 最大可用內存,擴容時不能超過這個數值 virsh setmem vm名稱 --size 524288 --live --config設置內存的最大值–setmaxmem
https://www.cnblogs.com/wshenjin/p/11083337.html
需要關閉虛擬機再配置
修改虛擬處理器的數量–setvcpus
https://www.cnblogs.com/wshenjin/p/11086655.html
# 查看vm示例限定的最大CPU virsh vcpucount vm名稱 # 修改虛擬處理器的數量 ## --maximum 限定的最大CPU核數,擴容時不能超過這個數值 virsh setvcpus vm名稱 --maximum 4 --config# 可以通過--live參數直接生效 ## 支持熱增加,但不支持熱減少 ### maxvcpus=10 最大使用CPU核數,擴容時不能超過這個數值 virsh setvcpus vm名稱 --count 2 --live修改vm實例的網絡配置–net-edit
# 修改vm實例的網絡配置 virsh net-edit --network hostonly刪除vm實例的網卡
https://www.cnblogs.com/wshenjin/p/11060636.html
console控制臺管理
vm實例中添加ttyS0許可
如果vm實例不指定console端口和波特率,是無法通過virsh console控制的。
# 備份Grup文件 cp /boot/grub2/grup.cfg{,.bak}# 更新內核參數配置 ## 115200是波特率 ## n8的意思是8位 grubby --update-kernel=ALL --args="console=ttyS0,115200n8"# vm實例重啟后console生效 rebootCentos7的console配置
# 查看Centos7的console配置 grep console /boot/grub2/grub.cfgRHEL8的console配置
# 查看RHEL8的grup配置 grep console /boot/grub2/grub.cfgRHEL9的console配置
# 查看RHEL9的grup配置 grep console /boot/grub2/grub.cfgconsole控制臺登陸vm
# console控制臺登陸vm virsh console vm名稱總結
以上是生活随笔為你收集整理的virsh日常管理命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三秒钟快速破解加密的PDF文件
- 下一篇: 【Rust日报】 2019-02-09