kvm虛擬化管理平台的實現
根據kvm虛擬化管理的要求,設計並實現網頁操作管理kvm虛擬機器。設計原理架構如下圖所示:
1.前台具體實現:
根據要求實現如下功能設計圖:
wsgi伺服器 :flask雖然內建了簡單的wsgi伺服器,但其效能僅僅適用於開發期的除錯。 flask官網推薦了多種wsgi伺服器,實現方式從多程序到多執行緒到協程, 這方面的選擇我們在本課程中將不涉及。
至此,可以使用flask的route功能進行開發了。
前台工程框架**結構,如下圖所示:
**結構:
接下來是前台頁面的設計,登入頁使用html和css實現,如下圖所示為login.html的實現:
登入之後跳轉到首頁index.html頁面:
之後就可以使用kvm cloud系統建立並管理操作虛擬機器了。
建立虛擬機器頁面的功能頁面vm_create.html實現:
然後是虛擬機器列表vm_list.html的實現,顯示虛擬機器列表和虛擬機器的詳細資訊:
點選虛擬機器名稱可以跳轉到虛擬機器引數調整和操作功能vm_detail.html頁面:
如果在vm_list.html頁面點選虛擬機器的console對應列的遠端操作,將可以頁面遠端並操作虛擬機器,如下分別是linux的vnc遠端方式介面,ssh遠端方式介面,windows的vnc遠端方式介面。
linux的vnc遠端:
linux的ssh遠端:
windows的vnc遠端:
然後是磁碟新增的實現,建立虛擬磁碟disk_create.html實現:
輸入引數之後點選建立即可建立虛擬磁碟,然後跳轉到磁碟列表disk_list.html頁面:
如圖,可以掛在磁碟到對應的虛擬機器,解除安裝和刪除磁碟。掛載之後可以通過fdisk -l命令檢視虛擬機器磁碟資訊:
5)啟動redis:#redis-server redis.conf
6)停止redis例項
/usr/local/redis/bin/redis-cli shutdown
或者pkill redis-server
7)讓redis開機自啟
vim /etc/rc.local
加入/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
如圖是**的結構圖:
目錄結構是:
其中,主程式檔案是kvm.py檔案,實現監聽redis並執行shell指令碼返回結果發布到redis中。vm_info.list檔案記錄了建立虛擬機器時的狀態資訊列表,vm_list檔案記錄了虛擬機器當前在kvm宿主機的狀態列表。disk_list檔案記錄了磁碟的狀態資訊列表。如下:
#cat vm_info.list
xp01 1 2048000 10 windows_xp running
centos 1 2048000 10 linux_centos running
#cat vm_list
centos|192.168.0.105|1|2048000|centos|running
xp01|192.168.0.133|1|2048000|winxp|running
#cat vm_list
sdb|10|unuse
其次,前台頁面vnc遠端虛擬機器需要在宿主機安裝novnc程式做**,建立連線**到虛擬機器的vnc服務埠,才可以在頁面實現websockity的訪問。以下是建立連線**的監聽指令碼start_vm_vnc.sh,虛擬機器母盤製作都預設使用5901作為vnc服務的監聽埠:
頁面的ssh遠端訪問linux使用了shellinabox開源工具實現,在linux母盤中安裝並設定開機啟動即可,基於母盤建立的虛擬就也會有了。shellinabox安裝如下:
部署shellinabox:
1) 安裝依賴:
#yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool
2)獲取源**:
#git clone && cd shellinabox
3)生成編譯配置資訊:
#autoreconf -i
4)配置和編譯:
#./configure && make
5)安裝:
#make install
6)配置生成安全證書:
#openssl genrsa -des3 -out my.key 1024
#openssl req -new -key my.key -out my.csr
#cp my.key my.key.org
#openssl rsa -in my.key.org -out my.key
#openssl x509 -req -days 3650 -in my.csr -signkey my.key -out my.crt
#cat my.crt my.key > certificate.pem
7)啟動:
#/usr/local/bin/shellinaboxd -c /root -u root -b
#/usr/local/bin/shellinaboxd --disable-ssl -c /root -u root -b(不使用https)
8)檢視監聽埠:
#netstat -ntpl |grep 4200
9)檢視監聽程序:
#ps -ef |grep shell
10)瀏覽器訪問:
至此,kvm虛擬化管理系統前後臺實現完成。
KVM虛擬化平台
一 kvm虛擬化平台 1 常見的虛擬化平台 1 windows虛擬平台 hyper v 2 vmware esxl 3 linux虛擬化平台 kvm4 容器虛擬化 docker 2 kvm的作用和架構 1 作用 kvm虛擬化引用程式 linux核心2.6以後都支援不需要編譯安裝 2 架構 計算機硬體...
開源KVM虛擬化平台 Jimv
在日常工作中隨著伺服器的增多對於運維來說,我們需要乙個web虛擬化管理平台,在搭建openstack,zstack等開源虛擬化平台過程中還是遇到了很多問題,結合日常工作機緣巧合讓我遇到了jimv,值得推薦給大家,為日常工作解決了很大一部分問題。推薦的原因很多,一鍵式快速安裝,自定義映象模板,擴容 快...
kvm虛擬化儲存管理
kvm 的儲存虛擬化是通過儲存池 storage pool 和卷 volume 來管理的。storage pool 是宿主機上可以看到的一片儲存空間,可以是多種型 volume 是在 storage pool 中劃分出的一塊空間,宿主機將 volume 分配給虛擬機器,volume 在虛擬機器中看到...