cobbler自動化安裝系統相關實驗

cobbler用來快速建立 Linux 網絡安裝環境,基于PXE的二次封裝,將多種安裝參數封裝到一個菜單,相較于PXE更加方便,自動化

本節索引:

一、cobbler簡介

二、實驗:模擬搭建cobbler服務器,實現cobbler自動化安裝系統

三、實驗:實現基于web的cobbler

timg_image&quality=80&size=b9999_10000&sec=1527337040493&di=4aa511319138aa92d798

一、cobbler簡介:

cobbler

功能:用來快速建立 Linux 網絡安裝環境

特性:

1.基于PXE的二次封裝,將多種安裝參數封裝到一個菜單,更加方便,自動化

2.Python編寫

3.支持UEFI+GPT

 

cobbler工作流程:

1.client裸機配置了從網絡啟動后,開機后會廣播包請求DHCP服務器(cobbler server)

發送其分配好的一個IP

2.DHCP服務器(cobbler server)收到請求后發送responese,包括其ip地址

3.client裸機拿到ip后再向cobbler server發送請求OS引導文件的請求

4.cobbler server告訴裸機OS引導文件的名字和TFTP server的ip和port

5.client裸機通過上面告知的TFTP server地址通信,下載引導文件

6.client裸機執行執行該引導文件,確定加載信息,選擇要安裝的os,期間會再向

cobbler server請求kickstart文件和os image

7.cobbler server發送請求的kickstart和os iamge

8.client裸機加載kickstart文件

9.client裸機接收os image,安裝該os image

 

 

cobbler介紹:

安裝包:

系統默認未安裝,需手動安裝(epel源)

cobbler服務集成:

PXE

???????? DHCP

???????? rsync

???????? Http

???????? DNS

???????? Kickstart

???????? IPMI 電源管理

 

檢查cobbler環境:

cobbler check

1)指定server地址

2)指定tftp服務器地址

3)需要關閉SELinux

4)使用cobbler get-loaders下載必要文件

5)rsync服務,忽略不做

6)忽略不做

7)要求debian框架下安裝debmirror包,忽略不做

8)要求加密口令

9)集群與電源相關

 

cobbler相關術語:

發行版:

表示一個操作系統版本,它承載了內核和 initrd 的信息,以及內核參數等其他數據

配置文件:

包含一個發行版、一個 kickstart 文件以及可能的存儲庫,還包含更多特定的內核參

數等其他數據

系統:

表示要配置的主機,它包含一個配置文件或一個鏡像,還包含 IP 和 MAC 地址、電源

管理(地址、憑據、類型)以及更為專業的數據等信息

存儲庫:

保存一個 yum 或 rsync 存儲庫的鏡像信息

鏡像:

可替換一個包含不屬于此類別的文件的發行版對象(例如,無法分為內核和 initrd 的

對象)

 

相關配置文件:

配置文件目錄 /etc/cobbler

/etc/cobbler/settings : cobbler 主配置文件

/etc/cobbler/iso/: iso模板配置文件

/etc/cobbler/pxe: pxe模板文件

/etc/cobbler/power: 電源配置文件

/etc/cobbler/user.conf: web服務授權配置文件

/etc/cobbler/users.digest: web訪問的用戶名密碼配置文件

/etc/cobbler/dhcp.template : dhcp服務器的的配置末班

/etc/cobbler/dnsmasq.template : dns服務器的配置模板

/etc/cobbler/tftpd.template : tftp服務的配置模板

/etc/cobbler/modules.conf : 模塊的配置文件

數據目錄

/var/lib/cobbler/config/: 用于存放distros,system,profiles 等信息配置文件

/var/lib/cobbler/triggers/: 用于存放用戶定義的cobbler命令

/var/lib/cobbler/kickstart/: 默認存放kickstart文件

/var/lib/cobbler/loaders/: 存放各種引導程序

鏡像目錄

/var/www/cobbler/ks_mirror/: 導入的發行版系統的所有數據

/var/www/cobbler/images/ : 導入發行版的kernel和initrd鏡像用于遠程網絡啟動

/var/www/cobbler/repo_mirror/: yum 倉庫存儲目錄

日志目錄

/var/log/cobbler/installing: 客戶端安裝日志

/var/log/cobbler/cobbler.log : cobbler日志

 

cobbler命令:

cobbler commands???????? 介紹

cobbler check ??????????????? 核對當前設置是否有問題

cobbler list ???????????? 列出所有的cobbler元素

cobbler report ?????????????? 列出元素的詳細信息

cobbler sync ????????? 同步配置到數據目錄,更改配置最好都要執行下

cobbler reposync ? 同步yum倉庫

cobbler distro ??????????????? 查看導入的發行版系統信息

cobbler system ????????????? 查看添加的系統信息

cobbler profile ????? 查看配置信息

 

 

二、實驗:模擬搭建cobbler服務器,實現cobbler自動化安裝系統

1.開啟各類服務

systemctl enable cobblerd dhcpd httpd tftp

systemctl start cobblerd httpd tftp

2.檢查

cobbler check

 

3.指定cobbler服務器地址:

養成好習慣,記得備份

vim /etc/cobbler/settings(備份)

server:192.168.30.10????????????? line384

指定cobbler服務器

4.重啟服務

systemctl restart cobblerd

5.指定tftp服務器

next_server:192.168.30.10??? line272

指定tftp服務器

6.關閉SELinux

7.下載必要文件

cobbler get-loaders

cobbler get-loaders

8.同步必要文件到/var/lib/tftpboot目錄

cobbler sync

cobbler sync

同步后的目錄結構如下:

目錄結構

9.加密口令替換setting文件中的默認口令

#openssl passwd -1??????????????????????????????????????????? 交互式生成加密口令

default_password_crytped??? line101

設定加密口令

10.使用cobbler自動配置dhcp服務器

manage_dhcp:1?????????????????????? line242

自動配置dhcp

11.重啟cobbler服務

systemctl restart cobblerd

12.修改DHCP默認配置文件

vim /etc/cobbler/dhcp.template

subnet 192.168.30.0 netmask 255.255.255.0

range dynamic-bootp 192.168.30.10 192.168.30.200;???????????????? 按需修改

修改dhcp

13.同步dhcp設置

cobbler sync

14.確保dhcp服務已啟動(67端口)

ss -ntlu

15.重啟httpd cobbler服務

systemctl restart httpd cobblerd

16.掛載6,7磁盤

mount /dev/sr0 /mnt/cdrom0

mount /dev/sr1 /mnt/cdrom1

掛載cdrom

17.光盤導入

cobbler import –path=/mnt/cdrom0/? –name=CentOS-6.9-x86_64 –arch=x86_64

cobbler import –path=/mnt/cdrom1/? –name=CentOS-7.4-x86_64 –arch=x86_64

 

18.光盤導入完成后會自動生成對應版本最小化安裝應答文件

cobbler distro list?????????????????????????????????????? 列出有幾套系統

CentOS-6.9-x86_64

CentOS-7.4-x86_64

cobbler profile list???????????????????????????????????? 列出有幾套應答文件配置

CentOS-6.9-i386

CentOS-6.9-x86_64

CentOS-7.4-x86_6

列出配置

19.可以刪除不需要的應答文件

cobbler profile remove –name=CentOS-6.9-i386?

cobbler distro remove –name=CentOS-6.9-i386

20.關聯自己的應答文件

修改應答文件路徑:

vim ks.cfg

url? –url=$tree?????????????? 修改路徑(必要)

$tree

放置對應目錄下:

cp ks6_mini.cfg? /var/lib/cobbler/kickstarts/

cp ks7_desktop.cfg? /var/lib/cobbler/kickstarts/

cobbler profile add? –name=CentOS-6.9-x86_64_Mini? –distro=CentOS-6.9-x86_64

–kickstart=/var/lib/cobbler/kickstarts/ks6_mini.cfg

cobbler profile add? –name=CentOS-7.4-x86_64_Desktop? –distro=CentOS-7.4-x86_64

–kickstart=/var/lib/cobbler/kickstarts/ks7_desktop.cfg

添加配置

21.安裝測試,新開一臺虛擬機,網卡設置為僅主機

開機選項

 

三、實驗:實現基于web的cobbler

前期準備:cobbler-web安裝包,epel源

服務器:CentOS7:192.168.30.10

 

1.yum install cobbler-web

2.重啟httpd服務

systemctl restart httpd

3.測試cobbler網頁

https://192.168.30.10/cobbler_web/

web

4.添加cobbler管理員賬戶

/etc/cobbler/modules.conf?? 定義了管理員賬戶的添加方式

可以看到默認認證方式定義在/etc/cobbler/users.digest文件中

系統默認認證方式

方法一:默認方式

創建用戶test1

htdigest -c /etc/cobbler.users.digest? Cobbler test1

要求輸入口令

默認修改

使用test1賬戶登錄:登錄成功:

就可以在頁面上更改cobbler配置了

登錄成功

 

方法二:pam模塊驗證方法

module = authn_pam

pam驗證

cat /etc/cobbler/users.conf

useradd -s? /sbin/nologin? test2

echo magedu | passwd? –sdtin test2

vim /etc/cobbler/users.conf

[admins]

admin = test2

pam模塊驗證2

重啟cobbler服務

systemctl restart cobblerd

使用test2賬戶登錄:登錄成功

test2登錄成功

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99442

(1)
wangxczwangxcz
上一篇 2018-05-26
下一篇 2018-05-26

相關推薦

  • Linux 的不同的發行版區別和聯系

    Linux 的不同的發行版區別和聯系   Linux,最早由Linus Benedict Torvalds在1991年開始編寫。在這之前,Richard Stallman創建了Free Software Foundation(FSF)組織以及GNU項目,并不斷的編寫創建GNU程序(此類程序的許可方式均為GPL: General Public Lic…

    2018-08-04
  • 初學linux你該死記它們

    最笨的方法往往是最好的方法

    Linux筆記 2018-04-08
  • 馬哥網絡班第31期——第一周作業

    1、描述計算機的組成及其功能。
    2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
    5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
    6、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定

    Linux筆記 2018-07-06
  • puppet實現nginx反代tomcat+memcached

    puppet實現nginx反代tomcat+memcached

    2018-04-16
  • shell腳本進階部分

    腳本進階:條件語句、循環語句等(不包括linux安裝部分)

    2018-05-13
  • d1-d2 命令總結

    1.bc 計算器 [root@centos7 ~]# bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For det…

    Linux筆記 2018-07-19
欧美性久久久久