天天看點

運維自動化Cobbler批量部署RedHat

系統環境:redhat 5.5

redhat 5.5預設的系統中沒有cobbler,需要先安裝一個源,我這裡使用的是epel的。

1.安裝cobbler倉庫

#64位:   

wget http://mirrors.ustc.edu.cn/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm

rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm 

2. 安裝cobbler所需的軟體

 yum -y install cobbler dhcp httpd xinetd tftp-server  

# cobbler的配置檔案在/var/lib/cobbler/和/etc/cobbler下(不同版本可能不同)

# xinetd tftp-server用來做tftp伺服器,pxe啟動需要。

# httpd伺服器主要存放ks檔案和安裝CD光牒。注意 /var/www/cobbler 目錄必須具有足夠容納 Linux 安裝檔案的空間(移動,建軟連結)

3.啟動cobbler,并配置

 /etc/init.d/cobblerd start    

  cobbler check

會出現一些需要配置的地方,按照提示修改,大概有如下幾個地方:

(1)編輯/etc/cobbler/settings檔案,找到 server選項,修改為cobbler server的ip位址,找到 next_server選項,也修改為此位址

(2)執行 cobbler get-loaders,系統将自動下載下傳loader程式,完成提示的修複工作

(3)提示說debmirror沒安裝。如果不是安裝 debian之類的系統,此提示可以忽略,如果需要安裝,下載下傳位址為:

 http://rpmfind.net/linux/rpm2html/search.php?query=debmirror

首先安裝其依賴包

 yum install ed patch perl perl-Compress-Zlib perl-Cwd perl-Digest-MD5

perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl

 (4)修改系統的預設密碼,預設為cobbler,可以使用如下指令生成密碼,并使用生成後的密碼替換/etc/cobbler/settings中的密碼。(default_password_crypted:處)生成密碼指令:

openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'       

其中“random-phrase-here”為幹擾碼,可以随便輸入

然後把“default_password_crypted”字段修改為openssl生成的新密碼。

4.導入iso檔案

cobbler import --path==/mnt/redhatISO(CD光牒所在位置) --name=RHEL-5.5-X86-64(名字随便)

然後會在/var/www/cobbler/ks_mirrors下的RHEL-5.5-X86-64目錄下。同時會建立一個名字為RHEL-5.5-X86-64的一個釋出版本,以及一個名字為RHEL-5.5-X86-64的profile檔案。

#cobbler list         # 檢視導入結果,應包含一個xen的  

5. 配置dhcp服務

 首先修改cobbler配置,讓cobbler來管理dhcp服務,編輯檔案/etc/cobbler/settings

manage_dhcp: 1      

接下來修改/etc/cobbler/dhcp.template,此檔案是cobbler管理dhcp的模闆

隻需要如下所示

subnet 192.168.10.0 netmask 255.255.255.0 {
     option routers             192.168.10.1;
     option domain-name-servers 8.8.8.8;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.10.100 192.168.10.254;
     filename                   "/pxelinux.0";
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
}      

6.生成并同步所有配置

#cobbler sync

7. 啟動相關服務

 service xinetd start   

service dhcpd start   

service cobblerd start

8. 測試安裝伺服器

啟動另一台新伺服器,通過 PXE 啟動進入,然後會進入藍色的 Cobbler 安裝界面,選擇安裝項,幾分鐘之内就能一氣呵成,自動完成系統安裝。

9. 重裝系統

此步驟cobbler會自動進行初始化工作,移除已經存在的啟動項,然後根據模闆拷貝loader檔案。之後再生成pxe的配置檔案,生成dhcp的配置檔案,最後再重新開機dhcp服務。

# 在要重裝的機器安裝koan   

yum install koan

#檢視cobbler伺服器有哪些安裝盤   

koan --list-profiles --server=192.168.1.2 

#選擇要重裝的系統并重新開機   

koan --replace-self --server=192.168.1.2 --profile=CentOS-5-4-x86-64  

然後reboot的時候系統就會重裝了。

PS:需要安裝simplejson軟體包,最新版下載下傳位址:

http://pypi.python.org/pypi/simplejson/

最新版的  simplejson要求python 2.6+以上的

我的python 2.4,是以下載下傳 的http://www.oschina.net/p/simplejson simplejson-2.0.9.tar.gz版本(python setup.py install 安裝即可)

10.設定Cobbler web界面

Cobbler web界面是一個很好的前端,非常容易管理很多Cobbler操作。可以用它列出和編輯distros, profiles, subprofiles, systems, repos and kickstart檔案。

安裝Cobbler web:

yum install cobbler-web 

Cobbler web界面通路位址:

http://192.168.1.2/cobbler_web/(192.168.1.2為Cobbler web server位址)

設定使用者名密碼:

為已存在的使用者重置密碼:

htdigest /etc/cobbler/users.digest "Cobbler" cobbler 

添加新使用者:

htdigest /etc/cobbler/users.digest "Cobbler" yourname

設定/etc/cobbler/modules如下:

[authentication]  

module = authn_configfile  

[authorization]  

module = authz_allowall   

重新開機Cobbler服務:

service cobblerd restart      重新開機httpd服務,web界面就可以通路了。

PS:預設的ks檔案是/var/lib/cobbler/kickstarts/sample.ks檔案。

cobbler profile getks --name=CenOS5.5 (查找profile  CenOS5.5的ks檔案是否有問題)

11. 設定profile和system

(1) profile可以了解為按角色進行分類

下面是幾個添加删除修改profile配置的例子:

添加profile配置,名稱為:CenOS5.5,指定鏡像為:CentOS5.5-x86_64,kickstart檔案為/var/lib/cobbler/kickstarts/CentOS5.ks

cobbler profile add --name=CentOS5.5 --distro=CentOS5.5-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS5.ks

修改profile檔案,名稱為:CentOS5.5,指定鏡像由CentOS5.5-x86_64修改為CentOS5.5-i386

cobbler profile add --name=CentOS5.5 --distro=CentOS5.5-i386

變更profile配置名稱,名稱由CenOS5.5修改為CentOS5.5-i386

cobbler profile rename --name=CentOS5.5 –newname=CentOS5.5-i386

删除profile配置,需要删除的profile名稱為CenOS5.5

cobbler profile remove --name=CentOS5.5

注意:修改删除profile,profile必須存在。

(2) system是對待安裝機器做具體設定,如設定主機名、IP位址、hostname等,這些設定根據MAC應用到具體機器上。

下面是幾個添加删除修改system的例子:

添加system配置,配置檔案名稱:webserver1,機器IP位址192.168.0.110,機器MAC位址:00:0C:29:77:89:c7,使用配置檔案名稱:webserver,kickstart檔案為:/var/lib/cobbler/kickstarts/webserver.ks

cobbler system add --name=webserver1 --ip=192.168.0.110 --mac=00:0C:29:77:89:c7 --profile=webserver --kickstart=/var/lib/cobbler/kickstarts/webserver.ks --static=1

修改system配置,配置檔案名稱:webserver1,機器IP位址由192.168.0.110變更為192.168.10.110

cobbler system add --name=webserver1 --ip=192.16810.110

變更system配置名稱,名稱由webserver1變更成dbserver1

cobbler system rename --name= webserver1 –newname= dbserver1

删除system配置,需要删除的profile名稱為dberver1

cobbler system remove --name=dbserver1
Cobbler指令說明
指令名稱 指令用途
cobbler check 核對目前設定是否有問題
cobbler list 列出所有的cobbler元素
cobbler report 詳細的列出個元素
cobbler sync 同步配置到dhcp/pxe和資料目錄
cobbler reposync 同步yum倉庫
Cobbler配置檔案說明

Cobbler配置檔案存放在/etc/cobbler下。

配置檔案名稱 用  
/etc/cobbler/settings cobbler主配置檔案
/etc/cobbler dhcp、dns、pxe、dnsmasq的模闆配置檔案
/etc/cobbler/users.digest 用于web通路的使用者名密碼配置檔案
/etc/cobbler/modules.conf 子產品配置檔案
/etc/cobbler/users.conf Cobbler WebUI/Web service授權配置檔案

 Repo資料目錄/var/www/cobbler

導入的發行版,repos鏡像和kickstart檔案都放置在/var/www/cobbler目錄下。確定/var目錄有足夠的空間來存儲這些檔案。

目錄名稱 用 
p_w_picpaths/ 存儲所有導入發行版的Kernel和initrd鏡像用于遠端網絡啟動
ks_mirror/ 存儲導入的發行版
repo_mirror/ yum repos存儲目錄
/var/log/cobbler 存放日志檔案/var/log/cobbler/cobbler.log

Cobbler資料目錄/var/lib/cobbler,此目錄存儲和Cobbler profiles、systems、distros相關的配置。

configs/ 存儲distros、repos、systems和profiles相關資訊
backup/ 備份目錄 
snippets/ 放置一些可以在kickstarts導入的腳本小片段
triggers/ 放置一些可執行腳本
kickstarts/ 放置kickstart模闆檔案

繼續閱讀