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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

virsh日常管理命令

發布時間:2024/1/1 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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&timestamp=1673845152&ver=1&signature=8t9e7mpq30t0Q9NNpuhVGldTgflPvvJ9rFrKCCHlzjcPb1xHZgkvwMbTpJdYASGhqXhKY-FObZ1rAK7Se4p9a5t3kXUpZg5DVEpLIDZYcFYodqA6X6bad2X35WZOVHySAyuT0FQ97ogdQ9ULF3MvJoMcPcy5mtXb0aPcwP8=

參考3: https://blog.51cto.com/aaronstudy/1417425

help顯示該命令的說明
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用戶有讀寫權限才可以正常創建。

## --virt-type 指定虛擬化類型 ## --os-type=linux 指定操作系統類型 ## --os-variant 指定操作系統版本 ## --name 指定vm實例名稱 ## --memory 指定內存大小單位MB ### maxmemory=2048 最大可用內存,擴容時不能超過這個數值 ## --vcpus 指定cpu核數 ### maxvcpus=10 最大使用CPU核數,擴容時不能超過這個數值 ## --disk 指定vm實例的磁盤路徑 ### format=raw,size=10 指定磁盤格式為raw,磁盤大小10GB ## --cdrom 系統安裝光盤文件的路徑 ## --network 指定網絡類型,默認是NAT模式 ## --graphics vnc 把圖形畫面交給vnc的服務端來輸出 ### listen=0.0.0.0 vnc服務器監聽的IP地址 ## --noautoconsole 支持console登錄 virt-install \ --virt-type kvm \ --os-type=linux \ --os-variant rhel7 \ --name vm名稱 \ --memory 512,maxmemory=2048 \ --vcpus 1,maxvcpus=10 \ --disk /opt/centos3.qcow2 \ --boot hd --network network=default \ --graphics vnc,listen=0.0.0.0 \ --console pty,target_type=serial \ --extra-args 'console=ttyS0,115200n8 serial' \ --noautoconsole

規范網卡編號從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 qemu

vm實例恢復–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 autostart


vm實例配置管理命令


–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
需要關閉虛擬機再配置

# 設置內存的最大值 ### maxmemory=2048 最大可用內存,擴容時不能超過這個數值 virsh setmaxmem vm名稱 1572864 --config

修改虛擬處理器的數量–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生效 reboot


Centos7的console配置

# 查看Centos7的console配置 grep console /boot/grub2/grub.cfg


RHEL8的console配置

# 查看RHEL8的grup配置 grep console /boot/grub2/grub.cfg


RHEL9的console配置

# 查看RHEL9的grup配置 grep console /boot/grub2/grub.cfg


console控制臺登陸vm

# console控制臺登陸vm virsh console vm名稱

總結

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

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