ovirt一種基於kvm的開源虛擬化軟件


  ovirt,這是我的第二份工作,一個資本運作特別成功的公司,我很佩服老大們圈錢的能力,但是我並不喜歡他們對技術的追求,也是這個公司,讓我明白了,從開源軟件的二次開發,其實只要簡單的換logo和圖片就可以稱之為商業軟件,但是這種行為真的很難看,雖然我也做過- -

  其實ovirt 很好用,我從3.4一直用到了3.6,到現在公司的私有雲平台依舊使用的ovirt做的IAAS層,因為不花錢,其實當時考慮過vmware的破解版,但是vmware想改一些東西太麻煩,搞這個起碼還可以很愉快的登陸到后台,出錯可以進行恢復,下面來寫一下關於使用一年ovirt的心得與體會吧

從以下幾點來說吧

1,什么是ovirt

2,ovirt的組織架構

3,ovirt的三種搭建模式

4,ovirt的排錯

5,ovirt-engine cleanup方法

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無法接入域控用戶認證

    1. 檢查/etc/hosts 文件 ,是否能ping通域名
    2. 檢查/etc/resolve.conf文件,是否能解析域名
    3. 檢查域控服務器是否安裝dns服務
    4. 域控服務器中新建的admin用戶是否隸屬於超級管理員
    5. 是否開啟了委派模式
    6. 都沒有問題,域控服務器中刪除admin用戶重新創建(到這部已經是人類無法解釋的問題了)    

   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更改時間

    1. 執行timedatectl命令查看當前時間
    2. 執行timedatectl set-ntp no
    3. 修改時間,執行timedatectl set-time “當前時間”
    4. 執行timedatectl set-local-rtc 1
    5. 執行hwclock -–systohc --localtime
    6. 執行timedatectl set-local-rtc 0
    7. 執行timedatectl set-ntp yes
    8. 執行timedatectl查看當前時間是否修改成功

    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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM