當前位置:
首頁 > 最新 > Cobbler無人值守安裝linux系統

Cobbler無人值守安裝linux系統

簡介

Cobbler是一個Linux伺服器安裝的服務,可以通過網路啟動(PXE)的方式來快速安裝、重裝物理伺服器和虛擬機,同時還可以管理DHCP,DNS等。

Cobbler可以使用命令行方式管理,也提供了基於Web的界面管理工具(cobbler-web),還提供了API介面,可以方便二次開發使用。

Cobbler是較早前的kickstart的升級版,優點是比較容易配置,還自帶web界面比較易於管理。

Cobbler內置了一個輕量級配置管理系統,但它也支持和其它配置管理系統集成,如Puppet,暫時不支持SaltStack。

kickstart基本原理拓撲圖

cobbler和kickstart原理是一致的,只是個人認為cobbler比較好用

搭建

直接給命令了,紅字(不包括前邊的#,#只是代表命令行)

環境準備

系統版本CentOS7.2

# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

關閉selinux

# getenforce

Disabled

關閉防火牆

# systemctl status firewalld.service

firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

Active: inactive (dead)

# hostname -I #本機IP地址

192.168.110.18

yum源

# curl -o /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo

# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

使用yum安裝cobbler

# yum -y install cobbler cobbler-web dhcp tftp-serverpykickstart httpd

啟動http和cobbler

# systemctl start httpd.service

# systemctl start cobblerd.service

進行語法檢查

# cobbler check

出現8個錯,英文的讓你修改配置

解決報錯

# cp /etc/cobbler/settings{,.ori}

# sed -i "s/server: 127.0.0.1/server: 192.168.110.18/"/etc/cobbler/settings

# sed -i "s/next_server: 127.0.0.1/next_server: 192.168.110.18/"/etc/cobbler/settings

# sed -i "s/manage_dhcp: 0/manage_dhcp: 1/"/etc/cobbler/settings #防止重裝

# sed -i "s/pxe_just_once: 0/pxe_just_once: 1/"/etc/cobbler/settings #修改dhcp模板

# sed -ri "/default_password_crypted/s#(.*:).*#1" `openssl passwd -1 -salt cobbler "123456"` "#"/etc/cobbler/settings ###123456是root密碼

# sed -i "s#yes#no#" /etc/xinetd.d/tftp

配置dhcp 照著改吧

# vim /etc/cobbler/dhcp.template

subnet 192.168.110.0 netmask 255.255.255.0 {

optionrouters 192.168.110.1; #網關

optionsubnet-mask 255.255.255.0; #子網掩碼

rangedynamic-bootp 192.168.110.33 192.168.110.99; ##自動分配的ip段

default-lease-time 21600;

max-lease-time 43200;

:wq #改完了保存退出

重啟

# systemctl restart rsyncd tftp.socket cobblerd

# systemctl enable rsyncd tftp.socket cobblerd

啟動rsync服務

# systemctl start rsyncd.service

# systemctl enable rsyncd.service

同步 (每次改完配置都要同步)

# cobbler sync

下載包所需的軟體包(cobbler下載自己所需要的文件)

#cobbler get-loaders

#ls /var/lib/cobbler/loaders

COPYING.elilo elilo-ia64.efi menu.c32 yaboot

COPYING.syslinux grub-x86_64.efi pxelinux.0

COPYING.yaboot grub-x86.efi README

debian相關無需修改(不用debian就不需要管了)

再次檢查

# cobbler check

The following are potential configurationitems that you may want to fix:

1 : debmirror package is not installed, itwill be required to manage debian deployments and repositories

2 : fencing tools were not found, and arerequired to use the (optional) power management features. install cman orfence-agents to use them

Restart cobblerd and then run "cobblersync" to apply changes.

重啟所有服務

systemctl restart httpd cobblerd dhcpd rsyncdtftp.socket

cobbler安裝完成,下面進行web界面的操作。

cobbler的web及界面操作

瀏覽器訪問https://192.168.110.18/cobbler_web

注意CentOS7中cobbler只支持https訪問。

賬號密碼默認均為cobbler

操作說明--導入鏡像

在虛擬機上添加上鏡像

vmware:

掛載上鏡像

# mount /dev/cdrom /mnt/

mount: /dev/sr0 is write-protected,mounting read-only

# df -h grep mnt

/dev/sr0 4.3G 4.3G 0 100% /mnt

進行導入鏡像

選擇ImportDVD輸入Prefix(命名),Arch(架構),Breed(版本),Path(鏡像的路徑)

# ls /var/www/cobbler/ks_mirror/

CentOS7x86_64 config

導入過程使用rsync進行導入,三個進程消失表示導入完畢

# ps -ef greprsync

創建一台空白虛擬機,進行測試網路安裝

注意:虛擬機的內存不能小於2G,網卡的配置要保證網路互通

啟動虛擬機

啟動虛擬機即可發現會有cobbler的選擇界面

此界面修改

# more /etc/cobbler/pxe/pxedefault.template

DEFAULT menu

PROMPT 0

TIMEOUT 100

TOTALTIMEOUT 6000

ONTIMEOUT $pxe_timeout_profile

MENU DEFAULT

$pxe_menu_items

LABEL local

MENU LABEL(local)

LOCALBOOT -1

MENU end

定製化安裝操作系統

添加內核參數

查看導入的鏡像,點擊edit

在內核參數中添加net.ifnames=0biosdevname=0

能夠讓顯示的網卡變為eth0,而不是CentOS7中的ens33

編寫ks文件

參考

install

url --url=$tree

text

lang en_US.UTF-8

keyboard us

zerombr

bootloader --location=mbr --driveorder=sda--append="crashkernel=auto rhgb quiet"

#Network information

$SNIPPET("network_config")

#network --bootproto=dhcp --device=eth0--onboot=yes --noipv6 --hostname=CentOS7

timezone --utc Asia/Shanghai

authconfig --enableshadow --passalgo=sha512

rootpw --iscrypted $default_password_crypted

clearpart --all --initlabel

part /boot --fstype xfs --size 1024

part swap --size 2048

part / --fstype xfs --size 1 --grow

firstboot --disable

selinux --disabled

firewall --disabled

logging --level=info

reboot

%pre

$SNIPPET("log_ks_pre")

$SNIPPET("kickstart_start")

$SNIPPET("pre_install_network_config")

# Enable installation monitoring

$SNIPPET("pre_anamon")

%end

%packages

@^minimal

@compat-libraries

@core

@debugging

@development

bash-completion

chrony

dos2unix

kexec-tools

lrzsz

nmap

sysstat

telnet

tree

vim

wget

lsof

net-tools

%end

%post

systemctl disable postfix.service

%end

路徑為/var/lib/cobbler/kickstarts/

小技巧:如果想定義開機執行命令在倒數第二行添加

設置profile

選擇剛才創建的cfg文件

自定義安裝系統

選擇systems創建一個新的系統

以上的所有配置完成後,點擊Save進行保存

開啟虛擬機

回車~

一鍵裝機到此結束


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux運維小強 的精彩文章:

TAG:Linux運維小強 |