1. 程式人生 > >cobbler自動安裝系統

cobbler自動安裝系統

yum源 exp 重新 src ror serve 系統 mark pam

一、cobbler工作流程

  • 遠程裸機開機啟動網絡啟動,開機後會廣播給DHCP服務器,分配給遠程主機一個IP地址
  • 拿到IP地址後,遠程主機向cobbler server發送請求OS啟動文件的請求。
  • cobbler服務器告訴遠程主機OS應到文件的名字,和 TFTP 服務器的IP地址和端口。
  • 遠程主機根據IP地址和端口,到TFTP 服務器上下載引導文件。
  • 遠程主機執行OS引導文件,加載信息和menu.c32,啟動選擇菜單,選擇要安裝的OS,然後向cobbler服務器請求 kickstart 文件和OS iamge
  • 遠程主機加載kickstart 文件,開始安裝OS image

二、 準備工作

  • 安裝 cobbler 基於epel源
  • 安裝 cobbler 所需要的服務
    • DHCP
    • TFTP
    • HTTP
  • 關閉SElinux 關閉防火墻 啟動各個服務
  • 啟動httpd ,tftp.socket服務
  • 啟動cobblerd服務
  • 檢查cobbler環境
    cobbler check
  • 下面開始配置環境檢查 出來的問題
    技術分享圖片
    在主配置文件/etc/cobbler/settings裏進行一些設置
server: 192.168.163.100  # 384行,cobbler的服務器地址,本機IP地址

技術分享圖片

next_server: 192.168.163.100   # 272行,TFTP的服務器的IP地址,一般裝在本機。填寫本機ip即可

技術分享圖片

centos6中的老提示,啟動TFTP服務的,6中tftp服務由xinted接管的,所以需要設置啟動。

技術分享圖片

  • 如果可以聯網的情況下,可以使用命令 cobbler get-loaders即可
  • 沒有聯網聯網,則需要安裝syslinux程序包,而後復制/usr/share/syslinux/{pxelinux.0,menu.c32}等文件到/var/lib/cobbler/loaders/目錄中

技術分享圖片

  • 使用 openssl passwd -1 生成密碼,替換/etc/cobbler/settings文件中 default_password_crypted參數的值
  • 重新啟動cobbler服務
  • 然後使用 cobbler sync 同步文件數據
    CentOS7中其他的錯誤不影響使用。
    技術分享圖片

使用cobbler幫助生成dhcp配置文件

  • /etc/cobbler/setttings配置文件中 manage_dhcp: 0 參數設置為1,則cobbler自動生成DHCP配置文件
  • /etc/cobbler/dhcp.template dhcp的配置模版文件
    subnet 192.168.1.0 netmask 255.255.255.0 {
     option routers             192.168.1.254; 
     option domain-name-servers 192.168.1.1;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.1.100  192.168.1.254;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
    #修改IP的範圍 網段 網關 等屬性即可
  • 重啟cobbler服務 cobbler sync 命令同步配置文件數據
  • 制作yum源
cobbler import --path=/mnt/7  --name=CentOS7.4 --arch=x86_64
# --path  光盤掛載路徑  --name 生成的包名   --arch 系統架構
cobbler import --path=/mnt/6  --name=CentOS6.9 --arch=x86_64
du -sh  /var/www/cobbler/ks_mirror/  
#可以查看生成大小,生成包所在的路徑
  • 這樣就可以網絡自動安裝系統了。
  • 可以修改/var/lib/tftpboot/pxelinux.cfg/default 的文件內容,自己指定ks(kickstart文件)的路徑。 ks文件可以根據自己的需求編寫。
    url --url=$tree 安裝源路徑
    開啟後可以看見如下圖:
    技術分享圖片

    三、cobbler的一些命令使用

cobbler check  # 核對當前設置是否有問題
cobbler list  # 列出所有的cobbler元素
cobbler report  # 列出元素的詳細信息
cobbler sync  # 同步配置到數據目錄,更改配置最好都要執行下
cobbler reposync  # 同步yum倉庫
cobbler distro  # 看導入的發行版系統信息
cobbler distro list # 幾套安裝系統
cobbler system # 查看添加的系統信息
cobbler profile # 查看配置信息
cobbler profile list  #查看安裝系統的啟動菜單項

四 、cobbler-web的實現
cobbler-web訪問要基於ssl加密,所以需要mod_ssl安全包。
查看文件 /etc/cobbler/modules.conf

#    authn_denyall    -- no one (default)
#    authn_configfile -- use /etc/cobbler/users.digest (for basic setups)
#    authn_passthru   -- ask Apache to handle it (used for kerberos)
#    authn_ldap       -- authenticate against LDAP
#    authn_spacewalk  -- ask Spacewalk/Satellite (experimental)
#    authn_pam        -- use PAM facilities
#    authn_testing    -- username/password is always testing/testing (debug)

[authentication]
module = authn_configfile #密碼的驗證方式,基於/etc/cobblerusers.digest 文件帳號驗證

創建Cobbler管理賬號

htdigest -c /etc/cobbler/users.digest Cobbler  cobbleradmin
 # 給Cobbler創建 帳號 為  cobbleradmin
 # 然後開始輸入要創建的帳號的密碼
  • 可以看見/etc/cobbler/users.digest 文件中有帳號密碼生成,密碼是加密過的。
  • 然後訪問https://地址/cobbler_web/
    技術分享圖片
  • 進入後可以看到
    技術分享圖片

下面就可以操作web界面了。

  • 也可以使用pam模塊驗證
    將/etc/cobbler/modules.conf 的配置修改為如下
[authentication]
module =  authn_pam
  • 然後修改/etc/cobbler/users.conf 文件
[admins]
admin = "cobbler " #輸入要登陸的linux系統普通用戶名
cobbler = "" #不用填寫

服務重啟後,登陸時使用 這個用戶名登陸即可。

cobbler自動安裝系統