Cobbler是一個開源項目,用來部署和安裝系統。Cobbler不單單是一個pxe服務器,他還能夠管理dns和dhcp。通常數據中內心或者生產環境,是不容許dhcp, 可是pxe須要使用dhcp,因此咱們這裏根據mac地址來分配IP,這樣dhcp就不會影響現有網絡了。linux
1. 首先關閉selinuxweb
- sudo sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
從新啓動linux系統服務器
2. 關閉防火牆iptables網絡
- sudo chkconfig iptables off
- sudo chkconfig ip6tables off
- sudo /etc/init.d/iptables stop
- sudo /etc/init.d/ip6tables stop
3. 安裝 epel 包dom
- sudo yum install http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
4. 安裝 Cobbler 和它須要的第三方工具包工具
- sudo yum install cobbler cobbler-web xinetd pykickstart cman dhcp tftp-server bind
安裝完成後須要設置幾個服務自動啓動oop
- sudo chkconfig httpd on
- sudo chkconfig dhcpd on
- sudo chkconfig cobblerd on
-
- sudo service httpd start
- sudo service cobblerd start
注:此時dhcpd應該啓動失敗,由於尚未對dhcp作配置。測試
5. 配置
5.1 修改/etc/xinetd.d/tftpspa
- disable = yes
- =>
- disable = no
5.2 修改/etc/xinetd.d/rsync .net
- disable = yes
- =>
- disable = no
5.3 編輯 /etc/cobbler/settings 文件,設置如下各項,其中 192.168.145.102 是當前機器IP。
- server: 192.168.145.102
- next_server: 192.168.145.102
- pxe_just_once: 1
- manage_rsync: 1
- manage_dhcp: 1
5.4 設置默認 root 用戶的祕密
- $ sudo openssl passwd -1 -salt 'random-phrase-here' 'Letmein'
而後將結果替換 /etc/cobbler/settings 文件中的
default_password_crypted:
5.5 設置 Cobbler Web訪問的密碼
- sudo htdigest /etc/cobbler/users.digest "Cobbler" cobbler
5.6 編輯 /etc/cobbler/dhcp.template 文件,下面是我改動部分的配置信息
- ...
- subnet 192.168.145.0 netmask 255.255.255.0 {
- option routers 192.168.145.102;
- option domain-name-servers 192.168.145.1;
- option subnet-mask 255.255.255.0;
- #range dynamic-bootp 192.168.145.150 192.168.145.200;
- default-lease-time 21600;
- max-lease-time 43200;
- next-server $next_server;
- filename "/pxelinux.0";
- host test { # 爲指定機器指定ip地址
- hardware ethernet 08:00:27:2C:30:8C;
- fixed-address 192.168.145.155;
- }
- }
- ...
注意:若是在現有網段內已經有DHCP服務器,須要把 range dynamic-bootp 註釋掉,不然會有衝突。這個地方須要特別注意,要根據本身的網絡狀況來設置。
5.7 重啓服務
- sudo service xinetd restart
- sudo service httpd restart
- sudo service cobblerd restart
5.8 啓動和檢測 cobbler
- sudo cobbler get-loaders
- sudo cobbler check
此時若是有錯誤,cobbler會提示,能夠根據提示來修復。可是對參數的任何修改都須要使用下面的命令來使其生效
5.9 Web 測試
- 訪問 http://192.168.145.102/cobbler_web
- 用戶名/密碼:cobbler/Letmein
6. 導入系統鏡像
這裏假定使用CentOS-6.6-x86_64來測試
- sudo mount -t auto -o loop /home/kongxx/share/os/CentOS-6.6-x86_64-bin-DVD1.iso /mnt
- sudo cobbler import --path=/mnt --name=CentOS-6.6 --arch=x86_64
運行這兩條命令後,可使用下面的命令來查看了
- $ sudo cobbler distro list
- $ sudo cobbler profile list
也能夠經過 Web 界面的 Distros 和 Profiles 來查看。
7. 自動安裝系統因爲是在家裏的虛擬機裏作測試,因此無法使用 IPMI 來管理物理機。這裏就只測試一下新的虛擬機能夠經過PXE來自動安裝系統。使用VirtualBox建立一個虛擬機,網絡設置使用和上面一樣的橋接模式。可是在 "虛擬機設置-> 系統 -> 啓動順序" 裏把網絡勾上並上移到第一位,而後啓動虛擬機。此時就能夠進入 Cobbler 的網絡安裝界面,選擇上面建立的 CentOS-6.6-x86_64 而後就能夠自動安裝了。裝完後,記得把虛擬機啓動順序改回到硬盤啓動優先,而後就能夠啓動新安裝的虛擬機了。