前言:
使用開源的虛擬化技術,對公司自有的少數服務器進行虛擬化,在知足業務需求的同時,並未增長投入,同時也避免了使用雲主機的不便,技術層面,kvm是開源的虛擬化產品,虛擬化性能出衆,更重要的是免費!!!WebVirtMgr做爲kvm虛擬化的web管理工具,圖形化的WEB,讓人能更方便的查看kvm 宿主機的狀況和操做,使用kvm+webvirtmgr即可知足當前場景的業務需求,虛擬化的同時,也可以進行便捷的管理。採用純Python開發,其前端是基於Python的Django,後端是基於Libvirt的Python接口,將平常kvm的管理操做變的更加的可視化。WebVirtMgr 介紹
WebVirtMgr 特色
- 操做簡單,易於使用
- 經過libvirt的API接口對kvm進行管理
- 提供對虛擬機生命週期管理
WebVirtMgr 功能
宿主機管理支持如下功能
- CPU利用率
- 內存利用率
- 網絡資源池管理
- 存儲資源池管理
- 虛擬機鏡像
- 虛擬機克隆
- 快照管理
- 日誌管理
- 虛機遷移
虛擬機管理支持如下功能
- CPU利用率
- 內存利用率
- 光盤管理
- 關/開/暫停虛擬機
- 安裝虛擬機
- VNC console鏈接
- 建立快照
WebVirtMgr 管理工具安裝
一 webvirtmgr管理服務器配置
二 webvirtmgr服務器(服務端)與kvm服務器(客服端)鏈接配置
KVM WEB管理工具——WebVirtMgr(二)平常配置
- 配置宿主機
一、登陸WebVirtMgr管理平臺,訪問地址http://webvirtmgrIP/loginhtml
二、添加宿主機前端
選擇首頁的WebVirtMgr -->Addd Connectionpython
選擇「SSH連接「,設置Label,IP,用戶linux
注意:Label與IP要相同nginx
- 虛機部署
一、建立存儲池git
點擊前面建立的宿主機,進入虛擬機部署界面github
點擊「存儲池」按鈕,建立存儲池(即建立磁盤鏡像存放的位置)web
注意:docker
建立存儲池時,首先要在宿主機上建立一個目錄,而後在」路徑「設置欄中添加該目錄數據庫
例:mkdir /home/kvm/teststorage -p
二、添加磁盤鏡像
建立完成後以下:
三、宿主機網卡的橋接模式設置
四、建立網絡池
五、建立虛機
選擇「custom install」用戶自定義建立虛機
六、虛機掛載ISO鏡像
七、啓動虛機
點擊「啓動」按鈕後,打開虛機電源。
點擊控制檯按鈕,進入操做系統安裝界面
八、虛機IP地址設置
當虛機安裝完成後,給虛機設置靜態IP地址
例:[root@vmtest01~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=172.16.1.199
NETMASK=255.255.255.0
GATEWAY=172.16.1.1
DNS1=172.16.1.1
- webvirtmgr克隆虛機操做
一、關閉正在運行的虛機
二、進入虛機配置界面,在克隆配置項,爲新的虛機的「名字」,「MAC地址」,「磁盤鏡像」進行設置
三、啓動虛機,進入系統,對/etc/udev/rules.d/70-persistent-net.rules 文件作以下修改
修改後
四、編輯/etc/sysconfig/network-scripts/ifcfg-eth0 修改虛機的網卡配置,爲虛機分配新的IP地址
五、重啓系統 使網卡從新註冊,讓配置生效
reboot
- webvirtmgr虛機磁盤擴容(新增磁盤)
1 關閉虛機
2 對虛機的xml文件的disk域添加以下代碼
場景一:新增一塊磁盤
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/> ---添加改行代碼找到新增磁盤格式
<source file='/home/kvm/teststorage/entd01.img'/> --指定新增磁盤路徑
<target dev='vda' bus='virtio'/> --指定磁盤設備名稱,和傳輸總線類型
</disk>
場景二:新增多塊磁盤
已新增兩塊盤爲例:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/home/kvm/teststorage/entd01.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/home/kvm/vm/waq02-clone.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
3 啓動虛機,而後在虛機系統內部對磁盤進行格式化,分區等操做。
總結:
- 建立虛擬機後,默認的主機名、IP地址還得在虛機控制檯設置,太麻煩,下一步嘗試使用gusetfs的命令行工具,編寫一個腳本對虛擬機的鏡像文件進行預處理以解決這個問題。
- KVM集羣中虛擬機要作到實時遷移,必須配合集中存儲,並且須要在每一個物理機上將其配置爲存儲池。目前我所瞭解的廉價、可擴展性好的集中存儲方案有Ceph與Glusterfs,下一步須要對比這兩種方案,以找出最合適的方案
- KVM集羣中的虛擬機若是所有采用靜態設置IP地址,管理查看虛機的IP地址將很麻煩;若是所有采用動態獲取IP地址,則須要在網絡內部安裝dhcp服務器,而後可在dhcp服務器上管理查看虛機的IP地址。很顯而後一種方案更合理一點,但這個還須要驗證
- webvirtmgr並非像openstack同樣的虛擬化一站式解決方案,它的工做原理其中就是經過一個web頁面,將多臺物理機接入進來,而後經過libvirt分別管理每一個物理機上的計算資源。要建立虛擬機時,纔是管理員自行找到一個合適的物理,而後在上面建立虛擬機。那麼在KVM集羣環境,存儲已經經過Ceph或Glusterfs方案解決了,當要建立某個配置的虛擬機時,最好能有一個調度器,依據CPU、內存的需求,幫助管理員從衆多物理機中選取一個合適的物理機。簡單處理,也許能夠寫一個腳本,根據CPU、內存的需求自動得出一個物理機選取推薦列表,以供管理員參考
- webvirtmgr所部署的主機需考慮高可用方案。簡單處理能夠將其作成docker鏡像,一旦發現該服務故障了,能夠快速地在其它地方啓動起來
信息參考:
http://www.javashuo.com/article/p-qkrcdhba-bc.html
https://blog.51cto.com/niubdada/1981760?tdsourcetag=s_pcqq_aiomsg
原文出處:https://www.cnblogs.com/xiaoyuxixi/p/11599301.html