使用libvirt管理虛擬機器

2021-06-26 22:19:09 字數 2498 閱讀 9375

在server和client端都安裝libvirt-bin

修改服務端的/etc/libvirt/libvirtd.conf配置檔案,去掉listen_tls=0和listen_tcp=1前面的#號

在tcp驗證的地方新增auth_tcp = 「none」

修改/etc/default/libvirtd-bin(因為預設的/etc/init.d/libvirtd-bin預設啟動的就是這個)

使用/etc/init.d/libvirt-bin stop停止服務,然後使用/etc/init.d/libvirt-bin start,如果啟動有什麼錯誤,記得看下/var/log/libvirt/libvirtd.log日誌,看守護程序是否啟動的話使用netstat –nlp就好了,n標示不需要解析網域名稱,l標示顯示listen狀態的埠其他不顯示,p標示顯示埠對應的程序名,看到有16509埠標示正常(跟你的配置檔案有關)

在客戶端使用下面命令遠端連線

使用virsh domxml-from-native命令將我們前面建立虛擬機器用的qemu-kvm命令轉換成可以被libvirt使用的domain xml檔案。建立乙個檔案並將我們的qemu-kvm命令輸入其中如下內容

然後使用virsh domxml-from-native qemu-argv命令匯出xml檔案並儲存,刪掉xml檔案中的uuid和mac位址,並且修改qemu-system-x86_64為/usr/bin/qemu-system-x86_64(實際路徑),修改~/img/win_xp.img為/home/kvmserver/img/win_xp.img

然後將檔案移動到新的目錄

將xml檔案移動到客戶端

再使用virsh命令建立虛擬機器前需要在伺服器的對應目錄下建立乙個磁碟映象檔案

第一次執行命令發現建立失敗

虛擬機器的cpu虛擬化要開啟

再次執行命令發現還是建立失敗,提示tap1裝置不存在,tun許可權不夠,直接修改xml的配置,修改網路配置為橋接,不再自己建立網絡卡後再指定,使用virsh會自動建立乙個新的網絡卡,注意許可權配置

然後修改vnc的監聽位址為0.0.0.0,最後修改後的xml檔案如下

win_xp

2300fadc-5533-4a9a-b4bb-efd6c47fccfe

524288

524288

1hvm

destroy

restart

destroy

/usr/bin/qemu-system-x86_64

設定kvmserver的磁碟iso映象

將xml建立檔案從server傳回client

在template目錄下啟動virsh(中間報錯是因為我忘記server的光碟機選擇的iso檔案但是沒連線)

開啟vnc

使用vnc遠端連線

結果發現明明建立的是10g的磁碟,但是現在空間居然只有1mb

仔細檢查xml檔案,發現我們的磁碟的驅動格式為raw,應該改為qcow2

安裝完成後啟動指令碼如下,儲存為start_xp.xml

win_xp

2300fadc-5533-4a9a-b4bb-efd6c47fccfe

524288

524288

1hvm

destroy

restart

destroy

/usr/bin/qemu-system-x86_64

使用 libvirt建立和管理KVM虛擬機器

1.libvirt介紹 libvirt是乙個軟體集合,便於使用者管理虛擬機器和其他虛擬化功能,比如儲存和網路介面管理等等。libvirt概括 起來包括乙個api庫 乙個 daemon libvirtd 和乙個命令列工具 virsh libvirt的主要目標是 提供一種單一的方式管理多種不同的虛擬化提...

libvirt建立和管理KVM虛擬機器

create disk qemu img create f raw test4.raw 8g install virt install name test4 hvm ram 1024 vcpu 2 disk path test4.raw network network default cdrom r...

KVM 使用 Libvirt遠端獲取虛擬機器資訊

libvirt 是乙個軟體集合,便於使用者管理虛擬機器和使用其他虛擬化功能。包括三個部分 libivrt 目標是提供一種單一的方式管理多種不同的虛擬化方式 libvirt 主要功能包括 獲取每個 instance 的 domain 並獲取一些基本資訊 import libvirt conn libv...