ConVirt宿主机自动部署方法概述

本文是探讨在基于RHEL/CentOS5系列linux上部署convirt宿主机,以KVM作为Hypervisor。由于一台CMS可以管理足够的宿主机,所以部署一台CMS将不是很大的问题,在以后会研究自动部署CMS。

一 分析安装包

对于安装过ConVirt的朋友一定知道,官网WIKI提供的方式是先下载convirture官方的yum源文件,然后通过连网再去下载安装CMS和convirture-tools的相关软件,结合本地linux的yum源解决相关的软件依赖问题。一般情况下,对于部署少量的几台宿主机而言,连网外网下载也不会有很大问题,但是若批量部署宿主机,几百台,几千台甚至更多那按照官方步骤安装的话将是一个麻烦的工作,况且连外网部署也具有一定的安全风险。为了能够快速批量的部署宿主机,我作了多方的研究和测试。

这里我想提一点,在研究虚拟化之前,我也只是了解一些,对于怎么样去实际部署,怎么样去选择软件,shell,python,kickstart,lvm,nfs都只是出于了解阶段,但是实际问题放在这,就要想尽办法去实现,不会的现学,不了解的就去了解。我觉得运维最重要的是要有思路,要学会分析问题。

1.下载convirt-tools.

http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz

2.解压convirture-tools到home目录下。在官方wiki看到,在安装convirture-tools之前,需要以root用户执行./convirt-tool install_dependencies 然后再执行./convirt-tool setup。因此在安装CentOS5.6系统时就将相应的软件包安装好,会省去很多麻烦。

通过分析软件包里的脚本文件在/home/convirture-tools/common/scripts里的RedHat_functions文件了找到如下代码

 

  
  
  
  
  1. #install convirt tool dependencies  
  2. install_dependencies(){  
  3.    cd /etc/yum.repos.d  
  4.   if [ "${VER%.*}" == "6" ]; then  
  5.       wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo  
  6.    else  
  7.      wget --no-cache http://www.convirture.com/repos/definitions/rhel/5.x/convirt.repo  
  8.    fi  
  9.    $SUDO yum -y install dnsmasq tunctl tcp_wrappers socat expect pexpect  
  10. }  

 可以看到在进行setup之前需要安装dnsmasq,tunctl,tcp_wrappers,socat,expect,pexpect,其中socat是centos自带光盘中没有的包,其余的都是可以通过光盘镜像中获取,因此,只需到http://www.convirture.com/repos/definitions/rhel/5.x/convirt.repo文件中的

http://www.convirture.com/repos/deps/RHEL/5.x/去下载好32为的或64为的socat备用。然后将代码修改为

  
  
  
  
  1. #install convirt tool dependencies  
  2. install_dependencies(){  
  3. #   cd /etc/yum.repos.d  
  4. #   if [ "${VER%.*}" == "6" ]; then  
  5. #      wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo  
  6. #   else  
  7. #      wget --no-cache http://www.convirture.com/repos/definitions/rhel/5.x/convirt.repo  
  8. #   fi  
  9.    $SUDO yum -y install dnsmasq tunctl tcp_wrappers socat expect pexpect  
  10. }  

这样在安装系统的过程中就不从convirt的官方下载软件,以方便从自己搭建的yum源下载。

3.作修改后重新打包convirt-tools。备用。

4.搭建自己的yum源。本文采用web服务器存放CentOS5.6的镜像内容,并将下载好的socat,重新打包好的convirt-tools放到web服务器上。

二 部署分析

实际上部署和安装一般的linux没啥区别,就是在部署时尽量只安装需要的软件包,多余的不要,将尽量多的资源分配给虚拟机,以提高虚拟机性能。部署情况有以下几种

1.如果是全新安装部署,服务器都还在机房里没有发出去,可以采用PXE方式安装,定制好kickstart 文件就可以批量安装了。

2.我们的需求是要逐步更换正在运行的Vmware和XenServer,而且服务器没有远控。最先想到的就是用U盘引导+kickstart到现场去安装

3.由于我们使用的服务器一部分在公司,另一部分托管到别的机房,所以第2种方案有点费神费力。于是我开始研究是否可以在线远程更换。通过编辑grub+vmlinuz+initrd.img+kickstart+vnc可以实现远程更换。

 

 

你可能感兴趣的:(自动部署,convirt,宿主机)