kickstart
2010-09-07 15:51
543 查看
要实现一个PXE+Kickstart无人值守安装,至少需要DHCP与TFTP服务来完成引导。我们要安装的软件包一共如下:
#dhcp、tftp-server、tftp、xinetd 、syslinux、nfs-utils
yum -y install dhcp tftp-server tftp xinetd syslinux nfs-utils
配置DHCP
rsync -av /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
vi /etc/dhcp.conf
找到:
ignore client-updates;
在下面添加如下内容:
next-server 10.1.1.250;
filename "pxelinux.0";
其中:10.1.1.250成为后续将进行配置的tftp服务器的IP
找到并注释:
#option nis-domain "domain.org";
#option domain-name "domain.org";
#option domain-name-server 192.168.1.1;
网卡配置:
将IP改为10.1.1.250
vi /etc/sysconfig/network-scripts/ifcfg-eth0
找到:
BOOTPROTO=dhcp
改为:
BOOTPROTO=static
注意IP地址的配置:
IPADDR=10.1.1.250
NETMASK=255.255.255.0
[align=left]重启网络并启动dhcpd:[/align]
/etc/init.d/network restart
/etc/ini.d/dhcpd start
vi /etc/xinetd.d/tftp
找到:
disable = yes
改为
disable = no
启动tftp-server
/etc/init.d/xinetd restart
使用tftp客户端进行验证
mkdir -p /tftpboot
echo hahahoho > /tftpboot/test.file
tftp 10.1.1.250
tftp>get test.file
tftp>quit
如果能正常获取test.file,则说明tftp-server工作正常。
pxelinux.0
我们在配置dhcp的时候,就已经用到了pxelinux.0,其实pxlinux.0就是上面提到的bootstrap。在Linux中,它是由syslinux来生成的。我们只要安装了syslinux,就会生成一个pxelinux.0,我们只需要将其拷贝到/tftpboot下面即可。
rpm -ql syslinux | grep pxelinux.0
rsync -av /usr/lib/syslinux/pxelinux.0 /tftpboot/
mount -o loop /root/RedHat5-U3-i386-bin-DVD.iso /mnt
拷贝内核文件vmlinuz以及根文件系统initrd.img到/tftpboot
rsync -av /mnt/images/pxeboot/ /tftpboot/
创建/tftpboot/pxelinux.cfg目录
mkdir -p /tftpboot/pxelinux.cfg
创建/tftpboot/pxelinux.cfg/default文件
touch /tftpboot/pxelinux.cfg/default
文件内容如下:
default linux
prompt 0
label linux
kernel vmlinuz
append ks=nfs:10.1.1.250:/netinstall/ks.cfg initrd=initrd.img
也可以复制/mnt/isolinux/isolinux.cfg成default,然后进行修改。
rsync -av /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[align=left]2.4配置nfs网络安装[/align]
mkdir -p /netinstall/kickstart
安装nfs服务,并将/netinstall/kickstart发布出去
/etc/init.d/portmap start
/etc/init.d/nfslock start
/etc/init.d/nfs start
cat >> /etc/export << EOFFS
/netinstall/kickstart *(ro,async)
EOFFS
exportfs -rv
showmount -e 10.1.1.250
最后结果如下:
exportfs *:/netinstall/kickstart
[align=left]拷贝本机安装时的ks文件到/netinstall/kickstart并重命名为ks.cfg[/align]
rsync -av /root/anaconda-ks.cfg /netinstall/kickstart/ks.cfg
chmod a+r /netinstall/kickstart/ks.cfg
找到第一行的install,在其后新增一行,内容为text这个单词。
找到第二行的cdrom,改为nfs --server=10.1.1.250 --dir=/mnt
找到clearpart --linux --drives=sda
改为:clearpart --all --drives=sda --initlabel
并在上面添加一行:
zerombr
autopart
其中:
zerombr是清空硬盘的主引导分区(MBR)
autopart为自动分区
也可以定制分区,如:
part / --fstype ext3 --size=1 --grow
part /var --fstype ext3 --size=2000
part swap --size=1000
定制分区和autopart是冲突的,所以不能混用。
为了避免安装后的一些麻烦,可以考虑关闭服务器端防火墙和SELINUX
firewall --disabled
selinux --disabled
注意:为了能够顺利发布数据,让其他客户端访问,请注意关闭服务器端防火墙和SELINUX。
选包定制:
%packages
@base
@core
@web-server
sysstat
-bluez-utils
@后边跟的都是组名,对应yum仓库中repodata/comps*.xml文件的groupid。可以执行如下命令获得groupid列表:
find /mnt/ -name "comps*.xml" | xargs grep -h groupid | sort -n | sed 's#[[:space:]]##g; s#<groupid>##g; s#<.*##g'
-表示安装时不安装该包。
ddns-update-style interim;
ignore client-updates;
next-server 10.1.1.250;
filename "pxelinux.0";
subnet 10.1.1.0 netmask 255.255.255.0 {
option routers 10.1.1.250;
option subnet-mask 255.255.255.0;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 10.1.1.1 10.1.1.200;
default-lease-time 21600;
max-lease-time 43200;
}
##########/tftpboot/pxelinux.cfg/default内容##########
default linux
prompt 1
timeout 30
label linux
kernel vmlinuz
append initrd=initrd.img ks=nfs:10.1.1.250:/netinstall/kickstart/ks.cfg
label hda
kernel vmlinuz
append initrd=initrd.img ks=nfs:10.1.1.250:/netinstall/kickstart/kshda.cfg
##########ks.cfg文件内容##########
install
text
nfs --server=10.1.1.250 --dir=/mnt
key --skip
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp --onboot=on
rootpw 123456
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
zerombr
clearpart --all --drives=sda --initlabel
part / --fstype ext3 --size=1 --grow
part /var --fstype ext3 --size=2000
part swap --size=1000
reboot
%packages
@base
@core
@editors
@text-internet
@web-server
@mysql
@dns-server
sysstat
%post
/usr/sbin/useradd admin
/bin/echo 888888 | /usr/bin/passwd admin --stdin
/bin/touch /home/admin/HelloWorld
/sbin/chkconfig auditd off
/sbin/chkconfig autofs off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig bluetooth off
/sbin/chkconfig cups off
/sbin/chkconfig firstboot off
/sbin/chkconfig gpm off
/sbin/chkconfig haldaemon off
/sbin/chkconfig hidd off
/sbin/chkconfig ip6tables off
/sbin/chkconfig kudzu off
/sbin/chkconfig lvm2-monitor off
/sbin/chkconfig mcstrans off
/sbin/chkconfig netfs off
/sbin/chkconfig nfslock off
/sbin/chkconfig pcscd off
/sbin/chkconfig portmap off
/sbin/chkconfig restorecond off
/sbin/chkconfig rhnsd off
/sbin/chkconfig rpcgssd off
/sbin/chkconfig rpcidmapd off
/sbin/chkconfig smartd off
/sbin/chkconfig xfs off
/sbin/chkconfig yum-updatesd off
#dhcp、tftp-server、tftp、xinetd 、syslinux、nfs-utils
yum -y install dhcp tftp-server tftp xinetd syslinux nfs-utils
配置DHCP
rsync -av /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
vi /etc/dhcp.conf
找到:
ignore client-updates;
在下面添加如下内容:
next-server 10.1.1.250;
filename "pxelinux.0";
其中:10.1.1.250成为后续将进行配置的tftp服务器的IP
找到并注释:
#option nis-domain "domain.org";
#option domain-name "domain.org";
#option domain-name-server 192.168.1.1;
网卡配置:
将IP改为10.1.1.250
vi /etc/sysconfig/network-scripts/ifcfg-eth0
找到:
BOOTPROTO=dhcp
改为:
BOOTPROTO=static
注意IP地址的配置:
IPADDR=10.1.1.250
NETMASK=255.255.255.0
[align=left]重启网络并启动dhcpd:[/align]
/etc/init.d/network restart
/etc/ini.d/dhcpd start
2.2 tftp-server
配置tftp-servervi /etc/xinetd.d/tftp
找到:
disable = yes
改为
disable = no
启动tftp-server
/etc/init.d/xinetd restart
使用tftp客户端进行验证
mkdir -p /tftpboot
echo hahahoho > /tftpboot/test.file
tftp 10.1.1.250
tftp>get test.file
tftp>quit
如果能正常获取test.file,则说明tftp-server工作正常。
pxelinux.0
我们在配置dhcp的时候,就已经用到了pxelinux.0,其实pxlinux.0就是上面提到的bootstrap。在Linux中,它是由syslinux来生成的。我们只要安装了syslinux,就会生成一个pxelinux.0,我们只需要将其拷贝到/tftpboot下面即可。
rpm -ql syslinux | grep pxelinux.0
rsync -av /usr/lib/syslinux/pxelinux.0 /tftpboot/
2.3 Linux系统启动文件
找到DVD安装盘或者ISO镜像,将其mount到/mnt下面。mount -o loop /root/RedHat5-U3-i386-bin-DVD.iso /mnt
拷贝内核文件vmlinuz以及根文件系统initrd.img到/tftpboot
rsync -av /mnt/images/pxeboot/ /tftpboot/
创建/tftpboot/pxelinux.cfg目录
mkdir -p /tftpboot/pxelinux.cfg
创建/tftpboot/pxelinux.cfg/default文件
touch /tftpboot/pxelinux.cfg/default
文件内容如下:
default linux
prompt 0
label linux
kernel vmlinuz
append ks=nfs:10.1.1.250:/netinstall/ks.cfg initrd=initrd.img
也可以复制/mnt/isolinux/isolinux.cfg成default,然后进行修改。
rsync -av /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[align=left]2.4配置nfs网络安装[/align]
mkdir -p /netinstall/kickstart
安装nfs服务,并将/netinstall/kickstart发布出去
/etc/init.d/portmap start
/etc/init.d/nfslock start
/etc/init.d/nfs start
cat >> /etc/export << EOFFS
/netinstall/kickstart *(ro,async)
EOFFS
exportfs -rv
showmount -e 10.1.1.250
最后结果如下:
exportfs *:/netinstall/kickstart
2.5 关于ks.cfg文件
[align=left]做一个最简单的ks.cfg。[/align][align=left]拷贝本机安装时的ks文件到/netinstall/kickstart并重命名为ks.cfg[/align]
rsync -av /root/anaconda-ks.cfg /netinstall/kickstart/ks.cfg
chmod a+r /netinstall/kickstart/ks.cfg
找到第一行的install,在其后新增一行,内容为text这个单词。
找到第二行的cdrom,改为nfs --server=10.1.1.250 --dir=/mnt
找到clearpart --linux --drives=sda
改为:clearpart --all --drives=sda --initlabel
并在上面添加一行:
zerombr
autopart
其中:
zerombr是清空硬盘的主引导分区(MBR)
autopart为自动分区
也可以定制分区,如:
part / --fstype ext3 --size=1 --grow
part /var --fstype ext3 --size=2000
part swap --size=1000
定制分区和autopart是冲突的,所以不能混用。
为了避免安装后的一些麻烦,可以考虑关闭服务器端防火墙和SELINUX
firewall --disabled
selinux --disabled
注意:为了能够顺利发布数据,让其他客户端访问,请注意关闭服务器端防火墙和SELINUX。
选包定制:
%packages
@base
@core
@web-server
sysstat
-bluez-utils
@后边跟的都是组名,对应yum仓库中repodata/comps*.xml文件的groupid。可以执行如下命令获得groupid列表:
find /mnt/ -name "comps*.xml" | xargs grep -h groupid | sort -n | sed 's#[[:space:]]##g; s#<groupid>##g; s#<.*##g'
-表示安装时不安装该包。
三、附录
##########/etc/dhcpd.conf内容##########ddns-update-style interim;
ignore client-updates;
next-server 10.1.1.250;
filename "pxelinux.0";
subnet 10.1.1.0 netmask 255.255.255.0 {
option routers 10.1.1.250;
option subnet-mask 255.255.255.0;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 10.1.1.1 10.1.1.200;
default-lease-time 21600;
max-lease-time 43200;
}
##########/tftpboot/pxelinux.cfg/default内容##########
default linux
prompt 1
timeout 30
label linux
kernel vmlinuz
append initrd=initrd.img ks=nfs:10.1.1.250:/netinstall/kickstart/ks.cfg
label hda
kernel vmlinuz
append initrd=initrd.img ks=nfs:10.1.1.250:/netinstall/kickstart/kshda.cfg
##########ks.cfg文件内容##########
install
text
nfs --server=10.1.1.250 --dir=/mnt
key --skip
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp --onboot=on
rootpw 123456
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
zerombr
clearpart --all --drives=sda --initlabel
part / --fstype ext3 --size=1 --grow
part /var --fstype ext3 --size=2000
part swap --size=1000
reboot
%packages
@base
@core
@editors
@text-internet
@web-server
@mysql
@dns-server
sysstat
%post
/usr/sbin/useradd admin
/bin/echo 888888 | /usr/bin/passwd admin --stdin
/bin/touch /home/admin/HelloWorld
/sbin/chkconfig auditd off
/sbin/chkconfig autofs off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig bluetooth off
/sbin/chkconfig cups off
/sbin/chkconfig firstboot off
/sbin/chkconfig gpm off
/sbin/chkconfig haldaemon off
/sbin/chkconfig hidd off
/sbin/chkconfig ip6tables off
/sbin/chkconfig kudzu off
/sbin/chkconfig lvm2-monitor off
/sbin/chkconfig mcstrans off
/sbin/chkconfig netfs off
/sbin/chkconfig nfslock off
/sbin/chkconfig pcscd off
/sbin/chkconfig portmap off
/sbin/chkconfig restorecond off
/sbin/chkconfig rhnsd off
/sbin/chkconfig rpcgssd off
/sbin/chkconfig rpcidmapd off
/sbin/chkconfig smartd off
/sbin/chkconfig xfs off
/sbin/chkconfig yum-updatesd off
相关文章推荐
- kickstart自动化安装时,画面停在Determining host name and domain时解决办法
- Kickstart 部署CentOS6.4
- kickstart配置文件详解和system-config-kickstart
- kickstart配置文件详解和system-config-kickstart
- Kickstart Round A 2017 Problem B. Patterns Overlap
- kickstart安装
- kickstart
- kickstart配置LVM之 多块硬盘
- kickstart 部署 RHEL7
- Kickstart无人值守安装
- kickstart, inode ,sshd,软硬链接
- kickstart
- Kickstart无人值守批量部署CentOS6
- kickstart 文件的两种生成方式及创建光盘映像
- kickstart文件详解
- Kickstart 实现linux系统的自动安装
- kickstart配置文件详解
- kickstart可用package详细列表
- redhat7 网络安装 Kickstart
- kickstart配置文件适配 vlan 场景应用