Linux自動網絡裝機 —— Cobbler

前言:

最近整理一些之前的學習筆記。
過去都是存儲在本地,這次傳到網絡留待備用。python


 

Cobblerlinux

  • 補鞋匠,快速創建linux網絡裝機環境,下降了linux裝機的技術門檻
  • 官網: http://cobbler.github.io/
  • ps:
    • VMWare使用默認橋接便可
    • KVM須要建立橋接,不然不能使用pxe批量安裝

 

1、搭建Cobbler服務

0.初始環境

]# yum-config-manager --add-repo http://mirrors.aliyun.com/repo/epel-7.repo     #部署yum源
]# systemctl stop firewalld                                                     #關閉防火牆
]# setenforce 0                                                                 #關閉selinux

1.安裝相關軟件

]# yum -y install dhcp httpd tftp rsync cobbler cobbler-web pykickstart xinetd
dhcp            //DHCP服務,分配ip
httpd           //Apache web服務,提供yum源
tftp-server     //TFTP服務,傳送配置文件
rsync           //用於同步cobbler配置
cobbler         //cobbler程序包
pykickstart     //cobbler檢查kickstart語法錯誤
xined           //提供tftp的daemon運行
cobbler-web     //可選,cobbler的web服務包
system-config-kickstart //可選,ks圖形生成

2.配置cobbler配置文件

]# ps=`openssl passwd -1 -salt "自定義描述信息" "123456"`          //test隨意字符串,生成密碼123456
]# vim /etc/cobbler/settings
    101修改default_password_crypted: 生成的加密密碼                //設置默認安全密碼
]# sed -ri "s#(default_password_crypted: \")[^\"]*#\1$ps#" /etc/cobbler/settings
    242修改manage_dhcp:0爲manage_dhcp:1                           //設置cobbler管理dhcp服務
]# sed -i "/manage_dhcp:/ s/0/1/" /etc/cobbler/settings
    261修改manage_rsync: 0爲1                                     //接管rsync
]# sed -i "/manage_rsync:/s/0/1/" /etc/cobbler/settings
    272修改next_server: 192.168.4.1                               //設置下一個服務器爲本機
]# sed -i "/next_server/ s/127.0.0.1/192.168.4.1/" /etc/cobbler/settings
    292修改pxe_just_once:0爲pxe_just_once:1                       //防止客戶端重複安裝操做系統
]# sed -i "/pxe_just_once:/ s/0/1/" /etc/cobbler/settings
    384修改server:127.0.0.1爲server:192.168.4.1                   //設置本機爲cobbler服務器
]# sed -i "/^server:/ s/127.0.0.1/192.168.4.1/" /etc/cobbler/settings

3.配置cobbler的dhcp

  • 修改後會覆蓋到本機dhcp的配置文件
]# vim /etc/cobbler/dhcp.template
subnet 192.168.4.0 netmask 255.255.255.0 {                    #設置網段,子網掩碼
    option routers             192.168.4.1;                   #設置路由
    option domain-name-servers 192.168.4.1;                   #設置dns
    option subnet-mask         255.255.255.0;                 #子網掩碼
    range dynamic-bootp        192.168.4.100 192.168.4.254;   #子網ip啓末地址池
    ...
]# #vim /etc/sysconfig/dhcpd                //非必要
DHCPDARGS=private1                      //表示dhcp將只在private1網絡接口上提供DHCP服務

4.配置tftp

]# sed -i "/disable/s/yes/no/" /etc/xinetd.d/tftp

5.獲取cobbler其它引導文件

]# tar -xPf /root/桌面/Cobbler/cobbler_boot.tar.gz      #絕對路徑解壓
或下載
]# systemctl start cobblerd httpd                       #自動下載須要啓動這兩個服務
]# cobbler get-loaders                                  #下載其它引導文件

6.可選軟件

  • 安裝 debmirror,部署debian系統須要

    ]# yum -y install debmirror
    ]# sed -i "s/^@dists/#  @dists/" /etc/debmirror.conf
    ]# sed -i "s/^@arches/#  @arches/" /etc/debmirror.conf
  • 安裝fence-agents或cman,管理電源選項使用

    ]# yum -y instalr

7.同步刷新cobbler配置

]# cobbler sync
]# systemctl restart dhcpd httpd tftp cobblerd rsyncd xinetd
]# cat /etc/dhcp/dhcpd.conf                                       #查看生成的dhcp配置文件
]# ss -utnlp | egrep "69|80|25251"

8.web登錄

]# htdigest /etc/cobbler/users.digest "自定義描述信息" cobbler    #建立用戶名
    #設置用戶密碼
]# yum -y install Django                                          #web的python組件,解決500錯誤
]# yum -y install python2-pip
]# pip install ipaddress
]# firefox https://192.168.4.1/cobbler_web                        #訪問web頁面
    #賬號:cobbler  密碼:123456

 

2、導入鏡像

  • cobbler導入的鏡像存放在:/var/www/cobbler/ks_mirror/引導名/
  • 注意保證目錄的足夠空間
  • 導入鏡像
    ]# mount /dev/cdrom /dvd                                    #掛載本地鏡像
    ]# cobbler import --path=/dvd --name=centos7 --arch=x86_64  #導入安裝鏡像
    ]# cobbler 導入 --系統鏡像路徑  --自定義鏡像名 --系統架構
    ]# cobbler profile report                                   #查看cobler導入信息
    ]# cobbler profile list                                     #查看導入的鏡像文件
    ]# cobbler distro list                                      #查看導入的鏡像
    ]# #killall -9 dnsmasq                                      #虛擬化服務會干擾DHCP服務,幹掉
  • 導入出錯再次導入時會報錯,解決方法
    ]# systemctl restart cobblerd; cobbler get-loaders      #解決,再次導入
    ]# cobbler signature update                             #依然報錯執行後,再次導入
  • 添加第三方rpm倉庫
    ]# cobbler repo add --name=自定義repo名 --mirror=repo的url      #添加repo
    ]# cobbler reposync                                             #同步repo到本地,要保證空間

 

3、修改kickstart文件:

  • kickstart自動應答文件
  • 默認kickstart文件存放位置:/var/lib/cobbler/kickstarts/
  • 生成ks文件
    • 圖形ks生成工具:system-config-kickstart
      ]# yum -y install system-config-kickstart
      ]# vim /etc/yum.repos.d/nsd.repo        #搭建本地yum倉庫,圖形工具顯示軟件包須要
       [development]                          #cobbler圖形工具要求標示源名必須是:development
       name=dvd
       baseurl=file:///dvd
       enabled=1
       gpgcheck=0
      ]# system-config-kickstart              #啓動圖形工具,應用程序-系統工具-kickstart
                                              #保存到/var/lib/cobbler/kickstarts/
      #注意: http安裝要具體到鏡像系統目錄 --url=http://192.168.4.1/cobbler/ks_mirror/centos7-x86_64
    • 使用邏輯卷管理磁盤
      part pv.數字 --size=1 --grow --fstype="xfs" --ondisk=sda  #建立物理卷 --大小 --增加 --文件系統類型 --指定磁盤
      volgroup 卷組名 --siza=大小 物理卷
      logvol 掛載點 --name=邏輯卷名 --fstype="系統格式" --size=大小 --vgname=卷組名
    • 符號:
      @表明軟件組
      直接寫名字表明軟件名
  • 修改鏡像關聯的ks文件
    ]# cobbler profile edit --name=鏡像名 --kickstart=/var/lib/cobbler/kickstarts/對應的ks文件.cfg
    ]# cobbler profile report [profile名]       #確認修改
    ]# cobbler sync                             #每次修改profile都要同步
  • 修改鏡像內核
    ]# #cobbler profile edit --name=CentOS-7.1-x86_64 --kopts='net.ifnames=0 biosdevname=0'

 

4、定製化安裝

  • 裝機頁面定製化

    ]# vim /etc/cobbler/pxe/pxedefault.template
    DEFAULT menu
    PROMPT 0
    MENU TITLE Cobbler | http://cobbler.github.io/     #自定義選單標題,不能用中文
    TIMEOUT 200
    TOTALTIMEOUT 6000
    ONTIMEOUT CentOS-7-x86_64          //超時後自動執行的label,寫入選項名
    ​LABEL local
        MENU LABEL (local)
        MENU DEFAULT                   //默認顯示的選項
        LOCALBOOT -1
    $pxe_menu_items
    MENU end
    ]# cobbler sync

 

5、重裝客戶端

  • 客戶端軟件: Koan

]# yum -y install koan                                                  #客戶端安裝
]# koan --server=192.168.4.1 --list=profiles                            #查看服務器上的profile
]# koan --server=192.168.4.1 --display --profile=centos7-x86_64         #查看更多信息
]# koan --server=192.168.4.1 --replace-self --profile=centos7-x86_64    #從新安裝已存在的系統
]# koan --server=192.168.4.1 --virt --profile=centos7-x86_64            #安裝虛擬系統,須要qemu軟件
]# koan --server=192.168.4.1 --update-config                            #根據cobbler定義更新系統
相關文章
相關標籤/搜索