Cobbler實現自動化安裝作業系統
一、cobbler簡介
Cobbler是實現自動化安裝作業系統的工具。它解決了PXE安裝時的弊端(只能實現單一作業系統的安裝)。實際上,cobbler是對PXE二次封裝可實現多版本,多環境作業系統安裝的高階抽象工具。
工作原理大致如下:
實際上,cobbler是對PXE的二次封裝。cobbler可以自動的實現PXE配置中的某些手動過程。PXE的工作原理大致如下:
關於PXE具體配置,可參考http://guoting.blog.51cto.com/8886857/1533029
二、cobbler安裝配置
說明:
目標主機:172.16.10.9
作業系統:CentOS 6.5
安裝、初步配置cobbler
## 1、安裝cobbler
# 說明,cobbler 的 rpm 安裝包,是由epel源提供
yum install cobbler -y
2、安裝並啟動httpd
yum -y install httpd
service httpd start
3、啟動cobblerd服務
service cobblerd start
4、配置cobbler
## 使用cobbler chenck 命令,可以檢查cobbler配置檔案是否配置正確
## cobbler check 首次會出現以下提示:
The following are potential configuration items that you may want to fix:
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.
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.
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.
4 : change 'disable' to 'no' in /etc/xinetd.d/rsync
5 : debmirror package is not installed, it will be required to manage debian \
deployments and repositories
6 : ksvalidator was not found, install pykickstart
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
8 : fencing tools were not found, and are required to use the (optional) power \
management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.
## 解決辦法:
1、修改/etc/cobbler/settings檔案中的server引數的值為提供cobbler服務的主機相應的IP\
地址或主機名,如172.16.10.9;
2、修改/etc/cobbler/settings檔案中的next_server引數的值為提供PXE服務的主機相應的\
IP地址,如172.16.10.9;
3、如果當前節點可以訪問網際網路,執行“cobbler get-loaders”命令即可;否則,需要\
安裝syslinux程式包,而後複製/usr/share/syslinux/{pxelinux.0,memu.c32}等檔案至\
/var/lib/cobbler/loaders/目錄中;
4、執行“chkconfig rsync on”命令即可;
5、註釋/etc/debmirror.conf檔案中的“@dists="sid";”一行;
6、註釋/etc/debmirror.conf檔案中的“@arches="i386";”一行;
7、執行“openssl passwd -1 -salt $(openssl rand -hex 4)”生成密碼,並用其替換\
/etc/cobbler/settings檔案中default_password_crypted引數的值;
8、執行“yum install cman fence-agents”命令安裝相應的程式包即可;
## 說明 5,6,8 步驟不是必需的。
接著重啟cobblerd,而後執行“cobbler sync”同步新的配置至cobbler。
結果如下:
下面需要配置dhcp,tftp服務。說明:cobbler 的執行依賴於dhcp、tftp、rsync及dns服務。其中dhcp可由dhcpd(isc)提供,也可由dnsmasq提供;tftp可由 tftp-server程式包提供,也可由cobbler自帶的tftp功能提供;rsync由rsync程式包提供;dns可由bind提供,也可由 dnsmasq提供。
cobbler可自行管理這些服務中的 部分甚至是全部,但需要配置/etc/cobbler/settings檔案中的“manage_dhcp”、“manage_tftpd”、 “manage_rsync”和“manage_dns”分別進行定義。另外,由於每種服務都有著不同的實現方式,如若需要進行自定義,需要透過修改 /etc/cobbler/modules.conf配置檔案中各服務的模組引數的值來實現。
下面採用了獨立管理的方式,即不透過cobbler來管理這些服務。(常用方式)
配置DHCP服務
yum install dhcp -y# 編輯 /etc/dhcp/dhcpd.conf 配置檔案,內容如下:
option domain-name "example.com";
option domain-name-servers 172.16.0.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 172.16.0.0 netmask 255.255.0.0 {
range 172.16.10.14 172.16.10.99;
option routers 172.16.0.1;
next-server 172.16.10.9;
filename "pxelinux.0";
}
####################################
service dhcpd start
配置rsync和tftp服務
yum install rsync tftp-server -ychkconfig rsync on ## 當然這一步在前面cobbler check時,已經完成,非必需的
chkconfig rsync on
service xinted start
配置cobbler
配置 cobbler 時,需要用到cobbler命令,對cobbler命令簡單說明:(常用)cobbler命令的子命令:
import:從光碟中匯入 Install Tree。會自動定義到Repository。
reposync: 從網際網路中同步的Install Tree。
buildiso:主要用於安裝的機器不支援網路卡引導,此時就需要製作ISO映象完成安裝。
distro:定義Distribution
sync:完成配置檔案的同步
profile:定義Profile
check: 檢查cobbler的配置檔案
其中每個子命令都有 [add|edit|copy|getks*|list|remove|rename|report] 等子命令。\
具體使用可使用幫助資訊。例如: cobbler import add --help檢視幫助。
###################################################################################################
使cobbler變得可用的第一步為定義distro,其可以透過為其指定外部的安裝引導核心及ramdisk\
檔案的方式實現。
而如果已經有完整的系統安裝樹(如CentOS6的安裝映象)則推薦使用import直接匯入的方式進行。
cobbler使用profile來為特定的需求類別提供所需要安裝配置,即在distro的基礎上透過提供\
kickstart檔案來生成一個特定的系統安裝配置。
distro的profile可以出現在PXE的引導選單中作為安裝的選擇之一。
##################################################################################################
## 當然 kickstart 檔案事先完成。具體可參考http://guoting.blog.51cto.com/8886857/1533029
cobbler import --name=centos-6.5-x86_64 --path=/media/cdrom
cobbler profile add --name=centos6.5 --distro=centos-6.5-x86_64 --kickstart=/root/centos-6.5-x86_64.cfg
cobbler sync
## 詳細安裝過程可參照官網:
結果示例:
此時,配置就完成了,可以實現自動化安裝了。
此時就可以實現自動化了。
注意:kickstart檔案中的url位置,--url=指明Repository的位置,不同的系統對於不同的路徑。要實現多系統的安裝,可以check import不同的作業系統。系統版本的作業系統,也可使用不同的kickstart檔案來定義。
cobbler的web配置
上面的操作也可以透過web介面來設定,具體步驟如下:###### 配置cobbler_web的認證功能
###安裝軟體
yum install cobbler_web
## cobbler_web支援多種認證方式,如authn_configfile、authn_ldap或authn_pam等,\
預設為authn_denyall,即拒絕所有使用者登入。
### 這裡 使用authn_pam模組認證cobbler_web使用者
## 首先修改 /etc/cobbler/modules中[authentication]段的module引數的值為authn_pam。
## 接著新增系統使用者,使用者名稱和密碼按需設定即可,例如下面的命令所示。
useradd cobbler
echo 'cblrpass' | passwd --stdin cobbler
# 而後將cblradmin使用者新增至cobbler_web的admin組中。修改/etc/cobbler/users.conf檔案,
將cblradmin使用者名稱新增為admin引數的值即可,如下所示。
[admins]
admin = "cobbler"
##最後重啟cobblerd服務,透過訪問即可。
下面是配置介面:
具體配置過程,這裡不再演示。
# cat kickstart.cfg
******************************************************************************************************
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url=""
# Root password
rootpw --iscrypted $1$iRHppr42$VMesh73wBqhUTjKp6OYOD.
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info --host=172.16.0.1
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --append="rhgb crashkernel=auto quiet" --location=mbr --driveorder="sda"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part pv.008 --size=61440
volgroup vg0 --pesize=8192 pv.008
logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
logvol swap --name=swap --vgname=vg0 --size=2048
logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240
logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480
#repo --name="Fedora EPEL" --baseurl=
%post
echo -e 'Mage Education Learning Services\n\n' >> /etc/issue
sed -i '1,$s@id:[0-9]:initdefault:@id:3:initdefault:@g' /etc/inittab
%end
%packages
@base
@basic-desktop
@chinese-support
@client-mgmt-tools
@core
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@legacy-x
@network-file-system-client
@perl-runtime
@remote-desktop-clients
@x11
lftp
ibus-table-cangjie
ibus-table-erbi
ibus-table-wubi
%end
******************************************************************************************************
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2052650/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實戰-使用 Cobbler 安裝作業系統作業系統
- Cobbler自動化批量安裝Linux作業系統 - 運維總結Linux作業系統運維
- PXE實現系統自動化安裝
- 實戰-使用 Cobbler 定製化安裝指定系統
- 品運維自動化之cobbler的安裝序運維
- kickstart+PXE+dhcp+nfs 批量無人值守自動化安裝作業系統NFS作業系統
- Cobbler部署指南之安裝虛擬化Xen系統篇薦
- 無人值守自動化安裝系統
- kickstart半自動安裝centos系統與pxe自動安裝centos系統CentOS
- 樹莓派作業系統安裝和啟動樹莓派作業系統
- RedHat 7.6作業系統安裝Redhat作業系統
- Windows 11 作業系統安裝方法Windows作業系統
- oam系統安裝,windows作業系統註冊列表影響系統安裝Windows作業系統
- 【Solaris】Virtualbox 安裝 Oracle Solaris 10(二) 圖形化安裝作業系統Oracle作業系統
- 埃思特電子作業票系統:實現作業管理線上化
- RHEL7.3通過PXE啟動安裝作業系統作業系統
- 作業-安裝虛擬機器以及CentOS作業系統虛擬機CentOS作業系統
- DHCP+TFTP+HTTP+Kickstart實現遠端自動安裝Linux系統FTPHTTPLinux
- Powershell 命令列安裝 Windows 作業系統命令列Windows作業系統
- 在Ubuntu作業系統裡安裝DockerUbuntu作業系統Docker
- 多種方式批量安裝作業系統作業系統
- VMWare安裝蘋果作業系統OS X蘋果作業系統
- Solaris8作業系統安裝(轉)作業系統
- 硬碟中安裝Linux作業系統硬碟Linux作業系統
- window檔案自動化上傳到linux作業系統Linux作業系統
- 無作業系統時的裝置驅動和有作業系統時的裝置驅動作業系統
- 作業系統——裝置驅動和檔案系統作業系統
- 寫作業系統之實現程式作業系統
- 作業系統(3)程式及其實現作業系統
- Linux作業系統中安裝VMware ToolsLinux作業系統
- Windows作業系統安裝MySQL解壓版Windows作業系統MySql
- window 作業系統,安裝 mongodb.zip 包作業系統MongoDB
- Solaris 8 for Intel 作業系統的安裝(轉)Intel作業系統
- 快速安裝Windows作業系統獨家秘籍(轉)Windows作業系統
- slot號造成的作業系統不能安裝作業系統
- 硬碟工作原理與XP作業系統安裝硬碟作業系統
- 紅旗Linux作業系統安裝(轉)Linux作業系統
- 【git】Ubuntu作業系統上安裝Git LFSGitUbuntu作業系統