Cobbler無人值守安裝linux系統

簡介linux

Cobbler是一個Linux服務器安裝的服務,能夠經過網絡啓動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機,同時還能夠管理DHCPDNS等。ios

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

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

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

 


kickstart基本原理拓撲圖vim

 


 

cobbler和kickstart原理是一致的,只是我的認爲cobbler比較好用瀏覽器


搭建bash

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

環境準備網絡

系統版本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界面的操做。

 

cobblerweb及界面操做

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

注意CentOS7cobbler只支持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

MENU TITLE Cobbler | http://cobbler.github.io/

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進行保存

 

 

 

 

開啓虛擬機

 

 

 

回車~

 

一鍵裝機到此結束

相關文章
相關標籤/搜索