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能夠實現遠程更換。

相關文章
相關標籤/搜索