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

運維自動化之Cobbler系統安裝使用詳解

運維 系統運維 自動化
Cobbler是一個快速網絡安裝linux的服務,而且在經過調整也可以支持網絡安裝windows。使用 Cobbler,您無需進行人工干預即可安裝機器。

一、簡介

Cobbler是一個快速網絡安裝linux的服務,而且在經過調整也可以支持網絡安裝windows。該工具使用python開發,小巧輕便(才15k行python代碼),使用簡單的命令即可完成PXE網絡安裝環境的配置,同時還可以管理DHCP、DNS、以及yum倉庫、構造系統ISO鏡像。

Cobbler支持命令行管理,web界面管理,還提供了API接口,可以方便二次開發使用。

Cobbler客戶端Koan支持虛擬機安裝和操作系統重新安裝,使重裝系統更便捷。

二、cobbler提供的功能

使用 Cobbler,您無需進行人工干預即可安裝機器。Cobbler 設置一個 PXE 引導環境(它還可使用 yaboot 支持 PowerPC),并控制與安裝相關的所有方面,比如網絡引導服務(DHCP 和 TFTP)與存儲庫鏡像。當希望安裝一臺新機器時,Cobbler 可以:

  • 使用一個以前定義的模板來配置 DHCP 服務(如果啟用了管理 DHCP)

  • 將一個存儲庫(yum 或 rsync)建立鏡像或解壓縮一個媒介,以注冊一個新操作系統

  • 在 DHCP 配置文件中為需要安裝的機器創建一個條目,并使用您指定的參數(IP 和 MAC 地址)

  • 在 TFTFP 服務目錄下創建適當的 PXE 文件

  • 重新啟動 DHCP 服務以反映更改

  • 重新啟動機器以開始安裝(如果電源管理已啟用)

Cobbler 支持眾多的發行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和 SuSE。當添加一個操作系統(通常通過使用 ISO 文件)時,Cobbler 知道如何解壓縮合適的文件并調整網絡服務,以正確引導機器。

Cobbler 可使用 kickstart 模板。基于 Red Hat 或 Fedora 的系統使用 kickstart 文件來自動化安裝流程。通過使用模板,您就會擁有基本的 kickstart 模板,然后定義如何針對一種配置文件或機器配置而替換其中的變量。例如,一個模板可能包含兩個變量 $domain和 $machine_name。在 Cobbler 配置中,一個配置文件指定 domain=mydomain.com,并且每臺使用該配置文件的機器在machine_name 變量中指定其名稱。該配置文件中的所有機器都使用相同的 kickstart 安裝且針對 domain=mydomain.com 進行配置,但每臺機器擁有其自己的機器名稱。您仍然可以使用 kickstart 模板在不同的域中安裝其他機器并使用不同的機器名稱。

為了協助管理系統,Cobbler 可通過 fence scripts 連接到各種電源管理環境。Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。要重新安裝一臺機器,可運行 reboot system foo命令,而且 Cobbler 會使用必要的憑據和信息來為您運行恰當的 fence scripts(比如機器插槽數)。

除了這些特性,還可使用一個配置管理系統 (CMS)。您有兩種選擇:該工具內的一個內部系統,或者集成一個現有的外部 CMS,比如 Chef 或 Puppet。借助內部系統,您可以指定文件模板,這些模板會依據配置參數進行處理(與 kickstart 模板的處理方式一樣),然后復制到您指定的位置。如果必須自動將配置文件部署到特定機器,那么此功能很有用。

使用 koan 客戶端,Cobbler 可從客戶端配置虛擬機并重新安裝系統。我不會討論配置管理和koan 特性,因為它們不屬于本文的介紹范疇。但是,它們是值得研究的有用特性。

三、安裝配置

1.安裝方式

cobbler可以手動編譯安裝,也可以基于yum源的安裝, 如果需要通過yum源安裝,則需要配置epel源,epel源可以通過下載官方給的epel源的目錄來實現安裝https://fedoraproject.org/wiki/EPEL

 

  1. [root@node1 ~]# yum install cobbler cobbler-web pykickstart debmirror -y 

 

2.檢查配置文件,需要在cobblerd和httpd啟動的情況下檢查

  1. [root@node1 ~]# cobbler check 
  2. The following are potential configuration items that you may want to fix: 
  3. 1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it. 
  4. 2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network. 
  5. 3 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements. 
  6. 4 : change 'disable' to 'no' in /etc/xinetd.d/rsync 
  7. 5 : comment out 'dists' on /etc/debmirror.conf for proper debian support 
  8. 6 : comment out 'arches' on /etc/debmirror.conf for proper debian support 
  9. 7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one 
  10. 8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them 

 

 

 

如上個問題的解決辦法為:

1.修改/etc/cobbler/settings文件的server參數的值為提供cobbler服務的主機對應的ip地址

2.修改/etc/cobbler/settings文件的next_server參數的值為提供PXE服務的主機的對應IP地址  

3.如果當前節點可以訪問互聯網,執行“cobbler get-loader”命令下載pxelinux.0,menu.c32,elilo.efi, 或yaboot文件,否則,需要安裝syslinux程序包,而后復制/usr/share/syslinux/中的pxelinux.0,menu.c32等文件至/var/lib/cobbler/loaders目錄中 4.將/etc/xinetd.d/rsync中的disable改為no,或者執行“chkconfig rsync on”

5.注釋/etc/dedmirror.conf文件中的“@dists="sid";”一行

6.注釋/etc/dedmirror.conf文件中的“@arches="i386";”一行

7.執行“openssl passwd -1 -salt $(openssl rand -hex 4)”生成密碼,并用其替換/etc/cobbler/settings文件中default_password_crypted參數

8.安裝cam和fance-agents來實現電源管理

通過cobbler get-loaders同步文件:

 

  1. [root@node1 ~]# cobbler get-loaders 
  2. task started: 2014-04-23_212251_get_loaders 
  3. task started (id=Download Bootloader Content, time=Wed Apr 23 21:22:51 2014) 
  4. downloading http://www.cobblerd.org/loaders/README to /var/lib/cobbler/loaders/README 
  5. downloading http://www.cobblerd.org/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo 
  6. downloading http://www.cobblerd.org/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot 
  7. downloading http://www.cobblerd.org/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux 
  8. downloading http://www.cobblerd.org/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi 
  9. downloading http://www.cobblerd.org/loaders/yaboot-1.3.14-12 to /var/lib/cobbler/loaders/yaboot 
  10. downloading http://www.cobblerd.org/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0 
  11. downloading http://www.cobblerd.org/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32 
  12. downloading http://www.cobblerd.org/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi 
  13. downloading http://www.cobblerd.org/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi 

四、配置及啟動cobbler所依賴的各服務

 

cobbler的運行依賴于dhcp、tftp、rsync及dns服務,其中dhcp可由dhcpd(isc)提供,也可由dnsmasq提供;tftp可由tftp-server程序包提供,也可由cobbler功能提供,rsync有rsync程序包提供,dns可由bind提供,也可由dnsmasq提供

cobbler可自行管理這些服務中的部分甚至是全部,但需要配置/etc/cobbler/settings文件中的“manange_dhcp”、“manager_tftpd”、“manager_rsync”、“manager_dns”分別來進行定義,另外,由于各種服務都有著不同的實現方式,如若需要進行自定義,需要通過修改/etc/cobbler/modules.conf配置文件中各服務的模塊參數的值來實現

本處通過獨立管理。即不通過cobbler來管理這些服務

1.配置dhcp服務

 定義好所需的“subnet”及其他參數,本處的配置如下: 

  1. [root@node1 ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 
  2. 編輯配置文件 
  3. option domain-name "wangfeng7399"; 
  4. option domain-name-servers 192.168.1.201; 
  5. default-lease-time 43200; 
  6. max-lease-time 86400; 
  7. log-facility local7; 
  8. subnet 192.168.1.0 netmask 255.255.255.0 { 
  9.         range 192.168.1.210 192.168.1.230 
  10.         option routers 192.168.1.253 
  11. next-server 192.168.1.210; 
  12. filename="pxelinux.0"

 

 

 

2.配置tftpd服務

 

  1. [root@node1 ~]# chkconfig tftp on 

 

五、配置cobbler

cobbler的各主要組件間的關系如下圖所示:

wKiom1Nw3UnBVNxHAAJgNktBY9o030.jpg

  1.管理distro

是cobbler變得可用的***步為定義distro,其可以通過為其指定外部的安裝引導內核及ramdisk文件的方式實現。而如果已經有完成的安裝樹(如os的安裝鏡像)則推薦使用improt之間導入的方式進行:

  1. [root@node1 ~]# mount /dev/cdrom /media 
  2. mount: block device /dev/sr0 is write-protected, mounting read-only 
  3. [root@node1 ~]# cobbler import --name=centos6.5-x86-64 --path=/media/ 
  4. task started: 2014-04-23_214916_import 
  5. task started (id=Media import, time=Wed Apr 23 21:49:16 2014) 
  6. Found a candidate signature: breed=redhatversion=rhel6 
  7. Found a matching signature: breed=redhatversion=rhel6 
  8. Adding distros from path /var/www/cobbler/ks_mirror/centos6.5-x86-64: 
  9. creating new distro: centos6.5-64-x86_64 
  10. trying symlink: /var/www/cobbler/ks_mirror/centos6.5-x86-64 -> /var/www/cobbler/links/centos6.5-64-x86_64 
  11. creating new profile: centos6.5-64-x86_64 
  12. associating repos 
  13. checking for rsync repo(s) 
  14. checking for rhn repo(s) 
  15. checking for yum repo(s) 
  16. starting descent into /var/www/cobbler/ks_mirror/centos6.5-x86-64 for centos6.5-64-x86_64 
  17. processing repo at : /var/www/cobbler/ks_mirror/centos6.5-x86-64 
  18. need to process repo/comps: /var/www/cobbler/ks_mirror/centos6.5-x86-64 
  19. looking for /var/www/cobbler/ks_mirror/centos6.5-x86-64/repodata/*comps*.xml 
  20. Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos6.5-x86-64/repodata 
  21. *** TASK COMPLETE *** 

 

 

 

列出所有的distro:

  1. [root@node1 ~]# cobbler distro list 
  2. centos6.5-64-x86_64 

 

 

 

 如果有kickstart文件,也可以使用--kickstart=/path/to/kickstart_file進行導入,因此import會自動為導入的distro生成一個profile

2.管理profile

 cobbler使用profile來為特定的需求類別提供鎖需要安裝的配置,即在distro的基礎上通過提供kiskstart文件來生成一個特定的系統安裝配置。distro的profile可以出現在pxe的引導菜單中作為安裝的選擇之一,關于kickstark文件的講解可以移步本人的相關博客http://wangfeng7399.blog.51cto.com/3518031/1369553,不出就不再做詳細說明:

 

  1. [root@node1 ~]# cobbler profile add --name=centos6.5-x86_64 --distro=centos6.5-64-x86_64 kickstart=/root/anaconda-ks.cfg 

 

列出當前系統上的profile:

  1. [root@node1 ~]# cobbler profile list 
  2. centos6.5-64-x86_64 
  3. centos6.5-x86_64 

 

 

 

刪除一個profile:

 

  1. [root@node1 ~]# cobbler profile remove --name=centos6.5-64-x86_64 

 

3.重啟服務及同步數據到響應的目錄 

 

  1. [root@node1 ~]# service cobblerd restart  
  2. Stopping cobbler daemon:                                   [  OK  ]  
  3. Starting cobbler daemon:                                   [  OK  ]  
  4. [root@node1 ~]# cobbler sync  
  5. task started: 2014-04-23_220652_sync  
  6. task started (id=Synctime=Wed Apr 23 22:06:52 2014)  
  7. running pre-sync triggers  
  8. cleaning trees  
  9. removing: /var/www/cobbler/images/centos6.5-64-x86_64  
  10. removing: /var/lib/tftpboot/pxelinux.cfg/default  
  11. removing: /var/lib/tftpboot/grub/images  
  12. removing: /var/lib/tftpboot/grub/efidefault  
  13. removing: /var/lib/tftpboot/images/centos6.5-64-x86_64  
  14. removing: /var/lib/tftpboot/s390x/profile_list  
  15. copying bootloaders  
  16. trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0  
  17. trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32  
  18. trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot  
  19. 中間省去N行  
  20. received on stderr:  
  21. running shell triggers from /var/lib/cobbler/triggers/sync/post/*  
  22. running python triggers from /var/lib/cobbler/triggers/change/*  
  23. running python trigger cobbler.modules.scm_track  
  24. running shell triggers from /var/lib/cobbler/triggers/change/*  
  25. *** TASK COMPLETE ***  

 

  4.測試  

 

wKioL1Nw_OLB236xAACzwYdDGI8873.jpg

可以看到我們定制的系統啟動頁面,開始安裝系統

wKiom1Nw_Q2zpiUNAAEV8Xm_Jps672.jpg

系統安裝成功,登陸系統

wKiom1Nw_92gOcwhAAEITWN87Q4866.jpg

六、使用cobbler_web

cobbler_web支持多種認證方式,如authn_configfil、authn_ldap或authn_pam等,默認為authn_denyall,即拒絕所有用戶登陸。下面說明兩種能認證用戶登錄cobbler_web的方式

1.使用authn_pam模塊認證cobbler_web用戶

首先修改modules中的[authentication]段中的module參數的值為authn_pam,接著設定系統用戶,并為用戶設定密碼,而后將設定的系統用戶添加至cobbler_web的admin組中,修改/etc/cobbler/users.conf文件,將設定的用戶添加為admin參數的值即可。  

  2.使用authn_configfile模塊認證cobbler_web用戶

首先修改modules中的[authentication]段中的module參數的值為authn_configfile,接著創建其認證文件/etc/cobbler/users.digest,并添加所需要的用戶即可。需要注意的是,添加***用戶時,需要為htdigest命令使用“-c”選項,后續添加其他用戶則不能再使用。

本處使用的為authn_pam

  1. [root@node1 ~]# vi /etc/cobbler/modules.conf 
  2. [authentication] 
  3. module = authn_pam 
  4. [root@node1 ~]# useradd wangfeng7399 
  5. [root@node1 ~]# passwd wangfeng7399 
  6. Changing password for user wangfeng7399. 
  7. New password: 
  8. Retype new password: 
  9. passwd: all authentication tokens updated successfully. 
  10. [root@node1 ~]# vi /etc/cobbler/users.conf 
  11. [admins] 
  12. admin = "wangfeng7399" 

 

 

 

wKioL1NxAGDh2J3xAAJOswKBn8c655.jpg

wKiom1NxAIyQhR8MAAGb1odXoqw457.jpg

wKioL1NxAGGzzHAfAAHX4uWbjiE851.jpg

wKiom1NxAIzzqVTaAAJoJMvRY5w390.jpg

完全可以手動添加,這也不為記不住命令而發愁了!

大功告成,后續將推出自動化運維的相關內容,敬請期待!

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

2011-09-01 10:22:03

Cobbler運維自動化

2013-04-17 15:48:51

2013-04-11 17:31:28

運維自動化Cobbler

2014-08-04 10:10:35

IT運維自動化運維

2014-09-22 11:24:18

運維

2013-04-16 14:55:21

自動化運維Puppet實戰

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

2016-03-30 11:53:51

Cobbler運維運維自動化

2017-03-22 16:31:30

Linux運維自動化ansible

2012-05-05 21:03:35

puppet自動化運維

2018-06-23 07:31:05

2020-04-30 15:00:17

運維Ansible自動化

2015-09-23 16:46:54

架構監控運維自動化

2020-12-11 10:20:33

Ansible運維軟件包
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂在线91 | 欧美精品一区在线发布 | 亚洲午夜精品在线观看 | 国产日韩精品一区 | 永久av| 亚洲欧美日韩国产综合 | 黄色毛片网站在线观看 | 亚洲精品播放 | 日本成人在线观看网站 | 狠狠色综合久久婷婷 | 中文字幕一区二区三区乱码图片 | 一区中文字幕 | 久草在线影 | 在线播放国产视频 | 色婷婷亚洲一区二区三区 | 在线视频一区二区 | 亚洲精品久久久9婷婷中文字幕 | 国产精品久久久久9999鸭 | 成人在线视频免费观看 | 91麻豆精品国产91久久久资源速度 | 操视频网站 | 精品亚洲一区二区三区 | 国产精品v | 色综合一区二区 | 国产一区二区在线观看视频 | 国产一级片在线播放 | 日韩欧美网 | 草久久| 国产欧美一区二区三区在线看 | 亚洲一区欧美一区 | 久热国产精品视频 | 日韩在线国产 | 久久成人人人人精品欧 | 欧美一区二区在线观看 | 日韩欧美网| 日韩欧美中文 | 日韩精品一区二区三区中文在线 | 日韩毛片免费看 | 国产精品伦一区二区三级视频 | 久久精品国产99国产精品亚洲 | www.精品一区 |