pxe+dhcp+tftp 配合kickstart 自动化安装系统

回复 收藏
centos 6 参考: http://wangfeng7399.blog.51cto.com/3518031/1369537

安装的过程是这样的:PXE网卡启动------DHCP服务器------获得 IP------从TFTP上下载pxelinux.0、vmlinuz、initrd------启动系统------通过PEXlinux去HTTP或NFS或FTP下载ks.cfg文件-----跟据ks.cfg去HTTP或NFS或FTP下载RPM包及安装系统------完成安装。

自动安装Linux操作系统
我的主机IP为192.168.52.97,网关为192.168.52.254
我们的目标是192.168.52.97的主机上搭建服务:tftpd,dhcp,nfs服务器


一.        搭建TFTP服务器
1、安装TFTP
yum install -y  tftp tftp-server  xinetd (已经安装)
2、修改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 /tftpboot
        disable                 = no   // 只需要更改蓝色字体的这一部分
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
3、开启TFTP服务
tftp是由xinted来启动的,修改完后要记得service xinetd restart


二. 配置dhcpd服务
1、安装DHCP
yum  install -y  dhcp
2、拷贝DHCP服务器的模板配置文件
cp  /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
3、编辑DHCP的配置文件
vim /etc/dhcpd.conf    // 文件内容如下:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.52.0 netmask 255.255.255.0{
        allow booting;
        allow bootp;
        allow unknown-clients;
        option routers                  192.168.52.254;    //gateway               
        option subnet-mask              255.255.255.0;    //netmask
           option domain-name-servers      192.168.205.2;    //DNS
           #optioin domain-name-servers                202.67.240.222;
        option time-offset              -18000; # Eastern Standard Time
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;
        range dynamic-bootp 192.168.52.128 192.168.52.254;  //子网范围
        default-lease-time 21600;
        max-lease-time 43200;
        next-server  192.168.52.97;              #TFTP服务器的ip地址(必须得指定要不找不到TFTP服务器)
        filename "pxelinux.0";       #pxelinux.0就是上面提到的bootstrap,上面已经指定了tftp的根目录,所以这里用相对路径      
}
4、开启DHCP服务
启动dhcp服务  service dhcpd  start

  

三. 配置支持PXE
启动镜像文件pxelinux.0可以在syslinux安装包中获得,安装syslinux安装包后,将pxelinux.0复制到TFTP服务器根目录中:
1、        cp /usr/lib/syslinux/pxelinux.0  /tftpboot
2、        将RedHat Linux安装介质的ISO和ks.cfg文件都放置到/mnt目录下
#mkdir  /install
mount  /dev/cdrom   /mnt
把Linux第一张安装光盘上image/pxeboot/initrd.img和vmlinuz 以及考到/tftpboot目录下(重点是initrd.img和vmlinuz,没有内核是无法引导的)
cd /mnt/image/pxeboot/   
cp  initrd.img  vmlinuz  /tftpboot
3、        在/tftpboot中建立一个目录pxelinux.cfg用于放置内核启动时的参数
mkdir /tftpboot/pxelinux.cfg


4、在RedHat第一张安装光盘isolinux/下有一个isolinux.cfg文件,把它拷贝到/tftpboot/pxelinux.cfg/目录下并改名为 default.下面为修改后的default文件:
vim  /tftpboot/pxelinux.cfg/default   // 内容为:
default linux
prompt 1
timeout 30
label linux
kernel vmlinuz
append initrd=initrd.img  ksdevice=eth0  ks=nfs:192.168.205.3:/install/ks.cfg
注: ksdevice=eth0 是指驱动eth0网卡来执行KS。如果不加服务器装系统时会提示选择驱动哪个系统 。
append 这个选项是指定从哪个地方去读取这个配置文件,用什么方式加载。这里使用nfs方式获取KS这个文件,当然也可以用FTP、HTTP等方式。ks 文件,也就是linux自动加载安装中各项参数,平常我们用光盘安装的时候需要选择相应的语言,字体,键盘,鼠标,分区,安装的软件包等待信息,KS文件就是让这些选择自动化进行。

四. 配置 ks.cfg
mkdir /install
vim   /install/ks.cfg

参照:http://www.lishiming.net/thread-732-1-1.html

KS参数详细介绍(红色部分为系统安装参数可用部分)
http://docs.redhat.com/docs/zh-C ... start2-options.html  KS参数官网


五.  配置NFS
vim /etc/exports
/mnt *(ro,no_root_squash,sync)
/install *(ro,no_root_squash,sync)
 *(ro,sync) *指定所有的用户(ro,sync)具有只读权限,并且数据同步写入硬盘。
启动NFS服务:
service  portmap restart
service   nfs  restart
[root@centos ~]# exportfs /确认nfs共享正常/
 /media/cdrom

完成,机器给电,连接上网线与主机在同一个网段内,自动完成系统安装后自动重启
2013-03-15 14:12 举报
已邀请:
0

君君

赞同来自:

这个不错,找好久了

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: