天天看點

Linux自動化安裝系統openssl passwd -1 -salt 'random-phrase-here' '123456'cobbler checkls /var/named/koan --server=192.168.1.10 --list=profiles

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重新開機伺服器後,用戶端伺服器會自動重新安裝作業系統

繼續閱讀