久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎樣實現Cobbler運維自動化部署

168次閱讀
沒有評論

共計 7901 個字符,預計需要花費 20 分鐘才能閱讀完成。

怎樣實現 Cobbler 運維自動化部署,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

一、參數說明

相關配置參數:

二、概要

總體來說,在 RHT/Centos 系列版本下,Cobbler 的使用上不會遇到很大問題。Cobbler 主要的作用是,把 DHCP、Kickstart 的修改都集成在一個平臺下做了管理,Cobbler 的精華其實是它啟用了 Kickstart 配置模板,其中可以內嵌 python 代碼。

這部分技術,Cobbler 叫做:snippets

在 RHT/Centos 系列中,官方已經提供了不少這些代碼,基本上調用一下就可以了,而 Ubuntu 下就非常的痛苦,必須自己開發。

以下是相關配置路徑 (默認安裝) :

Cobbler 配置   主要位置:/var/lib/cobbler/(實際操作和配置的目錄 )

snippets 代碼   位置:/var/lib/cobbler/snippets/

Kickstart 模板   位置 : /var/lib/cobbler/kickstarts/

安裝源鏡像       位置 : /var/www/cobbler/ks_mirror/(把它 link 到 apache 的發布目錄,方便 kickstart 工作時通過 http 下載安裝鏡像文件 )

三、具體使用流程

1)導入安裝源

a)   準備好安裝光盤 (ISO)

暫時放在:  /www/os/CentOS-6.3-x86_64-bin-DVD1.iso

b) 掛載 ISO

mount -o loop /www/os/CentOS-6.3-x86_64-bin-DVD1.iso /mnt/centos63-1

c) 導入安裝源 到 Cobbler 中

通過這個環節,Cobbler 會把安裝的鏡像 ISO 拷貝到 源安裝鏡像目錄下: /var/www/cobbler/ks_mirror/

操作命令如下:

cobbler import --path=/mnt/centos63-1 --name=centos6.3 --arch=x86_64

參數說明:

–name   為安裝源定義一個名字

–arch     指定安裝源是 32 位還是 64 位、ia64, 目前支持的選項有: x86│x86_64│ia64

注意:這個安裝源的 *** 標示 就是根據這兩個參數來定義

本例導入成功后,安裝源的 *** 標示就是:centos6.3-x86_64,如果重復,系統會提示導入失敗

更多用法,可以查看官方文檔: man cobbler , 然后查找 import 的配置,如果需要更多的參數定制  ,可以使用另外一個命令: cobbler distro。

相關管理命令:

// 查看導入源庫列表

cobbler distro list

// 查看導入安裝源的詳細資料

cobbler distro report --name centos6.3-x86_64

2) 定義 Profile

Profile 的概念,我理解為配置分組,這樣可以對一組服務器 指定他們都需要安裝的服務和配置。

比如:指定磁盤的分區策略,指定需要安裝的服務, 鍵盤布局, 默認語言等等,這些操作,其實都是通過在 Profile 中 指派不同的 kickstart 配置文件來實現。在 *** 次導入時,系統給安裝源指定一個默認 Profile, 它定義了一個 KS 文件:/var/lib/cobbler/kickstarts/sample.ks,為達到自定義服務的需求,我們需要定義自己的 Profile,并指定自己的 KS 文件。當然也可以需要自定義多個 KS 文件。

接著上面例子,我已經導入了一個安裝源:centos6.3-x86_64,因此需要定義一個 Profile

操作命令如下:

cobbler profile add --name=centos6.3-x86_64 --distro=centos6.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks

如果此 profile 已經存在,則需要修改一下:

cobbler profile edit --name=centos6.3-x86_64 --distro=centos6.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks

參數說明:

–name       Profile 的名字 (同樣也不能重復),在此例中, 我們新定義的 Profile 叫:centos6.3-x86_64

–distro       Profile 相關聯的安裝源 ID(通過 cobbler distro list 可查到)

–kickstart  Profile 相關聯的 kickstart 配置文件(此文件必須預先準備好 )

相關管理命令:

// 查看 profile 詳情

cobbler profile report --name centos6.3-x86_64

// 通過 profile 找到 對應的 KS 文件

ksfile=$( cobbler profile report --name centos6.3-x86_64|grep -E  ^Kickstart  |head -n 1|cut -d  :  -f 2 );cat $ksfile;

3) 準備自定義的 kickstart 配置文件(For Centos/RHEL)

注意:這是 關鍵步驟之一

由于需要安裝的操作系統發行廠商不同,因此 KS 文件的寫法要求,也不一而足。

本文只討論 CentOs/RHEL 系列的 KS 配置

另外:操作系統 版本不同,在 KS 也存在一定的差異,比如 CentOS5 , 和 CentOS6 下就有不同,切記!

官網的文檔在此:

CentOS5 的 (網上大多是這個系列的) : http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-options.html

CentOS6 的 (能看到的配置案例很少) : https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html

另外我自己測試的 KS 文件也上傳了??晒┐蠹蚁螺d:

centos6.3 64 位 KS

centos5.8 64 位 KS

另外 Cobbler 對 RHEL 和 CentOS 支持非常好,因此很多需要特殊定義的選項,都有相應的 snippets 腳本

建議使用前 可以先在 snippets 目錄下查一下,沒準已經有了,否則才考慮自己開發 snippets 腳本

在 KS 文件的調用方法如下:

%post 
$SNIPPET(post_install_network_config)

此行配置 調用了 對網絡配置的相關 操作 (里面是一個模板,支持嵌入 python 代碼)

在 ks 文件里面 有一個重要配置參數,它用來 定義系統安裝的源文件下載方式:

例如 CentOS6 配置文件有這么一行:url –url=http://192.168.100.1/cobbler/ks_mirror/centos6.3

這其實就是前面 導入的安裝源中的 各種安裝包, 現在指定了對他們的訪問方式

4) 對需要 安裝系統的服務器做定制化

說明:服務器網卡必須支持 PXE 功能

定制化 至少有這么幾個:網絡配置,Hostname 這些

注意:如果不定制化,網卡通過 PXE 啟動后,會出現一個菜單供人選擇用哪個配置(其實就是 Profile 的名字)

而且每個安裝源 都有自己的默認 KS 文件,超過時間后,會指定使用默認的 KS 文件 進行安裝

本文主要討論 自動化一鍵部署,所以必須要做定制化

這部分的操作 主要通過 cobbler system 來實現

操作命令如下:

cobbler system add –name=WebCache-3.167 –mac=00:24:E8:64:24:59 –ip-address=192.168.3.167 –subnet=255.255.255.0 –gateway=192.168.3.1 –interface=eth0 –static=1 –profile=centos6.3-x86_64 –dns-name=ywtest-3-167.test.com –hostname=ywtest-3-167.test.com –netboot-enabled=true –name-servers= 192.168.3.1 202.106.196.115

以上的命令,對一臺服務器做了以下定義:

a) 服務器名(不能重復即可 ) : WebCache-3.167

因為這個服務器打算要用于 Web 服務,ip 地址是 192.168.3.167,這樣的格式是方便記憶

b) 網絡分配的網卡設備 : eth0  MAC 地址 : 00:24:E8:64:24:59

注意,這是必填項,主要是依據它來區別不同的配置

同樣的,這個參數也不允許重復(同一個 MAC 只能跟 一個自定義配置匹配 )

c) 分配的 IP : 192.168.3.167 子網掩碼 : 255.255.255.0 默認網關 : 192.168.3.1 設備名: eth0 分配的是靜態 IP

d) 本機使用的 DNS 服務 IP :  192.168.3.1 202.106.196.115  (根據實際情況來配置)

支持添加多個 DNSIP, 用空格做間隔

e) 指定一個 Profile:centos6.3-x86_64

這個選項能自動為這臺機器 定義了安裝的系統,安裝的服務等等

具體配置 可以查看 profile 的 實際定義的 KS 文件來獲取

f) 指定 hostname : ywtest-3-167.test.com

cobbler 可以根據 這個參數 修改 CentOS 系統的 hostname 配置

g) Cobbler 可以設置成一個新服務器的安裝過后,第二次 PXE 啟動的時候 能自動選擇跳過(避免重復安裝)

但如果需要強制安裝,就需要用到這個參數:–netboot-enabled=true

相關操作命令:

// 查看定制化列表

cobbler system list

// 查看某項定制化 詳情

cobbler system --name WebCache-3.167

更多的定制化技巧 :

a)   對多塊網卡的定制

一般默認對 eth0 做配置,當然 Cobbler 也支持多塊網卡的定制

需要注意的是,這個功能 在 CentOS/RHEL 下沒有問題,Cobbler 可以把這些具體設置 通過 snippets 腳本 完成了對 KS 的修改

但相同的配置在 Ubuntu 下還沒有相應的 snippets 腳本 (理論上可以自己編寫), 所以只能用別的方法來實現

操作命令如下:

cobbler system edit --name WebCache-3.167 --interface=eth0.10 --static=1 --ip=192.168.10.5 --subnet=255.255.255.0 
cobbler system edit --name WebCache-3.167 --interface=eth2 --static=1 --ip=192.168.20.5 --subnet=255.255.255.0

通過以上 2 句話,可以 添加 網卡 eth0 的別名:eth0:10,和 另外一塊網卡 eth2 的配置

b) 刪除網卡的自定義配置

system edit --name= WebCache-3.167 --interface=eth2 --delete-interface

c) 支持網卡 bonding 配置

cobbler system edit --name=WebCache-3.167 --interface=eth0 --mac=AA:BB:CC:DD:EE:00 --interface-type=bond_slave --interface-master=bond0 
cobbler system edit --name=WebCache-3.167 --interface=eth2 --mac=AA:BB:CC:DD:EE:01 --interface-type=bond_slave --interface-master=bond0 
cobbler system edit --name=WebCache-3.167 --interface=bond0 --interface-type=bond --bonding-opts= mode=active-backup miimon=100  --ip=192.168.3.167 --subnet=255.255.255.0 --gateway=192.168.3.1 --static=1

以上命令,配置了一個 bonding,它的成員是: eth0,eth2

d) 配置 Bridge 類型的網卡

cobbler system edit --name=WebCache-3.167 --interface=eth3 --mac=AA:BB:CC:DD:EE:00 --interface-type=bridge_slave --interface-master=br0 --static=1 
cobbler system edit --name=WebCache-3.167 --interface=br0 --mac=AA:BB:CC:DD:EE:00 --interface-type= bridge  --static=1

以上語句 是配置一個 Bridge: br0, 它的成員是 eth3

因為這個 bridge 我不想配置 IP 地址, 所以要加上參數 :  –static=1,否則該 Bridge 在實際配置中 Cobbler 會配置成 DHCP 模式

更多技巧,請參考官網 WIKI。

也可以多 參考 軟件自帶的 MAN :  man cobbler

5) 同步以上步驟 所做的修改

因為以上步驟需要修改的組件比較多 (根據 cobbler 配置文件來),大概會有:

a) Cobbler 自己內部配置

以上幾個環節的配置信息, 都會自動記錄下來

b) Dhcp 配置(需要在主配置文件中 開啟對 Dhcp 功能的管理 )

需要注意的是,如果是 Centos5 下,會遇到問題 ; 而 Centos6 卻不會有問題

默認 Cobbler 修改的是 /etc/dhcp/dhcpd.conf,而 Centos5 下 配置文件卻在 /etc/ 下

因此 可能需要修改 dhcp 的 系統啟動腳本 /etc/init.d/dhcpd

c) Tftp 配置  (需要在主配置文件中 開啟對 Tftp 功能的管理 )

因為有定制化配置,所以 Cobbler 會在 tftp 的主配置文件夾中生成對應的配置:

假設:ftft 的 root 目錄是  /tftpboot/

Cobbler 生成的配置文件會 放在 /tftpboot/pxelinux.cfg/ 下

d) Bind 配置(需要在主配置文件中 開啟對 DNS 功能的管理 )

這部分配置 我的測試中沒有打開,因此沒有測試

估計會 修改 Bind 的主配置文件 /etc/named.conf

操作命令如下:

cobbler sync

6) 打開電源,BOOT 需要自動化安裝的服務器

一般接上電源,通過 PXE 即可完成自動化安裝,基本上經過 20-30 分鐘,就可以完成一次安裝。

四、補遺

1)關于 Apache 和 Cobbler

在上一篇文章 (Cobbler- 服務安裝) 中,我已說過 Apache 和 Cobbler 有深度整合

主要是 Cobbler 是用 python 寫的,它利用 Apache 的 wsgi 模塊 實現了 http 的接口

利用這個接口,可以做這么幾件事:

a 提供安裝源的 http 下載

b Cobbler 的 web 管理平臺,提供圖形化的操作界面(此部分我沒有深入測試, 請自行查看相關文檔 )

//Cobbler web 界面訪問地址:

http://192.168.100.1/cobbler_web/ (192.168.100.1  為 apache  監聽的 IP 地址)

c 提供接口查詢相關配置

比如:

// 查詢 profile 詳情

http://192.168.100.1/cblr/svc/op/ks/profile/centos6.3-x86_64

// 查詢定制化配置的 KS 文件

http://192.168.100.1/cblr/svc/op/ks/system/WebCache-3.167

2) 關于 wsgi

安裝方法: yum -y install mod_wsgi

相關配置文件:

a) wsgi.conf : 可以讓 apache 啟動 wsgi 模塊

其內容就是一行配置命令:

LoadModule wsgi_module modules/mod_wsgi.so

b) mod_wsgi.so   模塊核心,按 apache 組件開發

此文件需要放到 apache 的模塊組件目錄中

c) cobbler.conf

此配置文件 是主要核心配置

假設 apache 和 cobbler 都是默認安裝

那文件會存在于: /etc/httpd/conf.d/cobbler.conf

3) 配置檢查

//kickstart 配置檢查

cobbler validateks

// 單個 kickstart profile 檢查

/usr/bin/ksvalidator  http://192.168.100.1/cblr/svc/op/ks/profile/centos6.3-x86_64  
/usr/bin/ksvalidator  http://192.168.100.1/cblr/svc/op/ks/system/WebCache-3.167 

4) 設置并同步特定源

a) 增加特定源

cobbler repo add --mirror=http://mirrors.ustc.edu.cn/epel/6/x86_64/ --name=ustc-epel6-x86_64 --arch=x86_64 --breed=yum 
cobbler repo add --mirror=http://mirrors.ustc.edu.cn/epel/testing/6/x86_64/ --name=ustc-epel6-x86_64-testing --arch=x86_64 --breed=yum

b) 把特定源指定到 profile 上

cobbler profile edit --name= centos6.3-x86_64 --repos= epel6-x86_64 epel6-x86_64-testing

c) 需要同步 epel 的源到本地,考驗你的網絡速度

cobbler reposync 
cobbler reposync --tries=3 --no-fail

6) 修改內核啟動參數,可以保證在安裝開始以后,不會有選擇 國家,語言,鍵盤布局 的提示

cobbler profile edit –name=centos6.3-x86_64 –distro=centos6.3-x86_64 –kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks –kopts= locale=en_US netcfg/choose_interface=auto console-setup/ask_detect=false keyboard-configuration/layoutcode=us

關于怎樣實現 Cobbler 運維自動化部署問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計7901字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 阳原县| 香格里拉县| 郑州市| 宣城市| 庐江县| 南汇区| 田东县| 临安市| 仙居县| 大关县| 弋阳县| 丰顺县| 灵寿县| 乌拉特中旗| 刚察县| 藁城市| 洛浦县| 思茅市| 湖州市| 四会市| 集贤县| 米泉市| 新泰市| 昂仁县| 宜城市| 伊通| 南阳市| 仙游县| 西昌市| 泗阳县| 房产| 哈尔滨市| 阿拉善左旗| 滦南县| 陕西省| 调兵山市| 汝阳县| 科尔| 历史| 曲麻莱县| 宜都市|