一 kickstart简介
ks是自动批量安装工具,它可以从网络自动安装操作系统,不需要与用户交互,对于需要安装大批量机器,可以很方便快速的安装和使用。
相关变量参数详解:
%packages 定义需要安装的包裹
%pre 预先安装
%post
ks配置文件详解:
url --url=" 指定URL
vnc --password=redhat
clearpart: clears the specified partitions before installation.
clearpart --all --drives=sda,sdb --initlabel
part : specifies the size,format,and name of a partition.
part /home --fstype=ext4 --label=homes --size=4096 --maxsize=8128 --grow
ignoredisk : ignores the specified disks when installing.
ignoredisk --drives=sdc
bootloader: defines where to install the bootloader.
bootloader --location=mbr -boot-drive=sda
volgroup,logvol: creates lvm volume groups and logical volumes.
part pv.01 --size=8192
volgroup myvg pv.0.1
logvol / --vgname=myvg --fstype=xfs --size=2048 --name=rootvol --grow
Network commands:
#启动网络配置为dhcp
network --device=eth0 --bootproto=dhcp
#启动防火墙
firewall --enabled --service=ssh,cups
#配置语言为utf8
lang en_US.UTF-8
#键盘
keyboard --vckeymap=us --xlayouts='us','us'
timezone --utc --ntpservers=time.xxx.com Europe/ASIA
#root密码
rootpw --plaintext redhat
selinux --enforcing
services --disabled=network,iptables,ip6tables --enabled=firewalld
group --name=admins --gid=10001
user --name=cw --gecos="chen wei" --groups=admins --password=chenwei --plaintext
loggin --host=www --level=info
firstboot --disabled
检查语法工具:ksvalidator ks.cfg
二 安装配置
1.需要安装的有:
Network servers:FTP,HTTP,NFS
DHCP/TFTP SERVER
USB disk or CDROM
local hard disk
2.启动方式:
ks=
ks=
ks=nfs:server/dir/file
ks=cdrom:/dir/file
三 案例
使用system-config-kickstart工具,创建一个配置文件
#############################################################
一 tftp配置用于pxe启动
二 dhcp配置
三 kickstart文件配置
四 yum服务器
通过选择安装不同的linux。
比如:安装rhel6/rhel7等等
=============================================================
一 环境说明:
1.1 环境是
RHEL5.7 64
dhcp服务器 : 要求可以正常分配ip并且指定TFTP服务器
vsftp 服务器 : 用于存放 Yum 仓库
tftp 服务器 : 存放系统安装所需要的引导文件pxelinux.0文件、启动菜单、内核vmlinuz及initrd.img、ks无人值守配置文件ks.cfg
pxelinux.0 pxe专用启动引导文件,/usr/share/syslinux 目录中找到,直接存放在TFTP要目录即可(也可在/etc/dhcpd.conf 指定)
客户端需要
支持PXE启动的网卡
具体过程
建好Yum源,vsftp/PXE 启动的准备工作
二 安装步骤:
2.1 tftp安装配置
cd /var/lib/tftpboot/
[root@chenwei tftpboot]# cp /usr/lib/syslinux/pxelinux.0 .
[root@chenwei tftpboot]# ls
linux-install pxelinux.0
[root@chenwei tftpboot]# mkdir pexlinux.cfg
[root@chenwei tftpboot]# cp /opt/yum/pub/isolinux/isolinux.cfg pexlinux.cfg/default
[root@chenwei tftpboot]# cp /opt/yum/pub/p_w_picpaths/
boot.iso diskboot.img minstg2.img pxeboot/ README stage2.img TRANS.TBL xen/
[root@chenwei tftpboot]# cp /opt/yum/pub/p_w_picpaths/pxeboot/initrd.img .
[root@chenwei tftpboot]# cp /opt/yum/pub/p_w_picpaths/pxeboot/vmlinuz .
[root@chenwei tftpboot]# ls
initrd.img linux-install pexlinux.cfg pxelinux.0 vmlinuz
[root@chenwei tftpboot]# vi pxelinux.0
initrd.img linux-install/ pexlinux.cfg/ pxelinux.0 vmlinuz
[root@chenwei tftpboot]# mv pexlinux.cfg pxelinux.cfg
[root@chenwei tftpboot]# vi pxelinux.cfg/default
default linux
prompt 1 #prompt用来设置是否等待用户选择
timeout 6
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
~
~
~
~
~
~
~
~
~
~
[root@chenwei tftpboot]# ls
[root@hb-node2 ~]# vi /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = yes
per_source = 11
cps = 100 2
flags = IPv4
}
~
~
~
~
~
~
[root@hb-node2 ~]# service xinetd restart
Stopping xinetd: [FAILED]
Starting xinetd: [ OK ]
[root@hb-node2 ~]#
2.2 yum install dhcp
2.3 配置dhcp
[root@chenwei tftpboot]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
cp: overwrite `/etc/dhcpd.conf'? y
[root@chenwei tftpboot]#
[root@chenwei tftpboot]# cat /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
# option domain-name "domain.org";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
allow booting;
allow bootp;
next-server 192.168.1.99; #指定tftp服务器
filename "/pxelinux.0"; #指定启动文件
range dynamic-bootp 192.168.1.80 192.168.1.90; #分配IP地址
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
[root@chenwei tftpboot]#
[root@chenwei tftpboot]# service dhcpd restart
Starting dhcpd: [ OK ]
三 编辑kickstart文件
[root@chenwei tftpboot]# yum install system-config-kickstart
[root@chenwei ~]# more /opt/yum/ks.cfg
#platform=x86, AMD64, or Intel EM64T
# System authorization information
key --skip
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --none
# Use graphical install
graphical
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use network installation
url --url=ftp://192.168.1.99/pub
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
#Root password
rootpw --iscrypted $1$ykHcHjmI$2TnvnafG2p1LyRi3Lpod3/
# SELinux configuration
selinux --enforcing
# System timezone
timezone America/New_York
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480
# Disk partitioning information
clearpart --all --initlabel #clear all data
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100
part swap --bytes-per-inode=4096 --fstype="swap" --size=2048
part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
%packages
@admin-tools
@base
@core
@development-libs
@development-tools
@mysql
@network-server
@openfabrics-enterprise-distribution
@server-cfg
@x-software-development
@base-x
[root@chenwei ~]#
四 yum服务器 ----参考其它配置
[root@chenwei ~]# cd /opt/yum/pub/
[root@chenwei pub]# ls
Cluster README-or.html RELEASE-NOTES-ml.html RELEASE-NOTES-U7-ml.html
ClusterStorage README-pa.html RELEASE-NOTES-mr.html RELEASE-NOTES-U7-mr.html
EULA README-pt_BR.html RELEASE-NOTES-or.html RELEASE-NOTES-U7-or.html
eula.en_US README-ru.html RELEASE-NOTES-pa.html RELEASE-NOTES-U7-pa.html
GPL README-si.html RELEASE-NOTES-pt_BR.html RELEASE-NOTES-U7-pt_BR.html
p_w_picpaths README-ta.html RELEASE-NOTES-ru.html RELEASE-NOTES-U7-ru.html
isolinux README-te.html RELEASE-NOTES-si.html RELEASE-NOTES-U7-si.html
README-as.html README-zh_CN.html RELEASE-NOTES-ta.html RELEASE-NOTES-U7-ta.html
README-bn.html README-zh_TW.html RELEASE-NOTES-te.html RELEASE-NOTES-U7-te.html
README-de.html RELEASE-NOTES-as.html RELEASE-NOTES-U7-as.html RELEASE-NOTES-U7-zh_CN.html
README-en RELEASE-NOTES-bn.html RELEASE-NOTES-U7-bn.html RELEASE-NOTES-U7-zh_TW.html
README-en.html RELEASE-NOTES-de.html RELEASE-NOTES-U7-de.html RELEASE-NOTES-zh_CN.html
README-es.html RELEASE-NOTES-en RELEASE-NOTES-U7-en RELEASE-NOTES-zh_TW.html
README-fr.html RELEASE-NOTES-en.html RELEASE-NOTES-U7-en.html repodata
README-gu.html RELEASE-NOTES-es.html RELEASE-NOTES-U7-es.html RPM-GPG-KEY-redhat-beta
README-hi.html RELEASE-NOTES-fr.html RELEASE-NOTES-U7-fr.html RPM-GPG-KEY-redhat-release
README-it.html RELEASE-NOTES-gu.html RELEASE-NOTES-U7-gu.html Server
README-ja.html RELEASE-NOTES-hi.html RELEASE-NOTES-U7-hi.html TRANS.TBL
README-kn.html RELEASE-NOTES-it.html RELEASE-NOTES-U7-it.html VT
README-ko.html RELEASE-NOTES-ja.html RELEASE-NOTES-U7-ja.html
README-ml.html RELEASE-NOTES-kn.html RELEASE-NOTES-U7-kn.html
README-mr.html RELEASE-NOTES-ko.html RELEASE-NOTES-U7-ko.html
[root@chenwei pub]#