NFS+TFTP+DHCP+KickStart+PXE批量Linux系统

NFS+TFTP+DHCP+KickStart+PXE批量linux服务器安装

1.系统环境

系统IPGateway
RHEL6.6192.168.2.172192.168.2.1

2.关闭selinux

vim /etc/sysconfig/selinux
# 修改selinux=disabled
SELINUX=disabled

3.安装软件包

# 配置Yum源安装
yum install -y dhcp* tftp* nfs* 

4.配置dhcp服务器

vim /etc/dhcp/dhcpd.conf
# 修改内容如下
ddns-update-style interim;
ignore client-updates;#禁止客户端更新
    next-server 192.168.2.172;
    filename "pxelinux.0";
    allow booting;
    allow bootp;
subnet 192.168.2.0 netmask 255.255.255.0 {
    option routers 192.168.2.1;
    option subnet-mask 255.255.255.0;
    range dynamic-bootp 192.168.2.170 192.168.2.254;
}
# 重启dhcpd
service dhcpd restart

5.配置tftp服务器

vim /etc/xinetd.d/tftp
# 修改内容如下
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
}
# disable=yes改成disable=no

6.配置NFS服务器
创建nfs共享目录,存放linux镜像的目录/var/linuxinstall

mkdir -p /var/linuxinstall
cp -rf /mnt/* /var/linuxinstall/ (*/这个没有意义)
vim /etc/exports
/var/linuxinstall *(rw,sync)
# 可根据实际控制权限访问*代表所有ip地址可以访问
service nfs restart

7.拷贝创建所需目录
将pxelinux.0、vesamenu.c32、initrd.img、vmlinuz /tftpboot/ 在/tftpboot目录下创建/pxelinux.cfg/目录
ln命令用来为文件创建链接,如果要创建符号连接必须使用"-s"选项。

ln -s /var/lib/tftpboot/ /
find / -name "pxelinux.0"
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp /usr/share/syslinux/vesamenu.c32 /tftpboot/
cp -rf /mnt/images/pxeboot/* /tftpboot/  (*/这个没有意义)
mkdir -p /tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
chmod -R 777 /tftpboot/pxelinux.cfg/default

8.配置default文件

vim /tftpboot/pxelinux.cfg/default
# 修改内容如下
label Red Hat Enterprise Linux Server release 6.6 (Maipo)
   kernel vmlinuz
   append ks=nfs:192.168.2.172:/var/linuxinstall/ks.cfg ksdevice=eth0 initrd=initrd.img
# (ksdevice=etho代表当我们有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了,192.168.2.172是kickstart服务器,/var/linuxinstall是nfs共享linux镜像的目录,ks.cfg是kickstart主配置文件,稍后会具体配置)
# 查看/tftpboot/
ls /tftpboot/
initrd.img pxelinux.0 pxelinux.cfg vesamenu.c32 vmlinuz

9.kickstarter服务配置
复制ks.cfg文件

cp /root/anaconda-ks.cfg /var/linuxinstall/ks.cfg
# ks.cfg配置完毕,并设置其权限
chmod -R 777 /var/linuxinstall/ks.cfg

修改ks.cfg文件

vim /var/linuxinstall/ks.cfg
# 修改内容如下
# Kickstart file automatically generated by anaconda.
# version=DEVEL
install
reboot
# 指明通过远程主机的nfs路径来安装系统
nfs --server=192.168.2.172 --dir=/var/linuxinstall key--skip
lang zh_CN.UTF-8
keyboard us
network --bootproto=dhcp --device=eth0 --onboot=on
rootpw 111111
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Shanghai
# bootloader的安装位置,这里选择安装至 mbr 中
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# 安装前清除系统的哪些分区,--all 表示清除所有分区
clearpart --all --initlabel
# 使用clearpart --all时,需要加上这个选项,否则安装过程会被暂停,需要手动选择
zerombr
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=2000
part / --fstype="ext4" --grow --size=1
# 软件包选择段,这里定义安装系统需要安装的软件包,@开头的表示包组,也可以指定单个包名,如:
%packages
@^minimal
@base
@core
@development
%end
%post
cat > /etc/yum.repos.d/yum.repo << EOF
[RHEL6]
name=RHEL6
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
enabled=1
gpgcheck=0
EOF
%end

10.启动服务及关闭防火墙

service iptables stop && service xinetd restart && service nfs restart && service dhcpd restart
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值