zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    继承(二)
    抽象和封装(一)
    系统优化——建立linux回收站机制
    kvm-web管理工具webvirtmgr
    云产品类别及其特点(转)
    zabbix通过agent监控linux主机
    zabbix通过snmp监控linux主机
    zabbix通过snmp监控windows主机
    zabbix的安装
    运维各技术方向及其成熟的技术分支
  • 原文地址:https://www.cnblogs.com/yehewudi/p/8709154.html
Copyright © 2011-2022 走看看