ovirt,這是個人第二份工做,一個資本運做特別成功的公司,我很佩服老大們圈錢的能力,可是我並不喜歡他們對技術的追求,也是這個公司,讓我明白了,從開源軟件的二次開發,其實只要簡單的換logo和圖片就能夠稱之爲商業軟件,可是這種行爲真的很難看,雖然我也作過- -java
其實ovirt 很好用,我從3.4一直用到了3.6,到如今公司的私有云平臺依舊使用的ovirt作的IAAS層,由於不花錢,其實當時考慮過vmware的破解版,可是vmware想改一些東西太麻煩,搞這個起碼還能夠很愉快的登錄到後臺,出錯能夠進行恢復,下面來寫一下關於使用一年ovirt的心得與體會吧node
從如下幾點來講吧python
1,什麼是ovirtmysql
2,ovirt的組織架構sql
3,ovirt的三種搭建模式數據庫
4,ovirt的排錯centos
5,ovirt-engine cleanup方法api
6,ovirt-engine backup-recovery 方法服務器
1,什麼是ovirt架構
ovirt是rhev的開源版,rhev全稱爲Red Hat Enterprise virtualization,紅帽公司對企業推出的商業私有云平臺的一個軟件。其中能夠作服務器虛擬化,桌面虛擬化,比較能拿得出手的功能
1,支持spice協議、RDP協議、vnc協議
2,支持物理設備直通
3,cloud-init,開機時作一些自動化安裝工做,例如配置主機名,網卡信息,能夠定義腳本裝一下軟件包等等。。
4,貌似能夠直接接AWS的存儲或者openstack的cinder,可是沒用過,公司沒有對應的環境
5,支持各類存儲,nfs,posix,iscsi,FC
2,ovirt的組織架構
1,網頁,網頁採用GWT架構,基本國內沒有作相關開發的人員,就這個編譯環境搭建就特別麻煩,java寫的,3版本的ovirt性能不好,若是客戶端的機器性能比較低,那麼虛擬機太多批量開機時都有可能卡死,網頁支持java的api,和python的sdk接口,能夠直接調用作二次開發
2,底層,kvm很少說了,就是virsh那一套
3,數據庫,神奇的pgsql。用這個數據庫,我只想說,老外果真跟中國人不同,中國人確定會選mysql。
4,操做系統,紅帽作的,確定是rhel和centos 系列的系統
5,系統原生兼容glusterfs
3,ovirt的三種搭建模式
ovit分爲管理端與運算端,管理端他們叫爲engine,運算端統稱爲node,三種搭建模式分別爲allinone,hosted-engine,普通模式
1,allinone,這種模式3.6之後就再也不支持了,以前基本做爲測試環境
2,hosted-engine,管理端高可用模式,其中engine做爲一臺虛擬機漂在全部的node節點上,若是當engine所在的node節點鎖壞,那麼會自動遷移到另外一個node節點上。
3,普通模式,engine一臺機器,node一臺機器。engine是單點
4,ovirt的排錯,遇到的問題還算很多,整理的文檔也慢慢的都放在了這個博客上吧
1,ovirt-engine沒法接入域控用戶認證
2,如何解鎖虛擬機,當engine管理頁面中虛擬機被鎖死了,那麼可能須要進入後臺進行一些數據庫相關操做
#psql engine -U postgres -c "UPDATE vm_dynamic set status=0 where vm_guid=(select vm_guid from vms where vm_name='Win2008_QBPT');"
3,如何使用glusterfs服務,若是不使用原生的gluster服務,須要在iptables裏開啓對應端口
#vi /etc/sysconfig/iptables
-A INPUT -p tcp -m multiport --dports 24007:24047 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 38465:38467 -j ACCEPT
4,模板解鎖,同2同樣,應付模板鎖定狀況
#psql engine -U postgres -c "update vm_static set template_status=0 where entity_type::text = 'TEMPLATE'::text and vm_name='模版名稱'"
5,浪潮服務器安裝軟件後,沒法建立虛擬機,他們的服務器太垃圾,出場沒有UUID,須要找售後刷一下UUID
6,訪問engine管理端頁面登錄帳號後,無限彈出請求服務器失敗,狀態碼爲404,
1,ip衝突
2,DNS解析錯誤
7,磁盤解鎖
#update images set imagestatus=1 where imagestatus=2;
8,開啓PCIE透傳功能
(1)更改BIOS配置,在南北橋中有選項intel 爲 vt-d,ADM爲IOMMU,設置爲enable開啓狀態,重啓
(2)進入pcie硬件所在的node節點 調出命令行輸入 #vi /boot/grub2/grub.cfg,添加intel_iommu = on
(3)重啓node節點,重啓後#dmesg | grep -e DMAR -e IOMMU查看透傳功能是否開啓
後續的操做步驟不方便傳到博客上。請諒解,後續都是網頁點點點了
(4)概念理論請百度搜kvm passthrough
9,ovirt更改時間
10,node節點忽然non-resposive,重啓以後engine服務error vdsm沒法啓動
緣由:node節點硬盤空間滿了
11,multipath:error getting device報錯解決方法
1,在/etc/multipath.conf添加
blacklist {
devnode "^sda$"
devnode "^vda$"
}
2,持久化配置文件
# persist /etc/multipath.conf
5,ovirt-engine cleanup方法
#service ovirt-ha-broker stop
#service ovirt- ha-agent stop
#systemctl disable ovirt-ha-broker
#systemctl disable ovirt-ha-agent
#service vdsmd stop
#service supervdsmd stop
#service libvirtd stop
#rm /etc/libvirt/libvirtd.conf
#cp -r $CLEAN/libvirt/* /etc/libvirt/
#rm /etc/libvirt/nwfilter/vdsm-no-mac-spoofing.xml
#ln -s ../default.xml /etc/libvirt/qemu/networks/autostart
#cp -r $CLEAN/logrotate.d/* /etc/logrotate.d/
#rm /etc/ovirt-hosted-engine/answers.conf
#rm -rf /etc/ovirt-hosted-engine/firewalld
#cp -r $CLEAN/ovirt-hosted-engine-ha/* /etc/ovirt-hosted-engine-ha/
#cp -r $CLEAN/sysconfig/* /etc/sysconfig/
#rm /etc/vdsm/vdsm.conf
#rm /etc/pki/vdsm/*/*.pem
#/bin/rm /etc/pki/CA/cacert.pem
#/bin/rm /etc/pki/libvirt/*.pem
#/bin/rm /etc/pki/libvirt/private/*.pem
#chkconfig --levels 345 libvirtd on
6,ovirt-hosted-engine backup-recovery方法,個人新浪微博裏有,地址https://weibo.com/p/1001603933316213527055