cobbler使用自定義kickstart文件安裝系統

在上面的實驗中,咱們沒有進行任何的安裝配置,所有都是Cobbler幫助咱們完成的。但是在實際生產中,咱們對每臺主機的硬盤分區,安裝的軟件都有相應的要求,因此咱們須要本身來定製KickStart文件,這樣咱們就可以定製地批量安裝操做系統了。
咱們就利用實驗環境(CentOS 7)中的KickStart文件來定製咱們本身的KickStart文件。node

1、配置ks文件

Cobbler的ks文件存放位置linux

/var/lib/cobbler/kickstarts/ ios

配置ks的方法redis

方法一、 每安裝好一臺Centos機器,Centos安裝程序都會建立一個kickstart配置文件,記錄你的真實安裝配置。若是你但願實現和某系統相似的安裝,能夠基於該系統的kickstart配置文件來生成你本身的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位於/root/anaconda-ks.cfg)
方法二、Centos提供了一個圖形化的kickstart配置工具。在任何一個安裝好的Linux系統上運行該工具,就能夠很容易地建立你本身的kickstart配置文件。kickstart配置工具命令爲redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL5/6/7)​
方法三、按照格式自定義一個.cfg文件(方法1不可用的狀況下)centos

ks文件說明服務器

kickstart文件是一個簡單的文本文件,它包含了一個項目列表,每一個項目由一個關鍵字來識別。網絡

firewall(可選)app

這個選項對應安裝程序裏的「防火牆配置」屏幕:
firewall –enabled|–disabled [–trust=] [–port=]

graphical(可選)ide

在圖形模式下執行kickstart安裝.kickstart安裝默認在圖形模式下安裝.text文本安裝。

network(可選)工具

爲系統配置網絡信息.若是 kickstart安裝不要求聯網(換句話說,不從NFS,HTTP或FTP安裝),就不須要爲系統配置網絡.若是安裝要求聯網而kickstart文件 裏沒有提供網絡信息,安裝程序會假定從eth0經過動態IP地址(BOOTP/DHCP)來安裝,並配置安裝完的系統動態決定IP地址.network選 項爲經過網絡的kickstart安裝以及所安裝的系統配置聯網信息.
    –ip=,要安裝的機器的IP地址.
    –gateway=,IP地址格式的默認網關.
    –nameserver=,主名稱服務器,IP地址格式.
    –nodns,不要配置任何 DNS 服務器.
    –netmask=,安裝的系統的子網掩碼.
    –hostname=,安裝的系統的主機名.
    –ethtool=,指定傳給ethtool程序的網絡設備的其餘底層設置.
    –essid=,無線網絡的網絡ID.
    –wepkey=,無線網絡的加密密鑰.
    –onboot=,是否在引導時啓用該設備.
    –class=,DHCP類型.
    –mtu=,該設備的MTU.
    –noipv4=,禁用此設備的IPv4.
    –noipv6=,禁用此設備的IPv6

multipath(可選)

multipath –name= –device= –rule=part或partition(對於安裝是必需的,升級可忽略). 在系統上建立分區. 若是不一樣分區裏有多個紅帽企業Linux系統,安裝程序會提示用戶升級哪一個系統.
 注意:做爲安裝過程的一部分,全部被建立的分區都會被格式化,除非使用了–noformat和–onpart.,若是是分區的掛載點,它必須是下列形式中的一種:
/ ,例如,/,/usr,/home
swap,該分區被用做交換空間,要自動決定交換分區的大小,使用–recommended選項.
swap –recommended
自動生成的交換分區的最小值大於系統內存的數量,但小於系統內存的兩倍.
raid. ,該分區用於 software RAID(參考 raid).
pv. ,該分區用於 LVM(參考 logvol).
    –size=,以MB爲單位的分區最小值.在此處指定一個整數值,如500.不要在數字後面加MB.
    –grow,告訴分區使用全部可用空間(如有),或使用設置的最大值.
    –maxsize=,當分區被設置爲可擴充時,以MB爲單位的分區最大值.在這裏指定一個整數值,不要在數字後加MB.
    –noformat,用–onpart命令來告訴安裝程序不要格式化分區.
    –onpart=或–usepart=,把分區放在已存在的設備上.
例如:partition /home –onpart=hda1,把/home置於必須已經存在的/dev/hda1上.
    –ondisk=或–ondrive=,強迫分區在指定磁盤上建立.
例如:–ondisk=sdb把分區置於系統的第二個SCSI磁盤上.
    –asprimary,強迫把分區分配爲主分區,不然提示分區失敗.
    –type=(用fstype代替),這個選項再也不可用了.應該使用fstype.
    –fstype=,爲分區設置文件系統類型.有效的類型爲ext2,ext3,swap和vfat.
    –start=,指定分區的起始柱面,它要求用–ondisk=或ondrive=指定驅動器.它也要求用–end=指定結束柱面或用 –size=指定分區大小.
    –end=,指定分區的結束柱面.它要求用–start=指定起始柱面.
    –bytes-per-inode=,指定此分區上建立的文件系統的節點大小.不是全部的文件系統都支持這個選項,因此在其餘狀況下它都被忽略.
    –recommended,自動決定分區的大小.
    –onbiosdisk,強迫在 BIOS 找到的特定磁盤上建立分區.
注:若是由於某種緣由分區失敗了,虛擬終端3上會顯示診斷信息

定義安裝的包:

%packages
(xxx)
%end

定義安裝後執行的命令或腳本:

%post
(xxx)
%end

ks文件示例

centos7

cat /var/lib/cobbler/kickstarts/centos7.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
# old format: keyboard us
# new format:
keyboard --vckeymap=us --xlayouts='us'
# Root password
rootpw --iscrypted $1$1qaz!QAZ$L4d6kVwN3toE.0oAS.dQ31
# Use network installation
url --url="http://192.168.42.128/cobbler/ks_mirror/CentOS-7-x86_64_new-x86_64/"
# System language
lang en_US.UTF-8
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
#graphical
reboot
text
# Run the Setup Agent on first boot
firstboot --enable
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System services
services --disabled="chronyd"
ignoredisk --only-use=sda
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="xfs" --size=1024
part swap --fstype="swap" --size=2048
part / --fstype="xfs" --grow --size=1
%packages
@^minimal
@core
%end

%post

cat >/etc/profile<<EOF
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  `whoami` "
ulimit -n 65536
EOF
cat >/etc/security/limits.conf<<EOF
* soft nofile = 65536
* hard nofile = 65536
root soft nofile 65536
root hard nofile 65536
EOF
hwclock -w

%end

centos6.8

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://192.168.137.38/cobbler/ks_mirror/CentOS-6.8-x86_64/"
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
# Root password
rootpw --iscrypted $1$ljohn$yBMDpKkntQ9jfV1ZAWKpU1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
#logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
#network  --bootproto=dhcp --device=eth1 --onboot=on
# System bootloader configuration
bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --size=500
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1
%packages --nobase
@core
%end

2、 將KickStart文件和yum源作關聯

在Cobbler 自動建立了yum源以後,會自動有一個ks文件與該源相對應。如今咱們須要將本身製做的KS文件與原有的yum源進行關聯。

# --name 咱們須要添加的啓動菜單的名字
# --distro  咱們自定製的ks文件關聯的yum庫
# --kickstart 咱們自定製的ks文件的路徑
[root@localhost kickstarts]#cobbler profile add --name=centos7-x86_64-new --distro=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg

查看Cobbler中如今還有多少個啓動項

[root@localhost kickstarts]#cobbler profile list
   centos6.9-x86_64
   centos7-x86_64
   centos7-x86_64-new

3、同步

每次對cobbler更改都要執行同步

#cobbler sync

4、測試

相關文章
相關標籤/搜索