Linux自動化安裝系統
適用於Centos和RHEL
1 設置epel源
rpm -ivh?http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
下載自己安裝
rpm -ivh epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
安裝cobbler相關的包
如果希望cobbler可以管理dhcp,dns,需要把dns和dhcp都安裝在同一臺機器上。如果不管理dns,可以不要安裝bind。
yum -y install cman tftp-server dhcp cobbler cobbler-web bind pykickstart httpd rsync xinetd
yum install -y ed patch perl perl-Compress-Zlib perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl
將所有服務加入開機自啟動
chkconfig httpd on
chkconfig dhcpd on
chkconfig xinetd on
chkconfig cobblerd on
修改配置配置文件及啟動服務
tftp服務和rsync服務
sed -i ‘/disable/c\tdisable\t\t\t= no‘ /etc/xinetd.d/tftp
sed -i -e ‘s/\=\ yes/\=\ no/g‘ /etc/xinetd.d/rsync
ks腳本關閉pxe,這樣就不會重復安裝
sed -i ‘s/pxe_just_once: 0/pxe_just_once: 1/g‘ /etc/cobbler/settings
9:TFTP服務器 IP地址
sed -i ‘s/server: 127.0.0.1/server: 10.1.199.12/g‘ /etc/cobbler/settings
sed -i ‘s/next_server: 127.0.0.1/next_server: 10.1.199.12/g‘ /etc/cobbler/settings
10:cobbler管理rsync
sed -i ‘s/manage_rsync: 0/manage_rsync: 1/g‘ /etc/cobbler/settings
sed -i ‘s/manage_dhcp: 0/manage_dhcp: 1/g‘ /etc/cobbler/settings
dhcp服務是有cobbler來管理 /etc/cobbler/dhcp.template
修改下面的內容就可以。註釋掉 range dynamic-bootp 。不然你內網就會出現一個dhcp服務器。
subnet 10.27.37.0 netmask 255.255.255.0 {
option routers 10.27.37.254;
option domain-name-servers 10.27.37.200;
option subnet-mask 255.255.255.0;
#range dynamic-bootp 10.27.37.100 10.27.37.150;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}
設置root默認密碼
這個設置只針對centos有效。我默認的root密碼是:123456
openssl passwd -1 -salt ‘random-phrase-here‘ ‘123456‘
$1$random-p$99lAzJZEl9uunSaThe9oM0
修改 /etc/cobbler/settings
#default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
default_password_crypted: "$1$random-p$99lAzJZEl9uunSaThe9oM0"
啟動相關服務
/etc/init.d/httpd restart
/etc/init.d/cobblerd restart
/etc/init.d/named restart
啟動菜單
cobbler get-loaders(或者把loaders文件放在/var/lib/cobbler/loaders/下)
檢查cobbler
cobbler提供一個工具,檢查你的設置。看到提示,就表示全部工作都已經完成。
對cobbler所有修改,需要
cobbler sync
檢查
cobbler check
No configuration problems found. All systems go.
可以看到dns的zone文件已經生成
ls /var/named/
10.27.37 test.com data dynamic named.ca named.empty named.localhost named.loopback slaves
四 配置管理Cobbler
4.1 Cobbler命令說明
命令名稱 命令用途
cobbler check 檢查cobbler配置
cobbler list 列出所有的cobbler元素
cobbler report 列出元素的詳細信息
cobbler distro 查看導入的發行版系統信息
cobbler system 查看添加的系統信息
cobbler profile 查看配置信息
cobbler sync 同步Cobbler配置,更改配置最好都要執行下
cobbler reposync 同步yum倉庫
命令參考
cobbler --help
cobbler distro --help
cobbler distro add --help
4.2 Cobbler配置文件說明
Cobbler配置文件存放在/etc/cobbler下
配置文件名稱 作??? 用
/etc/cobbler/settings ????Cobbler主配置文件
/etc/cobbler/users.digest ????用於web訪問的用戶名密碼配置文件
/etc/cobbler/nf ????模塊配置文件
/etc/cobbler/nf ????Cobbler WebUI/Web 服務授權
/etc/cobbler/iso/ ????Buildiso 模板配置文件
/etc/cobbler/power ????電源配置文件
/etc/cobbler/pxe ????Pxeprofile配置模板
/etc/cobbler ????此目錄也包含rsync、dhcp、dns、pxe、dnsmasq等服務的模板配置文件
4.3 系統鏡像數據目錄/var/www/cobbler
導入的系統發行版,repos鏡像和kickstart文件都放置在/var/www/cobbler目錄下。確保/var目錄有足夠的空間來存儲這些文件。
目錄名稱 作??? 用
/var/www/cobbler/images/ 存儲所有導入發行版的Kernel和initrd鏡像用於遠程網絡啟動
/var/www/cobbler/ks_mirror/ 存儲導入的發行版系統數據
/var/www/cobbler/repo_mirror/ 倉庫存儲目錄
/var/log/cobbler Cobbler日誌文件 cobbler.log?install.log
4.4 Cobbler數據目錄/var/lib/cobbler
此目錄存儲和Cobbler profiles、systems、distros相關的配置。
目錄名稱 作 ???用
/var/lib/cobbler/config/ 存放distros、repos、systems和profiles等信息配置文件,一般都是json文件
/var/lib/cobbler/snippets/ 存放ks文件可以導入的腳本小片段,值得研究
/var/lib/cobbler/triggers 存放用戶定義的cobbler 命令
/var/lib/cobbler/kickstarts/ 存放kickstart配置文件
4.5 相關日誌文件
web日誌存放點
/var/log/httpd/access_log
/var/log/httpd/error_log
/var/log/httpd/ssl_access_log
/var/log/httpd/ssl_error_log
Cobbler日誌
/var/log/cobbler/cobbler.log
/var/log/cobbler/install.log
通過Cobbler日誌可以獲取系統的安裝狀態
五 定制系統
5.1導入鏡像
mkdir -p /mnt/centos6.5
mount -o loop /root/ CentOS-6.5-x86_64-bin-DVD1.iso /mnt/centos6.5/
cobbler import --path=/mnt/centos6.5/ --name=centos6.5
需要幾分鐘,可查看/var/www/cobbler/ks_mirror/centos5.5/目錄文件生成情況。
5.2信息查看
cobbler report 信息查看
cobbler distro list 查看導入列表
cobbler profile list 查看profile
cobbler sync 同步配置
5.3定制kickstart文件和SINPPET文件
Centos6.5-test.ks
定制的ks文件放置於/var/lib/cobbler/kickstart/*ks;
自定義的Snippet文件放置於/var/lib/cobbler/snippet/下;
5.4定義cobbler profile
控制節點profile
cobbler import --path=/mnt/centos6.5/ --name=centos6.5 執行完成後會生成profile文件(可以刪除)
cobbler profile add --name=centos6.5-test --kickstart=/var/lib/cobbler/kickstarts/centos6.5-test.ks --distro=centos6.5
/var/www/cobbler/pub 自定義安裝軟件包放置位置
90:E5:BC:13:5C:D6
cobbler system add --name=10-0-41-20 --ip-address=10.0.41.20 --mac=90:E5:BC:13:5C:D6 --profile=centos6.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-6.5-x86_64.ks --static=1
八、添加指定客戶機系統配置到Cobbler
- 指定一個網段使用特定的裝機配置
cobbler system add --name=test_000 --ip=192.168.1.0/24 --profile=CentOS-5.9-x86_64 - 添加一個指定服務器的裝機配置
指定服務器的mac地址,並設置好主機名、IP地址等信息,需要提示知道服務器MAC地址,根據MAC應用到具體機器上。
還可以指定ks參數。--kickstart=/var/lib/cobbler/kickstarts/webserver.ks
cobbler system add --name=test_001 --hostname=test_001 --mac=90:0b:29:c3:71:54 --interface=eth0 --ip-address=192.168.1.123 --subnet=255.255.255.0 --gateway=192.168.1.1 --static=1 --profile=Centos-5.9-x86_64 - 修改system配置
機器IP地址變更為192.168.10.110
cobbler system add --name=test_001 --ip=192.168.1.110
變更system配置名稱
cobbler system rename --name=test001 --newname=abc - 刪除system配置
需要刪除的profile名稱為test_001
cobbler system remove --name=test_001 - 查看定義的系統列表
cobbler system list
test_001
九、安裝客戶端操作系統
(1) 通過網卡pxe啟動
(2) 自動完成安裝
十、重裝客戶端操作系統
wget ftp://rpmfind.net/linux/epel/5/i386/koan-1.6.6-1.el5.noarch.rpm
rpm -ivh koan-1.6.6-1.el5.noarch.rpm
查看cobbler server上的配置文件,對於centos5.x 的系統koan不能采用yum安裝,否則會因python版本過低而報錯。koan --server=192.168.1.10 --list=profiles
重新安裝服務器的操作系統
1、在客戶端上安裝koan
yum install koan
2、查看cobbler server上的配置文件
koan --server=192.168.0.2 --list=profiles
3、重新安裝客戶端系統
koan --replace-self --server=192.168.0.2 --profile=webserver1
4、reboot重啟服務器後,客戶端服務器會自動重新安裝操作系統
Linux自動化安裝系統