歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Cobbler批量安裝Ubuntu/CentOS系統

Cobbler批量安裝Ubuntu/CentOS系統

日期:2017/2/28 14:22:50   编辑:Linux教程

一、安裝和修改cobbler配置
1. Cobbler不在CentOS的基本源中,需要導入EPEL源升級軟件包, 確保epel-release包的版本為最新,當前最新版本為6-8:
# rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2. yum安裝cobbler包
# yum -y install cobbler

3. 【可選】新版的Fedora安裝系統存放在“testing”存儲庫中一段時間來檢查有沒有bug,如果你想通過EPEL安裝最新版的cobbler(未通過生產環境驗證有沒有bug),可在安裝或升級時啟動-testing模式。
# sudo yum -y install --enablerepo=epel-testing cobbler
or
# sudo yum -y update --enablerepo=epel-testing cobbler

4. 安裝dhcp服務
# yum -y install dhcp

5. 其他服務的安裝
額外需要的服務還有httpd rsync tftp-server xinetd,如果系統沒有裝上的話,可以執行以下執行安裝。
# yum -y install httpd rsync tftp-server xinetd

6. 開啟cobbler服務,重啟Apache服務,設置各個服務開機自啟動
# service httpd start
# service cobblerd start
# service xinetd start
# /sbin/chkconfig httpd on
# /sbin/chkconfig dhcpd on
# /sbin/chkconfig xinetd on
# /sbin/chkconfig tftp on
# /sbin/chkconfig cobblerd on

7. 關閉SELinux和防火牆
# vi /etc/sysconfig/selinux
SELINUX=enforcing更改為SELINUX=disabled
設置SELinux 成為permissive模式
# setenforce 0
關閉防火牆功能
# /etc/init.d/iptables stop
# chkconfig --del iptables
重啟cobbler服務
# service cobbler restart

8. 修改cobbler配置
# vi /etc/cobbler/setting
'next_server: 127.0.0.1' 替換本機IP地址 (DHCP服務地址)
'server: 127.0.0.1' 替換本機IP地址(cobbler服務地址)
'manage_dhcp: 0' 替換為 1(cobbler管理dhcp,後面用於同步更新配置信息[cobbler sync])
'manage_rsync: 0' 替換為 1 (cobbler管理rsync功能)

9. 加載部分缺失的網絡boot-loaders
# cobbler get-loaders

10. 啟動tftp和rsync服務
# vi /etc/xinetd.d/tftp
修改成:disable=no
# vi /etc/xinetd.d/rsync
修改成:disable=no

11. 修改DHCP模板,確保DHCP分配的地址和Cobbler在同一網段
# vi /etc/cobbler/dhcp.template

ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

#需要修改192.168.0.0為自己網段
subnet 192.168.0.0 netmask 255.255.255.0 {
#修改自己的路由
option routers 192.168.0.1;
#域名服務器地址
option domain-name-servers 202.106.0.20;
#子網掩碼
option subnet-mask 255.255.255.0;
#分配IP地址段
range dynamic-bootp 192.168.0.100 192.168.0.254;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}


12. 如果要部署Debian/Ubuntu系統則需要debmirror軟件包
# yum install wget
# yum install ed patch perl perl-Compress-Zlib perl-Cwd perl-Digest-MD5 \
perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl
# wget ftp://fr2.rpmfind.net/linux/epel/5/ppc/debmirror-20090807-1.el5.noarch.rpm
# rpm -ivh debmirror-20090807-1.el5.noarch.rpm

修改/etc/debmirror.conf配置文件,注釋掉@dists和@arches兩行
# vi /etc/debmirror.conf

...
#@dists="sid";
@sections="main,main/debian-installer,contrib,non-free";
#@arches="i386";
...


13. 修改cobbler的默認密碼
用 openssl 生成一串密碼後加入到 cobbler 的配置文件(/etc/cobbler/settings)裡,替換 default_password_crypted 字段:
# openssl passwd -1 -salt 'random-phrase-here' '1234567890'
$1$random-p$RkqDMTpuNlZZhJ7moLn3Q.
# vi /etc/cobbler/settings

default_password_crypted: "$1$random-p$RkqDMTpuNlZZhJ7moLn3Q."
注意:這裡保存的密碼,將會用於批量部署機器中,root賬戶的登錄密碼。

14. 安裝cman啟動電源管理功能
# yum install cman

15. 檢查cobbler安裝環境
# cobbler check
No configuration problems found. All systems go.
注意,一定要修復完全部的configuration problems,否則tftp會出現連接超時,cobbler無法通過PXE進行系統批量安裝的操作。
# cobbler sync

二、導入ISO文件

1. 上傳ISO鏡像至服務器

2. 創建文件夾
# mkdir -p /system/ubuntu12.04

3. 掛載ISO鏡像到/system /ubuntu12.04 目錄

# mount -o loop ~/Downloads/ubuntu-12.04-server-amd64.iso /system/ubuntu12.04/

4. 從iso中導入客戶端的OS。這將自動設置了“x86_64”,並將其命名為ubuntu12.04。
# cobbler import --path=/system/ubuntu12.04/ --name=ubuntu12.04 --arch=x86_64
這需要一點時間,不要急。可查看/var/www/cobbler/ks_mirror/ubuntu12.04-x86_64/目錄文件生成情況。
# cobbler sync
# cobbler list

distros:
ubuntu12.04-x86_64
profiles:
ubuntu12.04-x86_64
systems:
repos:
ubuntu12.04-x86_64
images:
mgmtclasses:
packages:
files:

三、部署測試
創建一台虛擬機測試一下,把虛擬機設置成網絡 PXE 啟動(和 cobbler 在同一個網絡),啟動後就可以看到 Cobbler 引導界面,看到界面後選擇 ubuntu12.04-x86_64 條目就可以順利開始無人工干預安裝系統,Cobbler 引導界面如下:


完成自動化安裝後,使用root用戶賬號登錄,密碼為之前在配置文件中寫入的值(本文為1234567890)



四、配置文件
cobbler有許多的配置文件,但是只有少部分基本功能需要修改。

  • Settings File
  • Modules Configuration

Cobbler最主要的setting file就是/etc/cobbler/settings。Cobbler2.4.0開始引入動態修改模式(Dynamic Settings),我們只需啟動這一模式,便不用再手動修改這個文件了。該文件是YAML格式的,如果直接修改setting文件,則必須重啟cobbler服務才會生效,但如果是通過CLI命令或者是Web GUI進行修改的話,改動會立即生效,無需重啟服務。

五、常見問題
1、cobblerd校驗錯誤:
cobblerd does not appear to be running/accessible
解決方法:
service cobblerd start
service httpd start

2、重啟httpd錯誤:
Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/cobbler.conf:
Invalid command 'WSGIScriptAliasMatch', perhaps misspelled or defined by a module not included in the server configuration
解決方法:
vi /etc/httpd/conf.d/wsgi.conf
#LoadModule wsgi_module modules/mod_wsgi.so 去掉#號,使之成為:LoadModule wsgi_module modules/mod_wsgi.so。

3、httpd、SELinux未運行:
httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Original traceback:
Traceback (most recent call last):
解決方法:
service httpd start
vi /etc/sysconfig/selinux
SELINUX=enforcing更改為SELINUX=disabled,重啟使之生效。

4、較驗cobbler check出錯
Traceback (most recent call last):
File "/usr/bin/cobbler", line 35, in ?
sys.exit(app.main())
File "/usr/lib/python2.4/site-packages/cobbler/cli.py", line 558, in main
rc = cli.run(sys.argv)
File "/usr/lib/python2.4/site-packages/cobbler/cli.py", line 202, in run
self.token = self.remote.login("", self.shared_secret)
File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__
return self.__send(self.__name, args)
File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request
verbose=self.__verbose
File "/usr/lib64/python2.4/xmlrpclib.py", line 1147, in request
return self._parse_response(h.getfile(), sock)
File "/usr/lib64/python2.4/xmlrpclib.py", line 1286, in _parse_response
return u.close()
File "/usr/lib64/python2.4/xmlrpclib.py", line 744, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1: "cobbler.cexceptions.CX:'login failed'">
解決方法:此為BUG,按下方操作執行即可。
service cobblerd restart
cobbler get-loaders

運維自動化之Cobbler安裝配置 http://www.linuxidc.com/Linux/2013-03/81575.htm

RHEL5.5下Cobbler的配置 http://www.linuxidc.com/Linux/2013-06/86115.htm

運維自動化部署Cobbler之服務安裝篇 http://www.linuxidc.com/Linux/2013-02/80133.htm

利用Cobbler批量快速網絡安裝CentOS http://www.linuxidc.com/Linux/2012-12/75838.htm

CentOS 6.3上安裝部署 Cobbler http://www.linuxidc.com/Linux/2012-10/72094.htm

Cobbler批量部署Linux系統 http://www.linuxidc.com/Linux/2014-02/97259.htm

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

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

Copyright © Linux教程網 All Rights Reserved