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
安裝cobbler依賴包
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
service xinetd restart
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
11:cobbler管理dhcp
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
$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
檢查
no configuration problems found. all systems go.
可以看到dns的zone檔案已經生成
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版本過低而報錯。
重新安裝伺服器的作業系統
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重新開機伺服器後,用戶端伺服器會自動重新安裝作業系統