PPTV分布式裝機(jī)系統(tǒng)課件_第1頁
PPTV分布式裝機(jī)系統(tǒng)課件_第2頁
PPTV分布式裝機(jī)系統(tǒng)課件_第3頁
PPTV分布式裝機(jī)系統(tǒng)課件_第4頁
PPTV分布式裝機(jī)系統(tǒng)課件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、AgendaPPTV分布式裝機(jī)系統(tǒng)介紹實際面臨的問題解決方案系統(tǒng)部署系統(tǒng)組件介紹系統(tǒng)實現(xiàn)Cobbler 配置文件同步Cobbler 自動部署應(yīng)用實例Cobbler Quick-StartCobbler 動態(tài)ks fileCobbler Tips二次開發(fā)實際面臨的問題服務(wù)器系統(tǒng)安裝處于半手工狀態(tài),有些isp機(jī)房甚至需要現(xiàn)場通過光盤安裝,耗費大量人力和時間非標(biāo)準(zhǔn)化的系統(tǒng)安裝,導(dǎo)致業(yè)務(wù)部署時遇到這樣那樣的奇怪問題系統(tǒng)安裝是瓶頸,由于以上問題導(dǎo)致業(yè)務(wù)需要快速部署時,無機(jī)器可用的現(xiàn)象實際面臨的問題眾多機(jī)房,由于網(wǎng)絡(luò)互通互聯(lián)的問題,只在核心機(jī)房架設(shè)kickstart server完全無法解決問題;如采用分

2、布式架構(gòu),每個機(jī)房部署一臺kickstart server;如何統(tǒng)一配置,安裝模板以及安裝源等業(yè)務(wù)眾多,每個業(yè)務(wù)對應(yīng)靜態(tài)安裝模板,不便于管理對于某些機(jī)房沒有可以獨立使用機(jī)器,在業(yè)務(wù)機(jī)如何復(fù)用的問題解決方案Cobbler 開源項目;基于kickstart,方便快速的網(wǎng)絡(luò)安裝操作系統(tǒng)Git 分布式版本控制;靜態(tài)配置文件的同步Django 框架;動態(tài)配置文件的同步Rsyncd;安裝源同步編譯Cobbler依賴服務(wù)apache, python并打包;解決復(fù)用的問題使用ControlTie自動部署 系統(tǒng)部署系統(tǒng)部署B(yǎng)GP機(jī)房搭建一臺Cobbler Master;該服務(wù)器管理系統(tǒng)的配置,安裝模板以及cob

3、bler部署包;并同時作為該機(jī)房的cobbler server提供安裝服務(wù)所有核心機(jī)房部署Cobbler Secondary;作為本機(jī)房的安裝服務(wù)器并提供安裝源同步其他機(jī)房的Cobbler,由ControlTie自動部署,可以復(fù)用業(yè)務(wù)機(jī)器系統(tǒng)組件系統(tǒng)組件Cobbler 主要服務(wù),提供kickstart serverGit Repository 靜態(tài)配置文件同步源 Git git客戶端,用于同步源上的配置文件Django調(diào)用cobbler API, 同步動態(tài)配置文件Nginx發(fā)布Git repository & Django applicationRsync用于安裝源同步Python包含cobb

4、ler依賴模塊的pythonApache發(fā)布cobbler安裝源系統(tǒng)實現(xiàn)CobblerCobbler 介紹Cobbler modelsCobbler 動態(tài)KS配置文件同步Git 靜態(tài)配置文件同步Django 動態(tài)配置文件同步配置文件同步腳本Cobbler 自動部署Cobbler部署包ControlTie部署Cobbler基于kickstart, linux系統(tǒng)網(wǎng)絡(luò)快速安裝按不同對象組合動態(tài)生成kickstart template, 通過ksmeta, snippets實現(xiàn)Koan方便實現(xiàn)重裝系統(tǒng),安裝虛擬機(jī)統(tǒng)一管理dhcp, tftp, dns這些網(wǎng)絡(luò)安裝依賴的服務(wù)支持大部分主流linux發(fā)行

5、版本,RHEL, Debian, Suse, Ubuntu, Fedora etc.Cobbler ModelsCobbler ModelsDistro 定義安裝源,kernel, initrdProfile 定義KS file等信息,可以認(rèn)為該對象是對應(yīng)一個業(yè)務(wù)的templateSystem 定義系統(tǒng)信息,比如hostname, ip地址等信息Cobbler 動態(tài)KSKS file 使用snippet模塊化,便于管理通過cobbler models中不同參數(shù),動態(tài)生成標(biāo)準(zhǔn)化的ks fileCheetah實現(xiàn)模板中變量替換,以及邏輯的運算;其中的偽代碼通過python編譯器解析Git 靜態(tài)配置

6、文件同步所謂靜態(tài)配置文件是指每臺cobbler server上基本一致的配置文件,比如kickstart files, snippets 等Cobbler Master上建立git repositoryCobbler部署時通過git clone同步kickstarts, snippets, triggers 這些靜態(tài)配置文件Crontab定期從Master那里git pull回最新的配置Git目前流行的版本控制工具分布式版本控制軟件對比集中式,分布式提供離線版本控制為應(yīng)用提供配置文件的版本控制&分布式同步方式配置文件部署Git clone生成kickstart, snippets, trigg

7、ers這些配置文件,并和git repository上的同步.test -x /var/lib/cobbler & cd /var/lib/cobbler/ | echo -ne cobbler directory doesnt exist! nexit 0rm -rf kickstartsrm -rf snippetsrm -rf triggersgit clone http:/cobbler-git/kickstarts.gitgit clone http:/cobbler-git/snippets.gitgit clone http:/cobbler-git/triggers.git.同

8、步腳本使用git pull命令從git repository拉取配置更新echo -ne Kickstarts sync cd $CB_DATA_PATH/kickstartsgit pull & echo -ne OKn | echo -ne FAILEDnecho -ne Snippets sync cd $CB_DATA_PATH/snippetsgit pull & echo -ne OKn | echo -ne FAILEDnecho -ne Triggers sync cd $CB_DATA_PATH/triggersgit pull & echo -ne OKn | echo -

9、ne FAILEDnDjango 動態(tài)配置文件同步所謂動態(tài)配置文件是指由于不同cobbler配置,而產(chǎn)生的配置文件;比如每臺cobbler上的profile對象,由所在cobbler server的distro對象決定通過django調(diào)用cobbler api使用nginx發(fā)布django 應(yīng)用,可通過http遠(yuǎn)程調(diào)用Crontab定期調(diào)用,通過傳入?yún)?shù),獲取配置文件列表并同步Profile對象查詢接口.from cobbler.api import BootAPI#cobbler api#傳入distro參數(shù),返回profile配置文件列表def profile_list(request,

10、distro): cb_api = BootAPI() profiles = cb_api.find_profile(return_list=True, distro=distro) data = for profile in profiles: profile_url = %s/%s.json % (settings.PROFILES_URL, ) data.append(profile_url) return HttpResponse(|.join(data), text/html).同步腳本.DISTROS=$(cobbler distro list) #取得此cobbler的所有dis

11、tro對象for distro in $DISTROSdo PROFILES=$(curl http:/profile_list/$distro/ 2/dev/null | tr | )#訪問Profile對象查詢接口 for profile in $PROFILES do echo -ne Download $profile tt wget -q $profile & echo -ne OKn | echo -ne FAILEDn donedone.Cobbler 自動部署Cobbler 部署包ControlTie Task Cobbler 部署Cobbler 配置Cobbler 安裝源同步

12、Cobbler 部署包自動部署時包含cobbler源碼以及依賴模塊,服務(wù)的包Cobbler源碼Apache2.2.21 編譯時必須包含wsgi_module模塊Python2.7Cheetah, yaml, pykickstart 相應(yīng)python模塊CT - Cobbler 部署步驟設(shè)置相應(yīng)環(huán)境變量,系統(tǒng)設(shè)置(關(guān)閉iptables, selinux, yum設(shè)置)通過yum安裝所需服務(wù)的rpm包下載 cobbler部署包,并在本機(jī)進(jìn)行編譯安裝同步配置文件部署完成CT Cobbler 部署#install required rpmsyum install createrepo dhcp cur

13、l-devel tftp-server yum-utils mkisofs git -y#fetch cobbler packagecd /tmpwget http:/packages/cobbler_proxy-2.2.0.tar.bz2 -output-document=cobbler_proxy-2.2.0.tar.bz2#cobbler installationcd /home/toolstar jxvf /tmp/cobbler_proxy-2.2.0.tar.bz2cd /home/tools/package; rpm -ihv *.rpmcd /home/tools/cobble

14、r-2.2.0; make; make install;grep tools /etc/ld.so.conf | sed -i a/home/tools/python/lib/ /etc/ld.so.conf & echo -ne CT Cobbler設(shè)置對于cobbler參數(shù)進(jìn)行設(shè)置 Cobbler server, next_serverdhcp 參數(shù)設(shè)置;這些參數(shù)通過ControlTie傳入CT Cobbler設(shè)置.COBBLER_SETTING=/etc/cobbler/settingsDHCP_SETTING=/etc/cobbler/dhcp.template#Cobbler set

15、tingssed -i /server:/ cserver: $option.server_ip $COBBLER_SETTINGsed -i /next_server:/ cnext_server: $option.server_ip $COBBLER_SETTING#DHCP settingssed -i /subnet.*/ csubnet $id netmask $mask $DHCP_SETTINGsed -i /option domain-name-servers/ coption domain-name-servers ; $DHCP_SETTINGsed -i /option

16、subnet-mask/ coption subnet-mask $mask; $DHCP_SETTINGsed -i /range dynamic-bootp/ crange dynamic-bootp $option.pool_range; $DHCP_SETTINGsed -i /option routers/ coption routers $option.gateway; $DHCP_SETTING.CT 安裝源同步選擇ISP和所需同步的系統(tǒng)版本CT 安裝源同步if $option.isp = C1 then case $option.release in 5.4) echo -ne

17、 sync 5.4 from T1 n cobbler import -path=rsync:/RHEL5.4 -name=RHEL_Server_5.4_PPLive -arch=x86_64 ; 5.8) echo -ne sync 5.8 from T1 n cobbler import -path=rsync:/RHEL5.8 -name=RHEL_Server_5.8_PPLive -arch=x86_64 ; esac應(yīng)用實例Cobbler Quick-Start物理機(jī)安裝物理機(jī)重裝虛擬機(jī)安裝Cobbler 動態(tài)ks file實例YUM configuration snippetC

18、obbler tipsMachine without OSAccess idrac interface with web browser J2EE installedStart remote consoleReboot or startup machine via idracPress “F12” to enter PXE mode when machine bootingChoose 1 profile you want to apply on this machine in cobbler menuStarting unattended installationConfigure netw

19、ork interface on the machine when installation finishedCobbler MenuMachine with OSUse koan to reinstallyum install koan yCreate a new system on cobbler servercobbler system add -name=JA03469D1201 -profile=cob_5.4_base -ip-address= -gateway= -static=true -subnet=Execute koan on this machine to replac

20、e itself koan -server= -system=JA03469D1201 -replace-selfXen Virtual-machine installationCobbler server: 首先在cmdb中通過IP確認(rèn)宿主機(jī)資產(chǎn)編號,然后生成虛擬機(jī)資產(chǎn)編號,并在cobbler server生成system信息。以這臺機(jī)器為例,宿主機(jī)為,資產(chǎn)編號JA03469D1201,由于該機(jī)器為D1,故該虛擬機(jī)資產(chǎn)編號為JA03469D1201-1,cobbler system name和資產(chǎn)編號一致。在cobbler server輸入如下命令,添加systemcobbler syste

21、m add -name=JA03469D1201-1 -profile=vs_5.4 -ip-address= -gateway= -static=true subnet =安裝koanYum install koan yXen Virtual-machine installation在宿主機(jī)上,執(zhí)行命令安裝虛擬機(jī)koan -server= -virt -system=JA03469D1201-1 -virt-name=D1 -virt-path=/dev/sdb -virt-bridge=xenbr0 -=nogfxserver: cobbler servervirt-system: sys

22、tem name you appended beforevirt-name: xen virtual server namevirt-path: disk device virt-bridge: network bridge動態(tài)ks file 實例RHEL5.4 KS file - distro:RHEL5.4 profile:vs_5.4#SNIPPET yum_configuration$SNIPPET(pptv/yum_configuration)RHEL5.8 KS file - distro:RHEL5.8 profile:vs_5.8#SNIPPET yum_configurati

23、on$SNIPPET(pptv/yum_configuration)Snippet/yum_confiuration#set distro=$getVar(distro_name,)定義distro變量,該變量值為該機(jī)器所屬distro的name#if 5.4 in $distro判斷是否distro為5.4,為真則寫入相應(yīng)配置#Start of YUM Configuration#End of YUM Configurationcat /etc/yum.repos.d/PPLive.repo /etc/yum.repos.d/PPLive.repo /etc/yum.repos.d/PPLive.repo EOFRHEL 6.2 YUM sourceEOF#End of 6.2 YUM Configuration#end if生成ks file訪問Cobbler Server的相應(yīng)URL,可以驗證生成的ks fileProfile:/cblr/svc/op/ks/profile/System: :/cblr/svc/op/ks/system/Cobbler tips dhcp設(shè)置subnet 10.x.0.0 netmask pool allow members of pxe; allow members of et

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論