Linux自動化安裝cobbler

1介紹

1.1 PXE

PXE技術與RPL技術不同之處為RPL是靜態路由,PXE是動態路由。RPL是根據網卡上的ID號加上其他記錄組成的一個Frame(幀)向服務器發出請求。而服務器中已有這個ID數據,匹配成功則進行遠程啟動。PXE則是根據服務器端收到的工件站MAC地址,使用DHCP服務為這個MAC地址指定個IP地址。每次啟動可能同一臺工作站有與上次啟動有不同的IP,即動態分配地址。下以客戶端引導過程說明PXE的原理:

客戶端開機后,PXE BootROM(自啟動芯片)獲得控制權之前執行自我測試,然后以廣播形式發出一個請求FIND幀。如果服務器收到客戶端所送出的要求,就會送回DHCP回應,包括用戶端的IP地址、預設通信通道,以及開機映像文件;否則服務器會忽略這個要求。

客戶端收到服務器發回的響應后則會回應一個幀,以請求傳送啟動所需文件,并把自己的MAC地址寫到服務器端的Netnames.db文件中。將有更多的消息在客戶端與服務器之間應答,用于決定啟動參數。

BootROM由TFTP通信協議從服務器下載開機映像文檔。

客戶端使用TFTP協議接收啟動文件后,將控制權轉交啟動塊以引導操作系統,完成遠程啟動。

1.2 KickStart

????KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,并生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就采用找到的參數,當沒有找到合適的參數時,才需要安裝者手工干預。這樣,如果KickStart文件涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然后去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統,并結束安裝。

?

1.3 Cobbler

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

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

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

?Cobbler提供以下服務集成:

* PXE服務支持

* DHCP服務管理

* DNS服務管理

*?電源管理

* Kickstart服務支持

* yum倉庫管理

2?安裝部署

2.1相關文件

1.Cobbler配置文件目錄:/etc/cobbler

/etc/cobbler/settings??#cobbler主配置文件

/etc/cobbler/dhcp.template??#DHCP服務的配置模板

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

/etc/cobbler/rsync.template??#rsync服務的配置模板

/etc/cobbler/iso?? #iso模板配置文件

/etc/cobbler/pxe?? #pxe模板文件

/etc/cobbler/power? #電源的配置文件

/etc/cobbler/users.conf?? #Web服務授權配置文件

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

/etc/cobbler/dnsmasq.template??#DNS服務的配置模板

/etc/cobbler/modules.conf??#Cobbler模塊配置文件

2.Cobbler數據目錄:/var/lib/cobbler

/var/lib/cobbler/config #配置文件

/var/lib/cobbler/triggers?#Cobbler命令

/var/lib/cobbler/kickstarts? #默認存放kickstart文件

/var/lib/cobbler/loaders? #存放的各種引導程序

3.系統安裝鏡像目錄:/var/www/cobbler

/var/www/cobbler/ks_mirror #導入的系統鏡像列表

/var/www/cobbler/images? #導入的系統鏡像啟動文件

/var/www/cobbler/repo_mirror #yum源存儲目錄

4.日志目錄:/var/log/cobbler

/var/log/cobbler/install.log?#客戶端系統安裝日志

/var/log/cobbler/cobbler.log?#cobbler日志

2.2 Cobbler安裝

2.2.1安裝EPEL源

yum install epel-release

2.2.2安裝cobbler

???yum install cobbler httpd rsync tftp-server xinetd dhcp python-ctypes cman pykickstart –y

2.2.3配置cobbler

vim /etc/cobbler/settings #Cobbler主配置文件

sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings ?

sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings

# set to 1 to enable Cobbler's DHCP management features.

# the choice of DHCP management engine is in /etc/cobbler/modules.conf

manage_dhcp: 1

# set to 1 to enable Cobbler's RSYNC management features.

manage_rsync: 1

# if using cobbler with manage_dhcp, put the IP address

# of the cobbler server here so that PXE booting guests can find it

# if you do not set this correctly, this will be manifested in TFTP open timeouts.

next_server: 192.168.56.6

# this is the address of the cobbler server -- as it is used

# by systems during the install process, it must be the address

# or hostname of the system as those systems can see the server.

# if you have a server that appears differently to different subnets

# (dual homed, etc), you need to read the --server-override section

# of the manpage for how that works.

server: 192.168.56.6

2.2.4關閉SELinux、iptables

getsebool

service iptables stop ?

chkconfig iptables off

2.2.5配置tftp、rsync

設置?'disable'?為?'no' ?

sed -i '/disable/c\\tdisable\t\t\t= no' /etc/xinetd.d/tftp ?

sed -i 's/\=\ yes/\=\ no/g' /etc/xinetd.d/rsync

2.2.6啟用wsgi模塊

sed -i 's@#LoadModule@LoadModule@g' /etc/httpd/conf.d/wsgi.conf

2.2.7生成密碼

這里生成密鑰和配置默認密鑰,ks文件引用

openssl passwd -1 -salt 'random-phrase-here' 'wq'

$1$random-p$29HCOY0msGT.4xVuIl6Gp.?

加入cobbler配置??

vim /etc/cobbler/settings ?

grep default_password_crypted /etc/cobbler/settings#修改為如下配置

default_password_crypted: "$1$random-p$29HCOY0msGT.4xVuIl6Gp."

2.2.8配置DHCP

vim /etc/cobbler/dhcp.template

allow booting;

allow bootp;

ddns-update-style interim;

ignore client-updates;

subnet 192.168.56.0 netmask 255.255.255.0 {

??? range dynamic-bootp??????? 192.168.56.100 192.168.56.254;

??? option domain-name-servers 192.168.0.1;??

??? option routers???????????? 192.168.56.1;

??? option subnet-mask???????? 255.255.255.0;

??? default-lease-time???????? 1800;

??? max-lease-time???????????? 3600;

??? next-server??????????????? 192.168.56.6;

??? filename?????????????????? "pxelinux.0";

}

2.2.9配置服務

/sbin/service httpd start ?

/sbin/service dhcpd start ?

/sbin/service xinetd start ?

/sbin/service cobblerd start ?

/sbin/chkconfig httpd on

/sbin/chkconfig dhcpd on

/sbin/chkconfig xinetd on

/sbin/chkconfig tftp on

/sbin/chkconfig cobblerd on

2.2.10引導系統文件

cobbler get-loaders

2.2.11配置debmiror(可選)

yum -y install debmirror ?

修改?/etc/debmirror.conf?配置文件,注釋掉?@dists?和?@arches?兩行

sed -i ?'s|@dists=.*|#@dists=|' ?/etc/debmirror.conf ?

sed -i ?'s|@arches=.*|#@arches=|' ?/etc/debmirror.conf

2.2.12檢查配置

cobbler check

The following are potential configuration items that you may want to fix:無需處理

1 : reposync is not installed, need for cobbler reposync, install/upgrade yum-utils?

2 : debmirror package is not installed, it will be required to manage debian deployments and repositories

Restart cobblerd and then run 'cobbler sync' to apply changes.

2.2.13同步配置

cobbler sync

2.3 Cobbler管理

2.3.1命令說明

命令參考

cobbler?--help

cobbler?distro?--help?

cobbler?distro?add?--help

2.3.2配置文件說明

Cobbler配置文件存放在/etc/cobbler下

?

2.3.3鏡像數據目錄

導入的系統發行版,repos鏡像和kickstart文件都放置在/var/www/cobbler

目錄下。確保/var目錄有足夠的空間來存儲這些文件。

?

2.3.4數據目錄

此目錄存儲和Cobbler?profiles、systems、distros相關的配置。

?

2.3.5日志文件

web日志存放點:

/var/log/httpd/access_log

/var/log/httpd/error_log

/var/log/httpd/ssl_access_log

/var/log/httpd/ssl_error_log

Cobbler日志:

/var/log/cobbler/cobbler.log

/var/log/cobbler/install.log

通過Cobbler日志可以獲取系統的安裝狀態

2.3.6導入鏡像

1.?注意下載的ISO文件要核對文件的md5值,確保數據完整性

?? md5sum xx.iso

2.創建目錄

mkdir -p /var/os/Linux/Centos/x86_64/Centos6.7/dvd

3.掛載

mount -o?loop/var/iso/Linux/Centos/x86_64/xx.iso???

/var/os/Linux/Centos/x86_64/Centos6.7/dvd

2.3.7導入數據

cobbler import?--path=/xx?--name=centos6.7?--arch=x86_64

cobbler?list??列出配置

cobbler?report?詳細

cobbler?profile find --distro=centos6.7-x86_64?#查看配置是否存在

cobbler?profile remove --name=centos6.7-x86_64?#刪除配置文件

cobbler?distro?remove?--name=centos6.7-x86_64?#刪除distro

cobbler?profile find?--distro=centos6.7-x86_64?#再查看配置已無

2.3.8自定義ks

ks目錄位置

/var/lib/cobbler/kickstarts/

默認的ks位置

/var/lib/cobbler/kickstarts/sample.ks

更改指定系統版本對應的ks配置文件

cp /var/lib/cobbler/kickstarts/ sample.ks centos6.7-x86_64.ks

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

cobbler check

cobbler sync

KS示例:

#platform=x86, AMD64, or Intel EM64T

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url --url=$tree

#Root password

rootpw root

# System authorization information

auth? --useshadow--enablemd5

# Use graphical mode install

graphical

# Run the Setup Agent on first boot

firstboot --disable

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Installation logging level

logging --level=info

# System timezone

timezone? Asia/Shanghai

# Network information

network --bootproto=static --device=eth0 --gateway=192.168.56.1 --ip=192.168.56.99 --nameserver=192.168.56.99 --netmask=255.255.255.0 --hostname=host99 --onboot=on

# System bootloader configuration

bootloader --location=mbr

# Partition clearing information

clearpart --all --initlabel

# Disk partitioning information

part / --fstype="ext4" --ondisk=sda --size=8000

part /boot --fstype="ext4" --ondisk=sda --size=200

part swap --fstype="swap" --size=1000

# Reboot after installation

reboot

# Clear the Master Boot Record

zerombr

%packages

@ X Window System

@ Desktop

@ Development tools

gcc*

%end

?

3?Web管理

Cobbler?web界面是一個很好的前端,非常容易管理Cobbler。可以添加和刪除system、distro、profile,可以查看、編輯distros、profiles、subprofiles、systems、repos、kickstart文件。

3.1cobbler web管理

3.1.1安裝

yum -y install cobbler-web

3.1.2設置用戶密碼

為已存在的用戶cobbler重置密碼:

htdigest?/etc/cobbler/users.digest?"Cobbler"?cobbler

添加新用戶:

htdigest?/etc/cobbler/users.digest?"Cobbler"?newname

3.1.3配置登錄

sed -i 's/authn_denyall/authn_configfile/g'?

/etc/cobbler/modules.conf

/etc/init.d/cobblerd?restart?

/etc/init.d/httpd?restart

3.1.4訪問web

瀏覽器訪問登錄頁面https://192.168.xx.xx/cobbler_web

3.1.5登錄web

3.1.6管理web

cobbler?system?add?--name=xx?--hostname=xx?--mac=xx?

--interface=ethx?--ip-address=xx?--subnet=xx?--gateway=xx?

--static=1?--profile=xx

yum install cman ipmitool -y???電源管理(需要硬件支持)

?

轉載于:https://www.cnblogs.com/dongdongwq/p/5377593.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374863.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374863.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374863.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iOS9適配系列教程

https://github.com/ChenYilong/iOS9AdaptationTips 轉載于:https://www.cnblogs.com/zsw-1993/p/4879118.html

C語言形參

形參和實參區別 形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參出現在主調函數中,進入被調函數后,實參變量也不能使用。 形參和實參的功能是作數據傳送。發生函數調用時,主調函數把實參…

避免延遲的JPA集合

Hibernate(實際上是JPA)具有集合映射: OneToMany, ManyToMany, ElementCollection。 所有這些默認情況下都是惰性的。 這意味著集合是List或Set接口的特定實現,其中包含對持久會話的引用,并且只…

2016年,我的和自己談談

2016年過去三分之一了,現在談規劃晚點但總比沒想法強。想了半天還是從這個方面著手吧: 一.升級改造自己的辦公學習環境: 給自己的電腦加內存,加SSD,再添置一個顯示器,換上心儀已久的cherry青軸鍵盤&#xf…

C語言的四舍五入實現

習題3-2 高速公路超速處罰 (15 分) 按照規定,在高速公路上行使的機動車,達到或超出本車道限速的10%則處200元罰款;若達到或超出50%,就要吊銷駕駛證。請編寫程序根據車速和限速自動判別對該機動車的處理。 輸入格式: 輸入在一行中…

ACTGame項目

項目地址:https://github.com/alonecat06/ACTGame游戲地址:http://pan.baidu.com/s/1hqD3IYw 項目是一個自制單機動作游戲demo,方向是手游,使用Unity5,5月中開工至今。 做這個項目,是為加深自己對Unity的理…

Xuggler教程:幀捕獲和視頻創建

注意:這是我們的“ Xuggler開發教程 ”系列的一部分。 到目前為止,在我們的Xuggler教程系列中,我們已經對視頻處理的Xuggler進行了介紹,并討論了轉碼和媒體修改 。 在本教程中,我們將看到如何解碼視頻和捕獲幀&#xf…

面向對象-原型對象

創建對象 Js中可以用構造函數模式創建對象,如: function Person(name, age, job) {this.name name;this.age age;this.job job;this.sayName function () {alert(this.name);}}var person1 new Person("Nicholas", 29, "aa");v…

索引類型

1.B樹索引 在Oracle中是通用索引,是創建索引時的默認索引。B樹索引可以是單列索引,也可以是組合/復合索引。B樹索引最多可以包括22列。 2.位圖索引 位圖索引時決策支持系統(DSS)和數據倉庫的理想選擇,它們不應該用于事…

C語言條件運算符

先看一個error error: lvalue required as left operand of assignment| i 0 ? X 1.0 : X * x;修改后 i 0 ? (X 1.0) : (X * x);也就是說條件運算符可以執行語句,當是賦值語句時要加括號規定優先級,不然會干擾程序判斷。 因為條件運算符作為三目…

EJB 3.0注入和查找簡介

介紹 Enterprise JavaBeans Specification v。3.0引入了簡化的,基于注釋的API,用于EJB注入和查找。 EJB 3.0現在是POJO,可以使用簡單的注釋將其注入其他組件(例如EJB和Servlet)。 EJB 3.0是Java EE 6的許多其他基于POJ…

SignalR + MVC5 簡單示例

SignalR MVC5 簡單示例 原文:SignalR MVC5 簡單示例本文和前一篇文章很類似,只不過是把 SignalR 應用在了 MVC 中 新建項目,選擇 MVC 模板 安裝 SignalR Install-Package Microsoft.AspNet.SignalR 在項目中添加文件夾 Hubs 在 Hubs 文件夾中添加 Sign…

Java內存模型–快速概述和注意事項

在計算中, 內存模型描述了線程如何通過內存進行交互,或更一般地,它指定了為分段內存或分頁內存平臺生成代碼時允許編譯器進行的假設。 在給定程序和該程序的執行跟蹤的情況下,它實質上描述了執行跟蹤是否是該程序的合法執行。 Jav…

6-7 統計某類完全平方數 (20 分)

本題要求實現一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函數接口定義: int IsTheNumber ( const int N );其中N是用戶傳入的參數。如果N滿足條件,則該…

C#中數組、ArrayList和List三者的區別(轉) ,加修改

在C#中數組&#xff0c;ArrayList&#xff0c;List都能夠存儲一組對象&#xff0c;那么這三者到底有什么樣的區別呢。 數組 數組在C#中最早出現的。在內存中是連續存儲的&#xff0c;所以它的索引速度非常快&#xff0c;而且賦值與修改元素也很簡單。 <span style"font…

phpmyadmin mysql Access denied for user 'root'@'localhost'問題解決

centos6.4 32位的vps上裝了lnmp以后&#xff0c;phpmyadmin無法連接mysql服務器&#xff0c;ssh命令行里mysql -uroot -p 命令后老是出現拒絕連接的情況。php程序里也是拒絕連接。嘗試過修改phpmyadmin的config.inc.php文件&#xff0c;嘗試過修改my.cnf文件&#xff0c;嘗試過…

帶有Spring和Maven教程的JAX–WS

Spring框架通過JAX-WS提供對Web服務的遠程支持&#xff0c;實際上&#xff0c;如Spring 參考文檔中所述 &#xff0c;有三種將Spring POJO服務公開為JAX-WS Web服務的方式&#xff1a; 公開基于Servlet的Web服務&#xff08;適用于Java EE 5環境&#xff09; 導出獨立的Web服…

7-2 然后是幾點 (15 分)

7-2 然后是幾點 (15 分) 有時候人們用四位數字表示一個時間&#xff0c;比如 1106 表示 11 點零 6 分。現在&#xff0c;你的程序要根據起始時間和流逝的時間計算出終止時間。 讀入兩個數字&#xff0c;第一個數字以這樣的四位數字表示當前時間&#xff0c;第二個數字表示分鐘…

CXF學習(2) helloworld

0.新建一個項目取名wsserver. pom.xml 文件如下 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd…

Hive 接口介紹(Web UI/JDBC)

Hive 接口介紹&#xff08;Web UI/JDBC&#xff09; 實驗簡介 本次實驗學習 Hive 的兩種接口&#xff1a;Web UI 以及 JDBC。 一、實驗環境說明 1. 環境登錄 無需密碼自動登錄&#xff0c;系統用戶名shiyanlou&#xff0c;密碼shiyanlou 2. 環境介紹 本實驗環境采用帶桌面的Ubu…