Centos 6.* 下搭建pxe+dhcp+nfs+kickstart

一、Linux自动安装系统详细工作过程。

二、配置PXE网络安装的说明及步骤顺序

1)、配置NFS服务器,用与存放Linux系统的安装文件。

2)、配置Tftp服务器,用于提供客户端Pxe引导所必须的文件

3)、配置DHCP用于给客户端提供IP地址及其它信息

4)、配置Kickstart,用于自动应答安装

5)、使用PXE功能引导客户机

三、安装NFS服务及配置文件共享目录

把安装介质从光驱或ISO文件复制服务器上的一个目录,可以使用各种网络协议访问它,比如HTTP,FTP和NFS。

1)、创建共享目录,并将光盘内容拷贝到共享目录中。

[[email protected] ~]# mkdir /data/sys -p

[[email protected] ~]# rsync -avz -P /mnt /data/sys/

2)、安装配置NFS,将共享目录发布出去

[[email protected] ~]rpm -qa | grep nfs

[[email protected] ~]yum -y install nfs-utils portmap

[[email protected] ~]echo "/data/sys/ 192.168.0.0/24(ro,sync)" >> /etc/exports

[[email protected] ~]cat /etc/exports

/data/sys/ 192.168.0.0/24(ro,sync)

3)、NFS、Rpcbind服务启动

[[email protected] ~]# /etc/init.d/rpcbind start
Starting rpcbind:                                          [  OK  ]

[[email protected] ~]# /etc/init.d/nfs start
Starting NFS services:                                        [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

4)、及开机自动启动

[[email protected] ~]#chkconfig nfs on

[[email protected] ~]#chkconfig rpcbind on

[[email protected] ~]#chkconfig --list nfs

[[email protected] ~]#chkconfig --list rpcbind

5)、检查目录/data/sys是否被正确共享

[[email protected] ~]#

[[email protected] ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/data/sys 192.168.0.0/24

四、安装配置Tftp服务

在Pxe安装过程中,客户机通过Tftp协议从Tftp服务下载引导文件并执行。

1)、安装Tftp服务

提示:如果在Yum工具执行前进行下述处理,可以把Yum安装的Rpm包保留下来备用。

[[email protected] ~]# sed -i ‘s#keepcache=0#keepcache=1#g‘ /etc/yum.conf

[[email protected] ~]#tree /var/cache/yum/base/

[[email protected] ~]# yum -y install tftp-server*

2)、配置tftp服务

tftp服务由xinetd服务管理。编辑"/etc/xinetd.d/tftp"文件,将文件中的disable的参数值由yes改为no.

[[email protected] ~]#cat /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    这里是默认ftfp路径,一会要把启动文件放在这里。

disable                 = yes    将yes改为no

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

从配置文件,可以看出,/tftpboot默认为TFTP服务器的根目录位置,配置完成后重启xinetd服务,使TFTP服务器生效。

[[email protected] ~]#/etc/init.d/xinetd start

Starting xinetd:                                           [  OK  ]

3)、PXE引导配置(bootstrap)

pxe启动映像文件由syslinux软件包提供,centos linux光盘中已提供,你也可以到syslinux主页,http://syslinux.zytor.com/下载rpm来安装。

我们只要安装了syslinux(默认已安装),就会生成一个pxelinux.0,将pxelinux.0这个文件复制到“/tftpboot”目录即可:如果没有,可以配置好Yum源,来安装一下:yum -y install syslinux

[[email protected] ~]#cp /usr/share/syslinux/pxelinux.0 /tftpboot

[[email protected] ~]# ll /tftpboot/
total 28
-rw-r--r-- 1 root root 26828 Apr 13 21:06 pxelinux.0

4)、用于网络启动的内核文件

将Centos安装光盘目录中的”images/pxeboot/{Vmlinux,initrd.img}“启动文件复制到某个安装目录,比如:”/tftpboot“

[[email protected] ~]#cp /mnt/images/pxeboot/initrd.img /tftpboot

[[email protected] ~]#cp /mnt/images/pxeboot/vmlinuz /tftpboot

[[email protected] ~]#ls

initrd.img  TRANS.TBL  vmlinuz

[[email protected] tftpboot]# mkdir pxelinux.cfg
[[email protected] tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

[[email protected] ~]#cp /data/sys/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

[[email protected] ~]#cat /tftpboot/pxelinux.cfg/default

default local    这里选择none为默认安装方式,文本方式为text图形方式为default linux

prompt 1    显示“boot:”提示符。为‘0’时则不提示,将直接启动default参数中指定的内容。

timeout 999999    用户输入之前的超时时间,单位为1/10秒,显示某个文件的内容,注意文件的路径。默认是在/tftpboot目录。也可以类似这样“install /rhel-inst/boot.msg”这样的,路径+文件名

display boot.msg

F1 boot.msg    按下‘F1’这样的键后显示的文件。注意路径。默认是/tftpboot。注:syslinux官方网站上说,目前只能使用F1-F10

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 ks=nfs:192.168.2.253:/data/sys/kickstart/ks.cfg initrd=initrd.img text

这里的nfs:192.168.2.253:/data/sys/kickstart/ks.cfg 为ks.cfg所在的NFS共享路径,后面配置kisckstart时要注意把ks.cfg放到/data/sys/kickstart/ks.cfg

label ks

kernel vmlinuz

append ks initrd=initrd.img

label local

localboot 1

label memtest86

kernel memtest

append -

#‘label’指定你在‘boot:‘提示符下输入的关键字。如:boot:linux[ENTER]

#这个会启动‘label linux‘下标记的Kernel和Initrd.img文件。

#这里还定义了其它几个关键字:

#boot:text

#boot:ks

#Kernet参数指定要启动的内核。同样要注意路径,默认是/tftpboot目录。

#append指定追加给内核的参数,能够在Gurb里使用的追加给内核的参数,在这里也都可以用。

#使用kickstart安装。可以在ks参数后直接指定kickstart文件的位置。

特别提示:部署无人值守安装,如果配置不当有时也会带来严重负面问题,例如:别人的个人计算机或服务器开机时可能莫名奇妙的直接被安装了你定义的Linux系统。

所以:下面的配置很关键:

default local

prompt 1

timeout 999999

五、安装及配置DHCP服务

在PXE引导安装过程中,PXE客户机通过DHCP服务获取PXE客户机的IP地址、PXE引导文件名称;然后客户机在通过TFTP协议从TFTP服务器下载引导文件并执行,从而启动系统安装程序。

1)、安装DHCP软件包

[[email protected] ~]#yum -y install dhcp*

2)、配置DHCP

1、修改/etc/dhcpd.conf文件,指定IP地址等信息。

2、在/etc/dhcp.conf中增加tftp-server需要推送给客户端的启动文件(bootstrap):filename"pxelinux.0";因为tftp的默认目录是/tftpboot,所以文件的绝对路径就是:/tftpboot/pxelinux.0;当然也可以指定为其它路径。

另外需要指定next-server参数,告诉客户端在获取到pxelinux.0文件之后去哪里获取其余的启动文件:next-server 192.168.2.253;

[[email protected] ~]#vi /etc/dhcpd.conf

ddns-update-style none;

ignore client-updates;

allow booting;

allow bootp;

default-lease-time 21600;

max-lease-time 43200;

option routers 192.168.2.254;

subnet 192.168.2.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.2.200 192.168.2.250;

next-server 192.168.2.253;

filename "/data/sys/kickstart/ks.cfg";

next-server 192.168.2.253;

filename "pxelinux.0";

}

[[email protected] ~]#chkconfig dhcpd on

[[email protected] ~]#ps -ef | grep dhcp

root     20460     1  0 22:31 ?        00:00:00 /usr/sbin/dhcpd

root     20478 18819  0 22:34 pts/3    00:00:00 grep dhcp

六、Kickstart安装配置

通常我们在安装操作系统的过程中,需要大量的和服务器交互操作,为了减少交互过程,Kickstart就诞生了。使用这种Kickstart,只需要事先定义好一个Kickstart自动应答配置文件Ks.cfg(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该中读取安装配置,这样就避免了在安装过程中多次人机交互,从而实现无人值守的自动化安装。

生成Kickstart配置文件的三种方法:

方法1、每安装好一台Linux机器,Linux安装程序都会创建一个Kickstart配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的Kickstart配置文件来生成自己的Kickstart配置文件。

方法2、Linux提供了一个图形化的Kickstart配置工具。在任何一个安装好的Linux系统运行该工具,就可以很容易地创建自己的Kickstart配置文件。Kickstart配置工具命令为redhat-config-kickstart或system-config-kickstart。

方法3、阅读Kickstart配置文件的手册。用任何一个文本编辑器都可以创建自己的Kickstart配置文件。

[[email protected] ~]#mv anaconda-ks.cfg kickstart/ks.cfg

[[email protected] ~]#cd kickstart/

[[email protected] kickstart]# ls

ks.cfg

[[email protected] ~]#vi ks.cfg

# Kickstart file automatically generated by anaconda.

install    表示安装系统而不是升级系统

nfs --server=192.168.2.253 --dir=/data/sys        Nfs的安装方式,--Server为Nfs的IP,--Dir为Nfs的共享路径。也可以使用Http方式,如下:Url --Url=Http://192.168.2.253/sys/centos5.8

key --skip

lang zh_CN.UTF-8或en_US.UTF8    字符集设置

keyboard us    键盘布局

network --device eth0 --bootproto dhcp --hostname localhost.com    网络配置,Eth0为第一块网卡,结尾localhost.com

network --device eth1 --onboot no --bootproto dhcp    也可以同时对第二、三块网卡设置地址。

rootpw    123456    root用户密码,可以使用明文,安装完成变成加密状态。如果使用加密的方式见下

#rootpw --iscrypted $1$Mbhhwc.n$9/X3ksgY6PTg8BP4wyWe71

authconfig --enableshadow --enablemd5    系统认证信息

firewall --disabled    关闭防火墙    enforcing 开启

selinux --disabled     关闭防火墙

timezone Asia/Shanghai    系统系统时间

bootloader --location=mbr --driveorder=sda    系统引导相关配置

firstboot    --disabled    禁止安装后的agent设置

loging    --level=info    设置日志级别

zerombr    清除Mbr引导信息

###############分区####################

#clearpart --all --drives=sda    清除sda上的所有分区。如果sda不存在可能报错,还可以用下面的用法

#clearpart --linux

clearpart --all

#part /boot --fstype ext3 --size=100 --ondisk=sda

#part pv.2 --size=0 --grow --ondisk=sda

#volgroup VolGroup00 --pesize=32768 pv.2

#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow

#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=50240

##################安装包选择##############

%packages

@admin-tools

@base

@chinese-support

@core

@dialup

@editors

@gnome-desktop

@graphical-internet

@graphics

@java

@legacy-software-support

@printing

@sound-and-video

@text-internet

@base-x

kexec-tools

iscsi-initiator-utils

fipscheck

device-mapper-multipath

sgpio

emacs

libsane-hpaio

xorg-x11-utils

xorg-x11-server-Xnest

时间: 2024-08-25 04:18:15

Centos 6.* 下搭建pxe+dhcp+nfs+kickstart的相关文章

pxe+dhcp+apache+kickstart无人值守安装系统centos

pxe+dhcp+apache+kickstart无人值守安装系统 挂载系统盘. mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom 关闭selinux.关闭防火墙 setenforce 0 /etc/init.d/iptables stop 安装apache服务(默认是安装的) yum install apache -y 复制光盘的内容,到网站目录 cp -rf /mnt/cdrom/* /var/www/html/ 安装tftp-server服务 yum

CentOS7 无人值守服务环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)

一,搭建无人值守服务器安装软件(PXE + DHCP+TFTP+ Kickstart+ FTP)IP:192.168.2.10 系统版本:CentOS Linux release 7.4.1708 (Core)  二,配置本地yum源,安装所需软件: [[email protected] yum.repos.d]# mount /dev/cdrom /mnt/mount: /dev/sr0 写保护,将以只读方式挂载[[email protected] yum.repos.d]# vim serv

Linux下搭建PXE服务器安装Linux系统

PXE服务器安装与配置 花了一个星期主要研究这个,查阅了国内外相关的资料,发现这方面的东西还是比较少的,至少还没有完备的一个体系,这次测试过程发布出来 希望能帮助到一些人,有什么不懂得可以提出来,大家一起讨论. 原理: PXE是在没有软驱.硬盘.CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导. DHCP服务器:用来动态分配IP地址(同时分配子网掩码.网关.TFTP服务器地址.启动文件名.DNS服务器.时间服务器等等). TFTP服务器:用来提供启动文件的下载

linux网络安装(PXE + DHCP+TFTP+ Kickstart+ FTP)

需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP 运行原理如下图: 原理和概念:  1.前言        首先,简单谈谈为什么要采用无人值守网络安装linux操作系统.一方面是运维管理的需要,因各种需要,安装操作系统在实验室内时有发生,有时候更出现批量安装某一型号操作系统的情形,这时候如果用光盘挨个安装将变得异常繁琐,并且需要人工值守.此外,因操作系统种类较多(主要是针对linux),内部人员使用频繁,也会带来管理上的问题.另一方面是当前MPX项目开发的需要,为

CentOS 7 下搭建 主辅 DNS 服务器

1.1操作系统的版本信息   # uname -a   Linux localhost.localdomain3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014       x86_64 x86_64 x86_64GNU/Linux   # cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 1.2.BIND包的安装         # yum  -y  inst

CentOS 7下搭建配置SVN服务器

CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录: $ which svnserve /bin/svnserve 检查一下subversion是否安装成功. $ svnserve --versionsvnserve, version 1.7.14 (r1542130)  compiled Nov 20 2015, 19:25:09 Copyrig

Linux系统网络安装——基于pxe+dhcp+nfs+tftp+kickstart

原文发表于:2010-09-05 转载至cu与:2012-07-21 一.原理简介 PXE(preboot execute environment)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载镜像,并由此支持来自网络的操作系统的启动.启动过程中,终端由DHCP服务器分配IP地址,再用TFTP(trivial file transfer protocol)等协议下载存在于服务器(NFS,FTP,HTTP等)的Liunx内核和根文件系统等到本机内存中并执行,由此完成

KVM 搭建PXE+DHCP+DNS+vsftpd+tftp+KICKSTART

总体规划: 搭建一台实验用服务器        系统 centos6.6                     172.16.66.66/24 并配置PXE+DHCP+vsftpd+tftp+KICKSTART,实现pxe启动网络自动话安装系统,自动分配主机名与ip地址. 安装 配置vsftp服务器做yum源 --------------------------------------我是分割线--------------------------------------------------

CentOS 7 下搭建 Discuz

Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统.自2001年6月面世以来,Discuz!已拥有13年以上的应用历史和200多万网站用户案例,是全球成熟度最高.覆盖率最大的论坛软件系统之一. 如何在CentOS下搭建discuz? 1.首先搭建LAMP环境. 依次使用yum命令: #yum install httpd #yum install mysql #yum install mariadb-server #y