郑大linux操作系统,PXE无人值守网络安装RedHat Linux操作系统

近日,因工作学习需要,需要频繁的装RedHat Linux操作系统,每次都是挂载光盘、分区等等操作,感觉到自己在机械的做一件事情,于是我就想,用PXE来个无人值守网络安装多好啊,有了这个想法后就立刻动手把它给实现了,终于解决了痛苦之忧啊。现在就把这个详细配置过程分享给需要的博友们。

配置过程:

一、DHCP服务的配置

首先安装软件:yum -y install dhcp

修改主配置文件

# vim /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

allow booting;  //定义能够PXE启动

allow bootp;   // 定义支持bootp

next-server 192.168.175.133; //tftp 服务器ip地址

filename "pxelinux.0";   //pxe启动文件位置

subnet 192.168.175.0 netmask 255.255.255.0 {

option routers192.168.175.2;//默认网关

option subnet-mask255.255.255.0;//子网掩码

range dynamic-bootp 192.168.175.10 192.168.175.254;    //地址池范围

default-lease-time 21600;

max-lease-time 43200;

}

# chkconfig dhcpd on//开机自动启动

然后重启DHCP服务

#service dhcpd restart

二、tftp服务的配置

必要的软件:yum–y install tftp-server

修改配置文件

vim /etc/xinetd.d/tftp

将disable一项改为no如下:

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

}

# chkconfig xinetd on//开机自动启动

启动tftp服务

#service xinetd start

三、PXE引导配置(bootstrap)

创建tftp目录

#mkdir /tftpboot

cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

将光盘镜像里的相关组件拷到相应的目录里

# cp /dev/cdrom/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /tftpboot/

接下来创建/tftpboot/pxelinux.cfg/ 目录,该目录用于存放客户端的配置文件。

# mkdir /tftpboot/pxelinux.cfg

将光盘中的 '''isolinux/isolinux.cfg''' 文件复制为 '''/tftpboot/pxelinux.cfg/default'''

cp /dev/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

编辑default文件

#vim /tftpboot/pxelinux.cfg/default

# 默认启动的是 'label linux' 中标记的启动内核

default linux

# 显示 'boot: ' 提示符。为 '0' 时则不提示,将会直接启动 'default' 参数中指定的内容。

prompt 1

# 在用户输入之前的超时时间,单位为 1/10 秒。

timeout 60

#显示某个文件的内容,注意文件的路径。默认是在 /tftpboot 目录下。也可以指定位类似 'install/rhel4.4-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' 指定你在 'boot:' 提示符下输入的关键字。

# 比如:

# boot: linux[ENTER]

# 这个会启动 'label linux' 下标记的 kernel 和 initrd.img 文件。

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

# boot: text

# boot: ks

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

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

# 使用 kickstart 安装。

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

label linux

kernel vmlinuz

append ks=nfs:192.168.175.1:/mnt/install/ks.cfg initrd=initrd.img

label text

kernel vmlinuz

append initrd=initrd.img text

label ks

kernel vmlinuz

append ks initrd=initrd.img

… …

四、配置NFS服务

安装介质存储在服务器上的一个目录中,可以使用各种网络协议访问它,这里使用 NFS 服务来提供安装介质,只需要将系统光盘内容拷贝放到共享目录下即可。创建共享目录,并将光盘内容拷贝到共享目录中:

#mkdir /iso/install

然后将光盘镜像上传至/iso/install 下

配置共享

# vim /etc/exports

/iso *(ro,sync)

重启服务使配置生效。

service portmap restart

service nfs start

检查目录/mnt/install是否被正确共享:

shoumount –e

# chkconfig --level 35 nfs on

五、配置Kickstart

通常,我们在安装操作系统的过程需要大量的人机交互过程,减少交互过程,为了提高安装效率Red Hat Linux 开始支持一个称为 kickstart 的功能。使用这种方法,只需事先定义好一个Kickstart自动应答配置文件(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了繁琐的人机交互,实现无人值守的自动化安装。

我们可以通过多种方法生成Kickstart配置文件,无论使用哪种方法无非就是创建一个应答文件,当你安装好一台Red Hat Linux机器,Red Hat Linux 安装程序都会创建一个 kickstart 配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。 该文件位于/root/anaconda-ks.cfg。

这里我贴出我的配置:

#vim /iso/ks.cfg

# Kickstart file automatically generated by anaconda.

text                                        //文本模式安装

nfs --server=192.168.175.133 --dir=/iso/iso  //指定到服务器192.168.175.133的NFS共享目录/iso/iso下寻找安装介质

key --skip     //跳过密钥输入

lang en_US.UTF-8

keyboard us

#xconfig --startxonboot

network --device eth0 --bootproto dhcp   //设置网卡的模式为DHCP

rootpw --iscrypted $1$Ebukjmti$kfUXk5k5V8XnTLXwpMkjT/

firewall --disabled        //设置防火墙状态为不可用

authconfig --enableshadow --enablemd5

selinux --permissive    //SElinux状态为关闭

timezone --utc Asia/Shanghai

bootloader --location=mbr --driveorder=sda --append="rhgb quiet"

# The following is the partition information you requested

# Note that any partitions you deleted are not expressed

# here so unless you clear all partitions first, this is

# not guaranteed to work

zerombr

clearpart --all --initlabel

part /boot --fstype ext3 --size=100

part pv.7 --size=100000

volgroup vol0 pv.7

logvol /home --fstype ext3 --name=home --vgname=vol0 --size=4096

logvol /var --fstype ext3 --name=var --vgname=vol0 --size=20480

logvol / --fstype ext3 --name=root --vgname=vol0 --size=51200

logvol swap --fstype swap --name=swap --vgname=vol0 --size=1024

reboot

%packages

#@admin-tools

@base

@chinese-support

@core

#@development-libs

#@development-tools

@editors

@gnome-desktop

#@graphical-internet

#@java

#@legacy-software-development

#@legacy-software-support

#@printing

#@system-tools

@text-internet

@base-x

createrepo

dstat

xorg-x11-utils

dialog

-Deployment_Guide-zh-CN

-Deployment_Guide-zh-TW

%post

mkdir -v /media/cdrom &> /dev/null

mkdir -v /media/floppy &> /dev/null

sed -i 's/^id:5:initdefault:$/id:3:initdefault:/' /etc/inittab &>/dev/null  //设置默认启动界面为命令行模式

cat >> /root/.bashrc << "EOF"

#设置命令别名,可根据自己的习惯设置

# My specific aliases

alias mntcd='mount /dev/cdrom /media/cdrom'

alias cdr='cd /media/cdrom'

alias cds='cd /usr/src'

alias cdls='cd /usr/local/src'

alias yin='yum install'

EOF

#创建yum配置文件

cat >> /etc/yum.repos.d/media.repo << "EOF"

# repos on instructor for cla***oom use

# Main rhel5 server

[base]

name=Cla***oom Server Repository

baseurl=file:///media/cdrom/Server

gpgcheck=0

# This one is needed for xen packages

[VT]

name=VT Repository

baseurl=file:///media/cdrom/VT

gpgcheck=0

# This one is needed for clustering packages

[Cluster]

name=Cluster Repository

baseurl=file:///media/cdrom/Cluster

gpgcheck=0

# This one is needed for cluster storage (GFS, iSCSI target, etc...) packages

[ClusterStorage]

name=ClusterStorage Repository

baseurl=file:///media/cdrom/ClusterStorage

gpgcheck=0

EOF

#设置开机欢迎信息

echo "Welcome to Red Hat Linux learning cla***oom!" >> /etc/issue

echo -e "Please login as 'root' with password 'redhat'.\n" >> /etc/issue

useradd redhat &> /root/postinstall.log

注意:关闭服务器端防火墙和SELINUX

最后设置客户端BIOS选择从网卡启动。具体方法因BIOS版本不同而异。网卡中的PXE代码会联系DHCP服务器来获取IP地址以及启动镜像,然后启动镜像被载入并运行。

好了 至此PXE无人值守网络安装RedHat Linux操作系统 制作完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值