cobber pxe 系統安裝

cobber pxe批量化自動安裝系統

第一 cobber 簡介

  Cobbler 可使用 kickstart 模板。基於 Red Hat 或 Fedora 的系統使用 kickstart 文件來自動化安裝流程。 通過使用模板,您就會擁有基本的 kickstart 模板,然後定義如何針對一種配置文件或機器配置而替換其中 的變量。例如,一個模板可能包含兩個變量 $domain 和 $machine_name。在 Cobbler 配置中,一個配置文件 指定 domain=mydomain.com,並且每臺使用該配置文件的機器在 machine_name 變量中指定其名稱。該配置文 件中的所有機器都使用相同的 kickstart 安裝且針對 domain=mydomain.com 進行配置,但每臺機器擁有其自 己的機器名稱。您仍然可以使用 kickstart 模板在不同的域中安裝其他機器並使用不同的機器名稱。 工作原理:

 Server 端:
 第一步,啓動 Cobbler 服務
 第二步,進行 Cobbler 錯誤檢查,執行 cobbler check 命令 
 第三步,進行配置同步,執行 cobbler sync 命令 
 第四步,複製相關啓動文件文件到 TFTP 目錄中 
 第五步,啓動 DHCP 服務,提供地址分配
 第六步,DHCP 服務分配 IP 地址
 第七步,TFTP 傳輸啓動文件
 第八步,Server 端接收安裝信息
 第九步,Server 端發送 ISO 鏡像與 Kickstart 文件

 Client 端:
 第一步,客戶端以 PXE 模式啓動
 第二步,客戶端獲取 IP 地址 
 第三步,通過 TFTP 服務器獲取啓動文件
 第四步,進入 Cobbler 安裝選擇界面 
 第五步,客戶端確定加載信息 
 第六步,根據配置信息準備安裝系統 
 第七步,加載 Kickstart 文件 
 第八步,傳輸系統安裝的其它文件 
 第九步,進行安裝系統

安裝yum 源

2.1 選擇 epel 源

Centos5 32 位: rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/5/i386/epel-release-5-4.noarch.rpm Centos5 64 位 : rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
Centos6 32 位 : rpm -Uvh 'http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-7.noarch.rpm'
Centos6 64 位 : rpm -Uvh 'http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm

2.2 下載安裝 yum 源

[root@localhost src]# wget http://mirrors.ustc.edu.cn/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm

[root@localhost src]# ls
epel-release-5-4.noarch.rpm
[root@localhost src]# rpm -ivh epel-release-5-4.noarch.rpm
warning: epel-release-5-4.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
 Preparing...                ########################################### [100%]
 1:epel-release           ########################################### [100%]
[root@localhost src]

2.3 安裝 cobber

 安裝軟件 yum install cobbler tftp tftp-server xinetd dhcp httpd rsync 安裝 cobbler [root@localhost src]# yum install pykickstart debmirror python-ctypes cman -y 安裝 cobbler 所需的軟件包

2.4 配置 cobbler 2.4.1 設置httpd服務

 [root@localhost src]# cat   /etc/httpd/conf.d/wsgi.conf
# NOTE: mod_wsgi can not coexist in the same apache process as
# mod_wsgi_python3.  Only load if mod_wsgi_python3 is not
# already loaded.
<IfModule !wsgi_module>
LoadModule wsgi_module modules/mod_wsgi.so
</IfModule>
[root@localhost src]# /etc/init.d/httpd restart
Stopping httpd:
Starting httpd:
[root@localhost src]# chkconfig httpd on
# 取消前面的註釋
            [FAILED]
            [  OK  ]

2.4.2 設置tftp

     [root@localhost src]# cat  /etc/cobbler/tftpd.template
    # default: off
    # description: The tftp server serves files using the trivial file transfer \
    #       protocol.  The tftp protocol is often used to boot diskless \
    #       workstations, download configuration files to network-aware printers, \
    #       and to start the installation process for some operating systems.
    service tftp
    {
    disable
    socket_type
    protocol
    wait
    user
    server
    server_args
    per_source
    cps
    flags
    =no ##將no改爲no = dgram
    = udp
    = yes
    = $user
    = $binary
    = -B 1380 -v -s $args
    = 11
    = 100 2
    = IPv4
    }
[root@localhost src]# cat  /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksu  

mming etc.
service rsync

  {
disable = no
socket_type
wait
user
##將 yes 改爲 no = stream
= no
= root
server
server_args
log_on_failure  += USERID
}
[root@localhost src]# /etc/init.d/xinetd start [root@localhost src]# vim /etc/debmirror.conf 註釋
#@dists="sid";
#@arches="i386";
= /usr/bin/rsync
= --daemon

2.4.3 創建用戶密碼

[root@localhost src]# openssl passwd -1 -salt 'osyunwei' '123456' $1$osyunwei$sEV8iwXXuR4CqzLXyLnzm
修改 vim /etc/cobber/settings
default_kickstart: /var/lib/cobbler/kickstarts/default.ks default_password_crypted: "$1$osyunwei$sEV8iwXXuR4CqzLXyLnzm0" manage_dhcp: 1
next_server: 192.168.209.128
server: 192.168.209.128
2.4.4 搭建dhcp服務
 [root@localhost ~]# grep -v "#" /etc/cobbler/dhcp.template
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
subnet 192.168.209.0 netmask 255.255.255.0 {
     option routers             192.168.209.1;
     option domain-name-servers 8.8.8.8,8.8.4.4;
option subnet-mask
range dynamic-bootp
filename
255.255.255.0;
192.168.209.100 192.168.209.254;
"/pxelinux.0";

  default-lease-time
max-lease-time
next-server
}
21600;
43200;
$next_server;
[root@localhost ks_mirror]# cat /etc/sysconfig/dhcpd # Command line options here
DHCPDARGS=eth0
啓動dhcp使用cobbersync 就可以啓動dhcp
同步 cobber sync 就可以加載 dhcp 服務啓動了 確保這些服務都開啓就可以進行測試安裝了, /etc/init.d/xinted start /etc/init.d/httpd start /etc/init.d/cobber start

2.4.5 創建鏡像站點

掛載映像文件到 httpd 的站點目錄
mkdir -p /var/www/html/os/centos_x64_x86
mount /dev/cdrom /media/
rsync -avP /media/* /var/www/html/os/centos_x64_x86/
使用 rsync 或者 scp
cobbler import --path=/var/www/html/os/centos_x64_x86/ --name=centos_x64_x86 --arch=x86_64 導入鏡像的命令參數
命令格式:cobbler import --path=鏡像路徑 -- name=安裝引導名 --arch=32 位或 64 位, 重複上面的操作, 把其他的系統鏡像文件導入到 cobber 中,
cobbler distro list 列出已經安裝鏡像

2.4.6 創建自動化安裝腳本

  創建自動化安裝腳本
進入到 kickstarts 模板目錄
cd /var/lib/cobbler/kickstarts
[root@localhost kickstarts]# ls
default.ks legacy.ks
esxi4-ks.cfg pxerescue.ks
esxi5-ks.cfg sample_autoyast.xml sample_esxi4.ks sample_old.seed
/etc/init.d/cobblerd restart
sample_end.ks    sample_esxi5.ks  sample.seed
sample_esx4.ks   sample.ks

2.3 測試

在這裏就可以測試 pxe 引導安裝了

安裝 kickstart
yum install system-config-kickstart
yum groupinstall "X Window System"
startx 進入到圖形界面生成 ks.cf 文件
system-config-kickstart 運行生成 ks.cf 文件
修改文件名稱添加到 cobber 中
[root@localhost ~]# cobbler profile add --name=centos_x64-x86_64 --distro=centos_x64-x86_64 --kickstart=/var/lib/cobbler/kickstarts/cenots5.8_x86_64.cfg
exception on server: "it seems unwise to overwrite this object, try 'edit'"
添加文件的命令參數
命令:cobbler profile add|edit|remove --name=安裝引導名 --distro=系統鏡像名 --kickstart=kickstart 自動安裝文件路徑
--name:自定義的安裝引導名,注意不能重複 --distro:系統安裝鏡像名,用 cobbler distro list 可以查看 --kickstart:與系統鏡像文件相關聯的 kickstart 自動安裝文件

2.4 cobbler 幫助

[root@localhost ~]# man cobbler 查看 cobbler 幫助 cobbler list
cobbler report
cobbler profile report
cobbler distro list

  [root@localhost ~]# cobbler list
distros:
   centos_x64-x86_64
   centos_x64-xen-x86_64
profiles:
   centos_x64-x86_64
   centos_x64-xen-x86_64
systems:
repos:
images:
mgmtclasses:
packages:
files:
[root@localhost ~]# cobbler distro list
   centos_x64-x86_64
   centos_x64-xen-x86_64
[root@localhost ~]#
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章