成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

運維自動化部署之Cobbler實戰

運維 系統運維 自動化
總體來說,在RHT/Centos系列版本下,Cobbler的使用上不會遇到很大問題。本文從概要到具體使用流程等多個方面詳細了介紹了Cobbler部署的技巧。

[[70275]]

一、參數說明

相關配置參數:

  二、概要

  總體來說,在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下載安裝鏡像文件 )#p#

  三、具體使用流程

  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配置文件 (此文件必須預先準備好 )#p#

  相關管理命令:

  //查看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文件也上傳了。可供大家下載:

  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=eth1 --static=1 --ip=192.168.20.5 --subnet=255.255.255.0 

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

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

  system edit --name= WebCache-3.167  --interface=eth1 --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=eth1 --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,eth1

  d) 配置Bridge類型的網卡

  cobbler system edit --name=WebCache-3.167 --interface=eth2 --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,它的成員是 eth2

  因為這個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分鐘,就可以完成一次安裝。#p#

  四、補遺

  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"

責任編輯:黃丹 來源: 博客
相關推薦

2013-04-17 15:48:51

2011-09-01 10:22:03

Cobbler運維自動化

2013-04-16 14:55:21

自動化運維Puppet實戰

2014-05-16 14:31:55

運維自動化Cobbler

2014-08-04 10:10:35

IT運維自動化運維

2014-09-22 11:24:18

運維

2012-05-05 21:28:44

2012-10-22 14:54:48

2010-08-12 17:39:07

網站運維自動化管理

2012-05-05 21:48:43

puppet自動化運維

2012-05-05 22:27:46

puppet自動化運維

2012-05-05 21:43:27

puppet自動化運維

2017-03-22 18:30:44

Linux運維自動化ansible

2017-03-22 16:31:30

Linux運維自動化ansible

2012-05-05 21:03:35

puppet自動化運維

2018-06-23 07:31:05

2017-10-13 13:14:35

互聯網

2012-05-05 22:10:13

puppet自動化運維

2012-11-20 17:22:57

2015-10-08 10:55:23

云服務自動化運維 ANSIBLE
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美精品一区二区 | 欧美aⅴ| 男人av的天堂 | 韩日视频在线观看 | 91日韩 | 一区二区三区免费看 | 日本天天操 | 国产精品久久久久久久久免费丝袜 | 国产精品日韩欧美一区二区三区 | 日韩成人免费在线视频 | 91精品国产一区二区三区蜜臀 | 成人欧美一区二区三区在线观看 | 99re视频在线 | 国产精品久久久久久久久动漫 | 精品视频在线观看 | 久久精品欧美视频 | 亚洲一本 | av手机免费在线观看 | 日韩成人免费av | 最新日韩在线 | 午夜激情视频在线 | 国产精品久久 | 少妇无套高潮一二三区 | 国产精品a免费一区久久电影 | 久久av一区二区三区 | 亚洲欧洲一区 | ririsao久久精品一区 | 两性午夜视频 | 毛片网在线观看 | 99久久免费精品视频 | 久久99国产精品久久99果冻传媒 | 青草久久免费视频 | 超碰在线人| 国产精品欧美一区二区三区 | 久久免费视频1 | 亚洲国产一区二区视频 | 毛片网站在线观看 | 国产在线资源 | 色毛片 | 久久成人一区 | 日韩一区二区三区四区五区 |