天天看點

運維自動化之Cobbler安裝部署

運維自動化安裝方面,早期一般使用人工配置pxe+dhcp+tftp配合kickstart,現在開源工具就多了,如cobbler,OpenQRM和Spacewalk。本文重點介紹Cobbler。

Cobbler介紹

Cobbler是一個快速網絡安裝linux的服務,而且在經過調整也可以支援網絡安裝windows。該工具使用python開發,小巧輕便(才15k行代碼),使用簡單的指令即可完成PXE網絡安裝環境的配置,同時還可以管理DHCP,DNS,以及yum包鏡像。

<a href="http://s1.51cto.com/wyfs02/M01/76/A3/wKiom1ZYDpbg3htWAAEK8cVpfHo475.jpg" target="_blank"></a>

Cobbler支援指令行管理,web界面管理,還提供了API接口,可以友善二次開發使用。

和Kickstart不同的是,使用cobbler不會因為在區域網路中啟動了dhcp而導緻有些機器因為預設從pxe啟動在重新開機伺服器後加載tftp内容導緻啟動終止。

cobbler的安裝部署配置

cobbler安裝環境準備

對于centos本身源 ,可根據自己所在地選擇離自己近的鏡像源,比如mirrors.163.com或mirrors.sohu.com

1、安裝epel

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2、安裝其它相關軟體

yum install dhcp cobbler httpd xinetdtftp-server  cman debmirror rsyncpykickstart -y

3、關閉selinux,關閉iptables

   關閉後最好重新開機一下,讓selinux的設定生效

4、設定http服務

vi/etc/httpd/conf.d/wsgi.conf

LoadModule wsgi_modulemodules/mod_wsgi.so  #取消前面的注釋

5、修改參數

    sed -i '/disable/c\\tdisable\t\t\t= no'/etc/xinetd.d/tftp

    sed -i -e 's/\=\ yes/\=\ no/g'/etc/xinetd.d/rsync

    重新開機xinetd服務(xinetd負責管理rsync,tftp服務)

    service xinetd restart

    修改debmirror.conf配置檔案

     sed-i -e 's|@dists=.*|#@dists=|' /etc/debmirror.conf

     sed-i -e 's|@arches=.*|#@arches=|' /etc/debmirror.conf

    openssl passwd -1 -salt '任意字元串' '123456'  #生成預設模闆下系統安完後root賬号

    登入密碼為123456

    $1$osyunwei$sEV8iwXXuR4CqzLXyLnzm0  #記錄下這行,下面會用到

    vim /etc/cobbler/settings  #編輯,修改以下幾項目配置

    default_password_crypted:"$1$osyunwei$sEV8iwXXuR4CqzLXyLnzm0"此處原來為預設密碼

    next_server:192.168.1.2 本機IP

    server: 192.168.1.2  本機IP

    manage_dhcp: 1 使用cobbler來管理dhcp

    配置dhcp伺服器

    vi /etc/cobbler/dhcp.template   #編輯,修改

    subnet 192.168.1.0 netmask 255.255.255.0 { #設定網段

    optionrouters            192.168.1.2; #設定網關(可為本機IP)

    option domain-name-servers202.106.0.20,114.114.114.114; #設定dns伺服器位址

    optionsubnet-mask        255.255.255.0; #設定子網路遮罩

    rangedynamic-bootp       192.168.1.100 192.168.1.200; #設定dhcp伺服器IP位址租用範圍

    default-lease-time        21600;  #預設租約時間

    max-lease-time            43200;  #最大租約時間

    next-server                       #本機IP;

    下載下傳引導檔案  cobbler get-loaders

    挂載鏡像

    本地CD光牒

      mount/dev/cdrom /mnt

    導入到cobbler

      cobblerimport --path=/mnt/ --name=CentOS_6.6_Final

    網絡鏡像

    cobbler import--path=rsync://centos.ustc.edu.cn/centos/6.6/os/i386/ --name=centos-6.6-i386

    本次安裝腳本使用系統預設腳本  位置/var/lib/cobbler/kickstarts預設模版目錄

   擴充閱讀部分

   在第一次導入系統鏡像時,cobbler會給安裝鏡像指定一個預設的kickstart自動安裝檔案

    通過cobbler profile report 指令可檢視目前預設的ks檔案

    cobbler distro report --nameCentOS-5.10-x86_64 #檢視安裝鏡像檔案資訊

    cobbler profile remove--name=CentOS-5.10-x86_64  #移除profile

    cobbler profile add --name=CentOS-5.10-x86_64 --distro=CentOS-5.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-5.10-x86_64.ks  #添加                                 

    cobbler profile edit --name=CentOS-5.10-x86_64 --distro=CentOS-5.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-5.10-x86_64.ks  #編輯     

    指令:cobbler profile add|edit|remove --name=安裝引導名--distro=系統鏡像名 --kickstart=kickstart自動安裝檔案路徑

    --name:自定義的安裝引導名,注意不能重複

    --distro:系統安裝鏡像名,用cobbler distro list可以檢視

    --kickstart:與系統鏡像檔案相關聯的kickstart自動安裝檔案

    #檢視Cobbler清單指令

    cobbler list

    cobbler report

    cobbler profile report

    cobbler distro list

   #通過profile查找對應的kickstart自動安裝檔案檔案

    例如:

    ksfile=$( cobbler profile report --name CentOS-5.10-x86_64|grep -E '^Kickstart' |head -n 1|cut -d ':' -f 2 );cat$ksfile;

    重複上面的操作,把其他的系統鏡像檔案和kickstart自動安裝檔案關聯起來

    注意:

    1、kickstart自動安裝檔案需要預先配置好

    2、每次修改完配置檔案,需要執行一次同步操作:cobbler sync 配置才能生效

    3、kickstart自動安裝檔案可以用工具生成(需要用到圖形界面操作)

    yum  installsystem-config-kickstart #安裝

    yum groupinstall "X WindowSystem" #安裝X Window圖形界面

    system-config-kickstart #運作kickstart配置

    service  cobbler  sync  #與cobbler sync作用相同

    service  cobbler restart  #重新開機cobbler

6、設定開機啟動

    chkconfig httpd on

    chkconfig cobblerd on

    chkconfig xinted on

    chkconfig dhcpd on

7、啟動服務

    servicehttpd restart 如果報錯

    打開/etc/httpd/conf/httpd.conf

    将ServerNamewww.example.com:80前面的#号去掉

    servicexinetd restart

    service cobblerd restart

8、同步cobbler配置

   執行 cobbler sync

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

至此,就可以使用虛拟機來測試cobbler安裝了。

9、Cobbler測試安裝

使用vmware虛拟機,将伺服器新增一塊網卡,模式設定為虛拟網卡VMnet,并配置IP位址,用戶端網卡也必須使用此模式與伺服器在同一網絡,并且VMnet的名字要一緻。

否則用戶端将無法dhcp配置設定到位址。

以下是Linuxkvm虛拟機中的測試

在啟動的時候選擇PXE的模式。

<a href="http://s3.51cto.com/wyfs02/M01/76/A2/wKioL1ZYEkiiZE5BAAF_rWwBkLw880.jpg" target="_blank"></a>

然後就能看到下面的圖示内容。虛拟機通過dhcp獲得了122段的ip,然後通過tftp獲得到pxe的啟動檔案。

<a href="http://s2.51cto.com/wyfs02/M00/76/A3/wKiom1ZYEfeSnO6kAAG6KXjE_94973.jpg" target="_blank"></a>

下圖是cobbler的pxe安裝啟動菜單,這裡有我們剛剛建立好的CentOS版本。

<a href="http://s1.51cto.com/wyfs02/M01/76/A3/wKiom1ZYEgfwnINYAAEHWaWMurI785.jpg" target="_blank"></a>

系統安裝使用預設的ks檔案,經過短暫的等待,系統就自動被安裝好了。

<a href="http://s2.51cto.com/wyfs02/M00/76/A2/wKioL1ZYEnvx8tQNAADzfKNVFDQ210.jpg" target="_blank"></a>

安裝好的系統如下圖所示。

<a href="http://s2.51cto.com/wyfs02/M00/76/A2/wKioL1ZYEomwlOSRAAC_JTGdslY407.jpg" target="_blank"></a>

安裝使用心得

以上所有内容雖然是在kvm虛拟機上測試的,但完全可以直接使用于生産環境中,不會給現有環境帶來任何影響。唯一需要做的就是規劃好現有網絡。

對于很多人擔心的生成環境開啟DHCP服務問題,我認為不會對現有生産環境産生任何影響,理由有二:

1、沒有人會在裝好系統後讓網卡使用dhcp模式,通常都是為網卡配置靜态ip

2、從測試過程中看到,就算是伺服器預設設定成了通過pxe啟動,而且也順利的通過pxe啟動了,但之後會收到cobbler的引導菜單。如果預設沒有任何選擇的話,20秒後會使用local方式加載,也就是啟動硬碟上的系統。

綜上所述,cobbler還是很安全的。

擴充閱讀:

Cobbler目錄說明:

1、Cobbler配置檔案目錄:/etc/cobbler

/etc/cobbler/settings   #cobbler主配置檔案

/etc/cobbler/dhcp.template   #DHCP服務的配置模闆

/etc/cobbler/tftpd.template   #tftp服務的配置模闆

/etc/cobbler/rsync.template   #rsync服務的配置模闆

/etc/cobbler/iso   #iso模闆配置檔案

/etc/cobbler/pxe   #pxe模闆檔案

/etc/cobbler/power  #電源的配置檔案

/etc/cobbler/users.conf   #Web服務授權配置檔案

/etc/cobbler/users.digest   #用于web通路的使用者名密碼配置檔案

/etc/cobbler/dnsmasq.template   #DNS服務的配置模闆

/etc/cobbler/modules.conf   #Cobbler子產品配置檔案

2、Cobbler資料目錄:/var/lib/cobbler

/var/lib/cobbler/config #配置檔案

/var/lib/cobbler/triggers  #Cobbler指令

/var/lib/cobbler/kickstarts  #預設存放kickstart檔案

/var/lib/cobbler/loaders  #存放的各種引導程式

3、系統安裝鏡像目錄:/var/www/cobbler

/var/www/cobbler/ks_mirror #導入的系統鏡像清單

/var/www/cobbler/images  #導入的系統鏡像啟動檔案

/var/www/cobbler/repo_mirror #yum源存儲目錄

4、日志目錄:/var/log/cobbler

/var/log/cobbler/install.log  #用戶端系統安裝日志

/var/log/cobbler/cobbler.log  #cobbler日志

本文轉自 jvrmusic520  51CTO部落格,原文鍊http://blog.51cto.com/linuxtech/1717503接:

繼續閱讀