歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux運維自動化之Cobbler安裝部署RHEL7.0

Linux運維自動化之Cobbler安裝部署RHEL7.0

日期:2017/2/28 13:57:41   编辑:Linux教程

一、簡介

Cobbler 可以用來快速建立 Linux 網絡安裝環境,它已將 Linux 網絡安裝的技術門檻,從大專以上文化水平,成功降低到初中以下,連補鞋匠都能學會。

網絡安裝服務器套件 Cobbler(補鞋匠)從前,我們一直在做裝機民工這份很有前途的職業。自打若干年前 Red Hat 推出了 Kickstart,此後我們頓覺身價倍增。不再需要刻了光盤一台一台地安裝 Linux,只要搞定 PXE、DHCP、TFTP,還有那滿屏眼花缭亂不知所雲的 Kickstart 腳本,我們就可以像哈裡波特一樣,輕點魔棒,瞬間安裝上百台服務器。這一堆花裡胡哨的東西可不是一般人都能整明白的,沒有大專以上學歷,通不過英語四級, 根本別想玩轉。總而言之,這是一份多麼有前途,多麼有技術含量的工作啊。

很不幸,Red Hat 最新(Cobbler項目最初在2008年左右發布)發布了網絡安裝服務器套件 Cobbler(補鞋匠),它已將 Linux 網絡安裝的技術門檻,從大專以上文化水平,成功降低到初中以下,連補鞋匠都能學會。對於我們這些在裝機領域浸淫多年,經驗豐富,老骥伏枥,志在千裡的民工兄弟們來說,不啻為一個晴天霹雳。

--------------------------------------------分割線------------------------------------------------------

系統環境

實驗環境:VMware Workstation 11

系統平台:RHEL7

網絡模式:NAT(使用本地DHCP)

Cobbler版本:2.6.9.

網段:192.168.27.0

本機IP:192.168.27.131

防火牆已關閉/iptables: Firewall is not running.

SELINUX=disabled

--------------------------------------------分割線------------------------------------------------------

前期准備

所需要用到的服務:EPEL、DHCP、TFTP、HTTP、VSFTP

注:EPEL (Extra Packages for Enterprise Linux,企業版Linux的額外軟件包) 是Fedora小組維護的一個軟件倉庫項目,為RHEL/CentOS提供他們默認不提供的軟件包。這個源兼容RHEL及像CentOS和Scientific Linux這樣的衍生版本。

1.配置本地yum倉庫,掛載光盤鏡像

[root@linuxidc 桌面]#vim /etc/yum.repos.d/rhel7.repo

[rhel7]

name=rhel7

basurel=file:///mnt

enabled=1

gpgcheck=0

將光盤掛載到/mnt中

[root@linuxidc 桌面]#mount /dev/cdrom /mnt

2.安裝EPEL

要想安裝EPEL,我們先要下載EPEL的rpm安裝包。

CentOS7/RHEL7的下載頁面如下,版本不用擔心一般都能用,不一定非要用我這個版本,根據你們不同版本的操作系統選擇自己合適的包。

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

通過以下命令安裝EPEL 軟件包

[root@linuxidc 桌面]#rpm -ivh epel-release-6-8.noarch.rpm

安裝好EPEL 源後,用yum 命令來檢查是否添加到源列表

[root@linuxidc 桌面]# yum repolist
已加載插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
源標識 源名稱 狀態
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 8,477
rhel7 rhel7 4,305
repolist: 12,782

--------------------------------------------分割線------------------------------------------------------

安裝Cobbler-Web 界面和DHCP

Cobbler 提供了一個很有用的 Web 界面,您可以通過該界面實現此目的。要使用這個界面,首先需要安裝它的程序包:

[root@linuxidc 桌面]#yum -y install cobbler-web

上面這個步驟可能會出現依賴包問題,解決方案見文章底下的解決方案。

安裝完成後系統會給你安裝以下所有的包,如果有的包沒有安裝上,還請手動安裝

已安裝:

cobbler-web.noarch 0:2.6.9-1.el7

作為依賴被安裝:

  • PyYAML.x86_64 0:3.10-11.el7
  • apr.x86_64 0:1.4.8-3.el7
  • apr-util.x86_64 0:1.5.2-6.el7
  • cobbler.noarch 0:2.6.9-1.el7
  • httpd.x86_64 0:2.4.6-17.el7
  • httpd-tools.x86_64 0:2.4.6-17.el7
  • mod_ssl.x86_64 1:2.4.6-17.el7
  • mod_wsgi.x86_64 0:3.4-11.el7
  • python-cheetah.x86_64 0:2.4.4-4.el7
  • python-django.noarch 0:1.6.11-2.el7
  • python-django-bash-completion.noarch 0:1.6.11-2.el7
  • python-markdown.noarch 0:2.4.1-1.el7
  • python-netaddr.noarch 0:0.7.5-7.el7
  • python-simplejson.x86_64 0:3.3.3-1.el7
  • tftp-server.x86_64 0:5.2-11.el7
  • xinetd.x86_64 2:2.3.15-12.el7

[root@linuxidc 桌面]# yum -y install dhcp

--------------------------------------------分割線------------------------------------------------------

命令配置Cobbler

一、重啟cobbler服務

[root@linuxidc 桌面]#systemctl enable cobblerd.service

[root@linuxidc 桌面]#systemctl start cobblerd.service

[root@linuxidc 桌面]#systemctl enable httpd

[root@linuxidc 桌面]#systemctl start httpd

--------------------------------------------------------------------------------------------------------

二、檢查cobbler配置

執行檢查配置命令

[root@linuxidc 桌面]#cobbler check

運行結果反饋

The following are potential configuration items that you may want to fix:

1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.

2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.

3 : change 'disable' to 'no' in /etc/xinetd.d/tftp

4 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.

5 : file /etc/xinetd.d/rsync does not exist

6 : debmirror package is not installed, it will be required to manage debian deployments and repositories

7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one

8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.

上面這段信息大意就是

1,編輯/etc/cobbler/settings文件,找到 server選項,修改為提供服務的ip地址(也就是你這台機器的IP地址,不能是127.0.0.1)

2,編輯/etc/cobbler/settings文件,找到 next_server選項,修改為127.0.0.1以外的地址(也就是本機IP地址)

3,編輯/etc/xinetd.d/tftp文件,將文件中的disable字段的配置由yes改為no

4,執行 cobbler get-loaders,系統將自動下載loader程序,完成提示4的修復工作。

5,文件/etc/xinetd.d/rsync不存在

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

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

7,修改cobbler用戶的默認密碼,可以使用如下命令生成密碼,並使用生成後的密碼替換/etc/cobbler/settings中的密碼。生成密碼命令:openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'

-------------------------------------------------------------------------------------------

三、配置過程

[root@linuxidc 桌面]# openssl passwd -1 -salt "cobbler" "123456" //生成新的密碼,密碼為123456,此密碼就是安裝完系統後的root密碼

$1$cobbler$sqDDOBeLKJVmxTCZr52/11 //復制該代碼

[root@linuxidc 桌面]# vim /etc/cobbler/settings //打開配置文件,修改3處地方

server: 192.168.27.131 //把127.0.0.1改為本機的IP地址

next_server: 192.168.27.131 //把127.0.0.1改為本機的IP地址

default_password_crypted: "$1$cobbler$sqDDOBeLKJVmxTCZr52/11" //把原來的加密密碼改為上面咱們復制的那個密碼

[root@linuxidc 桌面]# vim /etc/xinetd.d/tftp

disable = no //找到disable那行把yes改成no

[root@linuxidc 桌面]# cobbler get-loaders

...... //略過

......

*** TASK COMPLETE *** //最後出現這個提示說明操作正確,其他均為錯誤

[root@linuxidc 桌面]# cobbler import --path=/mnt/ --name=rhel7.0 //把掛載光盤鏡像的mnt目錄中的內容導入到cobbler裡

...... //略過

......

*** TASK COMPLETE *** //最後出現這個提示說明操作正確,其他均為錯誤

注意:檢查掛載路徑是否正確,掛載路徑可去前期准備中查看。

[root@linuxidc 桌面]# systemctl restart cobblerd.service

--------------------------------------------------------------------------------------------------------

四、配置DHCP服務

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

[root@linuxidc 桌面]# vim /etc/cobbler/settings

manage_dhcp: 1

接下來修改/etc/cobbler/dhcp.template,此文件是cobbler管理dhcp的模板

對於此文件,本例中只需要修改如下部分:

subnet 192.168.27.0 netmask 255.255.255.0 {

option routers 192.168.27.131;

option domain-name-servers 192.168.27.131;

option subnet-mask 255.255.255.0;

range dynamic-bootp 192.168.27.100 192.168.27.120;

default-lease-time 21600;

max-lease-time 43200;

next-server $next_server;

其余部分維持默認值即可。

到目前為止,全部的准備工作已經就算全部完成。

--------------------------------------------------------------------------------------------------------------------------

五、同步cobbler配置

[root@linuxidc 桌面]# cobbler sync //執行同步命令

...... //略過

......

*** TASK COMPLETE *** //最後出現這個提示說明操作正確,其他均為錯誤

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

[root@linuxidc 桌面]# systemctl restart cobblerd.service
[root@linuxidc 桌面]# systemctl restart xinetd.service
[root@linuxidc 桌面]# cobbler sync

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

===========================================================================================

打開Cobbler-web進行配置

上面所有步驟均為命令方式進行配置,咱們還可以用一種簡單的方法進行配置,那就是網頁圖形化配置了。

用火狐浏覽器打開下面的網站

https://192.168.27.131/cobbler_web/

用戶名和密碼均為:cobbler

功能講解(左側標簽):

Distros:關於要安裝系統的版本信息,包括啟動文件的地址,版本,架構

Profiles:主要就是選擇ks文件以及虛擬化的配置

Kickstart Templates:集中管理ks文件,可以在裡面創建新的ks文件(手寫)或者導入ks文件。

Snippets:片段這個玩意暫時還沒搞清楚,如果有人了解還望不吝賜教。

Settings:這個裡面的數據就是/etc/cobbler/settings的配置文件,你可以通過網頁來直接修改配置文件中的內容

Import DVD:導入安裝源鏡像,如果沒有導入過Distros和Profiles不會有內容

Sync:同步的意思

Check:檢查

對於Web界面下的配置我這裡就不過多講解了,大部分都是點點鼠標的事,大家可以用命令配置完成後打開網頁來觀察一下,我上面的功能注釋都是大家需要配置的,點擊Profiles後右側會出現你導入的系統,然後點擊Edit按鈕就可以找到選擇ks腳本,ks腳本是從Kickstart Templates中調用的,ks文件你可以自己編譯,如果懶得編譯,安裝完成後就是最小化安裝。

關於ks文件的編譯我建議是用kiskstart來進行(比較方便,不容易出錯)

--------------------------------------------分割線------------------------------------------------------

  • CentOS 6.5 安裝和配置Cobbler http://www.linuxidc.com/Linux/2015-02/113043.htm
  • Cobbler遠程安裝CentOS系統 http://www.linuxidc.com/Linux/2015-02/113163.htm
  • Cobbler批量安裝Ubuntu/CentOS系統 http://www.linuxidc.com/Linux/2015-02/113167.htm
  • Cobbler自動批量部署CentOS 6和CentOS 7 http://www.linuxidc.com/Linux/2015-09/122945.htm
  • 自動化安裝工具Cobbler簡易安裝配置 http://www.linuxidc.com/Linux/2015-09/122569.htm

--------------------------------------------分割線------------------------------------------------------

實驗過程中可能會遇到的問題

1.

python-pygments依賴包關系錯誤解決辦法:

打開下面的網頁,找到對應你系統的rpm包,我最後選擇的是CentOS 7.1.1503 for x86_64這個系統版本的,沒有找到紅帽的。

http://www.rpmfind.net/linux/rpm2html/search.php?query=python-pygments

我會在附件中加上這個rpm包,大家可以自己去下載,也可以用我這個包。

在安裝python-pygments包的時候可能還需要安裝一個依賴包python-imanging。

這個包直接yum -y install python-imanging就可以直接安裝上,然後再去安裝python-pygments。

rpm -ivh --force python-pygments-1.4-9.el7.noarch.rpm

安裝完成後即可安裝cobbler-web包了。

2.

[root@linuxidc 桌面]# cobbler check
httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Original traceback:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/cobbler/cli.py", line 252, in check_setup
s.ping()

解決辦法:遇到這種問題查看httpd服務是否正常啟動,關閉SELinux服務並重啟即可。

3.注意,一定要先配置cobbler管理dhcp的模板,不要過早啟動DHCP不然會出現BUG。而且DHCP服務不需要你手動去開啟,只要你在/etc/cobbler/settings文件中把manage_dhcp改為1之後你在同步配置文件DHCP會自動起來。

4.如果全都配置完畢,客戶機可以獲取到DHCP但卡在TFTP的時候就去檢查防火牆是否關閉。

資源包

EPEL包

epel-release-7-5.noarch.rpmepel-release-7-5.noarch

Python-pygments包

選其一

  • python-pygments-1.4-9.el7.noarch
  • python-pygments-1.1.1-1.el6.noarch
  • python-pygments-1.4-1.el6.rfx.noarch

Linux運維自動化之Cobbler安裝部署RHEL7.0 相關資源包下載

百度雲網盤下載:http://pan.baidu.com/s/1c0x2vJy

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2015年資料/9月/20日/Linux運維自動化之Cobbler安裝部署RHEL7.0/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

更多RedHat相關信息見RedHat 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=10

Copyright © Linux教程網 All Rights Reserved