您好,登錄后才能下訂單哦!
在上面的實驗中,我們沒有進行任何的安裝配置,全部都是Cobbler幫助我們完成的。可是在實際生產中,我們對每臺主機的硬盤分區,安裝的軟件都有相應的要求,所以我們需要自己來定制KickStart文件,這樣我們就能夠定制地批量安裝操作系統了。
我們就利用實驗環境(CentOS 7)中的KickStart文件來定制我們自己的KickStart文件。
Cobbler的ks文件存放位置
/var/lib/cobbler/kickstarts/
配置ks的方法
方法1、 每安裝好一臺Centos機器,Centos安裝程序都會創建一個kickstart配置文件,記錄你的真實安裝配置。如果你希望實現和某系統類似的安裝,可以基于該系統的kickstart配置文件來生成你自己的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位于/root/anaconda-ks.cfg)
方法2、Centos提供了一個圖形化的kickstart配置工具。在任何一個安裝好的Linux系統上運行該工具,就可以很容易地創建你自己的kickstart配置文件。kickstart配置工具命令為redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL5/6/7)
方法3、按照格式自定義一個.cfg文件(方法1不可用的情況下)
ks文件說明
kickstart文件是一個簡單的文本文件,它包含了一個項目列表,每個項目由一個關鍵字來識別。
firewall(可選)
這個選項對應安裝程序里的「防火墻配置」屏幕:
firewall –enabled|–disabled [–trust=] [–port=]
graphical(可選)
在圖形模式下執行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=eth2 --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
在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
每次對cobbler更改都要執行同步
#cobbler sync
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。