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

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

一 分析安装包

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

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

1.下载convirt-tools.shell

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

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文件中的app

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源下载。tcp

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能够实现远程更换。

相关文章
相关标签/搜索