jxnxsdengyu
作者jxnxsdengyu2020-04-09 15:09
系统工程师, 江西农信

技术技巧---Linux无人值守安装

字数 3001阅读 944评论 0赞 1

一、摘要
本文主要描述如何使用PXE+DHCP+TFTP+kickstart 实现批量自动安装Linux 系统。

二、系统环境
系统平台:RHEL6
服务器:一台DHCP服务器,一台TFTP/HTTP服务器(10.X.X.31),一台裸服务器
系统配置:DHCP和TFTP服务器关闭iptables,selinux

service iptables stop
getenforce  //确保输出为“Dsisabled"

三、配置DHCP服务器
1.软件包安装:

yum -y install dhcp

2.复制配置模板文件到DHCP的配置目录中

cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf

3.修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

default-lease-time 7200;
max-lease-time 86400;
log-facility local7;
subnet 10.X.X.0 netmask 255.255.255.0 {                         //subnet 为DHCP服务器所在网段,根据实际情况更改
       range dynamic-bootp 10.X.X.101 10.X.X.200;             //分配的IP地址段,根据实际情况更改
       option routers      10.X.X.254;                          //分配的网关,根据实际情况更改
       option subnet-mask  255.255.255.0;
       next-server         10.X.X.31;                           //TFTP服务器地址
       filename            "pxelinux.0";                          //PXE启动文件
} 

4.启动dhcp服务

service dhcpd start
chkconfig dhcpd on

四、配置TFTP和HTTP服务器
1.软件包安装

yum -y httpd tftp-server syslinux 

2.配置httpd服务

cd /var/www/html
wget http://10.X.X.31/repo/ks.cfg     //ks.cfg为自动安装配置文件,根据实际安装系统版本选择
mkdir /var/www/html/iso
mount /dev/sr0 /mnt                     //挂载系统安装镜像文件
cp -r /mnt/* /var/www/html/iso           
service httpd start
chkconfig httpd on

3.配置TFTP服务

vi /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                 = no                         //此处改为“no"
       per_source              = 11 
       cps                     = 100 2 
       flags                   = IPv4 
} 

启动TFTP服务(tftp服务属于xinetd):

service xinetd start
chkconfig xinetd on

五、配置支持PXE的启动程序
1.软件包安装

yum install -y syslinux

2.配置PXE启动文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /mnt/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/ 
cp /mnt/isolinux/*.msg /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

修改default文件

vi /var/lib/tftpboot/pxelinux.cfg/default
default ks     #默认启动的是 'label ks' 中标记的启动内核
prompt 0          #显示 'boot: ' 提示符。为 '0' 时则不提示,将会直接启动 'default' 参数中指定的内容。
timeout 600      #在用户输入之前的超时时间,单位为 1/10 秒。
display boot.msg  
label linux       #'label' 指定你在 'boot:' 提示符下输入的关键字,比如boot: linux[ENTER],这个会启动'label linux' 下标记的kernel 和initrd.img 文件。
  kernel vmlinuz  #kernel 参数指定要启动的内核。
  append initrd=initrd.img #append 指定追加给内核的参数,能够在grub 里使用的追加给内核的参数,在这里也都可以使用。
label text 
  kernel vmlinuz 
  append initrd=initrd.img text 
label ks 
  kernel vmlinuz 
  append ks=http://192.X.X.130/ks.cfg initrd=initrd.img    #告诉系统,从哪里获取ks.cfg文件 
label local 
  localboot 1 
label memtest86 
  kernel memtest 
  append -

六、安装注意事项
完成以上步骤后,把裸服务器接入dhcp服务器所在网段进行自动安装
var/lib/tftpboot/pxelinux.cfg/default文件中prompt设置为1时,安装需要手动输入label参数。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广