linux 无人值守的安装.docx

上传人:b****4 文档编号:4048853 上传时间:2023-05-06 格式:DOCX 页数:9 大小:103.24KB
下载 相关 举报
linux 无人值守的安装.docx_第1页
第1页 / 共9页
linux 无人值守的安装.docx_第2页
第2页 / 共9页
linux 无人值守的安装.docx_第3页
第3页 / 共9页
linux 无人值守的安装.docx_第4页
第4页 / 共9页
linux 无人值守的安装.docx_第5页
第5页 / 共9页
linux 无人值守的安装.docx_第6页
第6页 / 共9页
linux 无人值守的安装.docx_第7页
第7页 / 共9页
linux 无人值守的安装.docx_第8页
第8页 / 共9页
linux 无人值守的安装.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

linux 无人值守的安装.docx

《linux 无人值守的安装.docx》由会员分享,可在线阅读,更多相关《linux 无人值守的安装.docx(9页珍藏版)》请在冰点文库上搜索。

linux 无人值守的安装.docx

linux无人值守的安装

级RHEL5之KICKSTART批量网络无人职守安装{详解篇}一

 

   花了一段时间研究linux下的网络批量无人值守安装linux操作系统。

也就是传说中kickstart服务。

现在我把自己的心得和大家分享下,无人值守安装这个词语队大家来说并不陌生,但是估计大家有一定的误解,所谓的GHOS克隆,基于物理层的网络克隆,这些都不算无人职守安装,顶多算无人职守拷贝。

如果大家还要问我什么是kickstart或者为什么要使kickstart

的话,我建议你去google,因为我不想用大量的篇幅来写这些文字介绍。

进入正题

所有系统的网络安装和无人职守安装都是基于PXE的,当然linux下的无人职守安装也是基于PXE(PrebootExecutionEnvironment,远程引导技术)技术。

同于依耐大量linux服务,最主要的服务包括,kickstart(通过预先设置的脚本,按要求安装系统),dhcpd(很重要,负责pxe启动,还有定义tftp服务器地址kickstart文件位置),nfs、yum、vsftp(为安装提供安装介质),tftp(pxe启动文件传输的通道),dns(如果需要给新安装的机器设置主机名就需要)。

由于PXE技术比较深奥,所以我们今

天不做探讨,只做应用。

 

下面我介绍下kickstart的工作架构。

首先,完成这个服务需要3个角色

1、启动服务器:

给clinet提供启动的相关参数和连接安装服务器使用的IP地址。

2、安装服务器:

提供安装所需的配置文件和安装文件。

3、客户端:

需要无人职守安装的机器(网卡要支持PXE,也就是可以从网卡启动,现在的电脑基本都支

持,只要你的爱机不是古董)

 

下面是工作流程

本来想画个示意图给大家看的,由于美工太差,画出来我自己都看不懂了。

所以我就讲述下吧

1、pxe启动,就去广告寻找dhcp服务器获取ip地址hebootstrap文件,成功以后进入第二步(DHCP提供IP地址,还有bootstrap配置文件的位置)

2、client通过tftp连接到服务器,下载bootstrap文件。

(linux里的bootstrap文件就是pxelinux.0,

系统内有,大家可以使用#locatepxelinux.0查找它存放的位置)

3、client下载成功pxelinux.0文件后,系统还会下载控制pxelinux.0的配置文件,叫default。

然后

client就会按照default的配置

来执行pxelinux.0文件。

4、现在client端会在获取一次IP地址。

并且根据DHCP服务器配置文件找到kickstart配置文件并下载。

也是使用的tftp协议。

5、pxelinux.0文件定义的想服务器请求linux内核,根文件系统之类的参数。

运行这个文件,client就会向服务器请求相关的文件并

下载,都里使用的都是tftp协议。

6、文件下载文成后,client就会启动linux内核,这就进入了我们安装时候看见的第一个图形界面,这

个界面和自己安装看见的第一个画面一样,回车就是图形安装,输入text就是文本安装那里。

如果使用

了kickstart,这个界面消失很快,可能看不见。

到这里PXE启动就完成了。

7、下面就该主角kickstart出场了。

其实kickstart在第四步已经出现了,当按照default要求运行

pxelinux.0文件,系统读取内核,挂在根文件系统以后,的任务就都交给了kickstart了。

包括安装介质

来源、语言、时区、分区、安装哪些包等,都是在kickstart文件中定义。

只要进入这一步,kickstart配置文件正确,我们的无人值守安装已经成功了。

 

原理介绍就算完成,下面我们来实战,使用kickstart服务安装系统

 

一、环境搭建

1、一台server担任启动服务器和安装服务器

2、一台client,需要能从网卡启动

3、两台机器在同一局域网

4、服务器要有安装所需的所有包

5、我们用192.168.0.0/24网段来试验,我的服务器IP是:

192.168.0.2/24

6、服务器系统RHEL5.1,client系统RHEL5.1

 

二、具体实施,server端配置

1、安装自己的yum服务器(必须要做)。

不会的请参考我的blog:

 yum服务器架设。

2、使用自己的yum服务器安装dhcp服务

#yuminstall"dhcp*"

安装成功以后就修改配置文件DHCP的配置文件如下,我给大家解释下重点

=======================================

#配置文件内代表注释

#定义所支持的DNS动态更新类型(必选)

ddns-update-stylenone;

#定义作用域(或IP子网)

subnet192.168.0.0netmask255.255.255.0{

 

########################################

#在用#表示的条线之间的意思是:

定义一些值,,指定何时使用他们。

#例如,假定要管理两种客户端类,使用选项空间定义在前面的例子中,现在能够依据不同的virtual值

向客户端发送不同的选项值,

#如下:

当client端的mac前三个满足00:

16:

3e那么,client就会获取到

192.168.0.61-192.168.0.80,否则就会获取192.168.0.1#-192.168.0.20

class"virtual"{

 matchifsubstring(hardware,1,3)=00:

16:

3e;

}

 optionrouters192.168.0.2;         #router的ip地址

 optionsubnet-mask255.255.255.0;   #subnet-mask地址  

 optiondomain-name"";     #域名根据你自己的情况定

 optiondomain-name-servers192.168.0.2;  #域名服务器也就是DNS服务器地址

 default-lease-time21600;   

 max-lease-time43200;

 #AssignIPs61-80toXendomUs

       pool{

        allowmembersof"virtual";

        range192.168.0.61192.168.0.80;

 }

 #AssignIPs1-20forclassroomsystemsunless

 #staticIPsareassignedbelow

 pool{

  denymembersof"virtual";

  range 192.168.0.1192.168.0.20;

 }

#################################################################

 filename"/kickstart/ks.cfg";  #指定kickstart配置文件的位置

 next-server192.168.0.2;       #指定下以个服务器,也就是tftp服务器。

   

# host定义某个mac得到某个IP,一般没有启用

#

# hoststation1{

#  hardwareethernet00:

a0:

cc:

3c:

80:

c5;

#  fixed-address192.168.0.1;

# }

# hoststation2{

#  hardwareethernet00:

A0:

CC:

39:

AF:

B0;

#  fixed-address192.168.0.2;

# }

}

#下面就是PXE的参数了,很重要

optionspacePXE;

class"PXE"{

 matchifsubstring(optionvendor-class-identifier,0,9)="PXEClient";

  optionvendor-encapsulated-options01:

04:

00:

00:

00:

00:

ff;

   optionboot-size0x1;

   filename"pxelinux.0";

   optiontftp-server-name"192.168.0.2";#这个IP地址一定要修改成你的

TFTP的IP地址

   optionvendor-class-identifier"PXEClient";

   vendor-option-spacePXE;

}

#我会给出以份DHCP配置文件,你只要修改我红色标记出来的地方符合你自己的环境。

 

==================================

3、安装tftp服务

#yuminstall"tftp*"

安装后会生成/tftpboot这个目录现在我们往这个目录加入启动需要的一些文件

拷贝pxeboot目录下的所有文件到tftpboot目录主要有这四个文件:

initrd.img,README,TRANS.TBL,vmlinuz。

#cp /var/ftp/pub/images/pxeboot/*  /tftpboot/

删除TRANS.TBL,这个文件没用

#rm-f/tftpboot/TRANS.TBL

查找pxelinux.0这个文件拷贝到tftpboot目录

#updatedb

#locatepxelinux.0

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

在tftpboot目录内创建pxelinux.cfg目录。

然后把default文件放进去

#mkdirpxelinux.cfg

default文件的内容

defaultlinux

labellinux

 kernelvmlinuz

 appendksdevice=eth0load_ramdisk=1initrd=initrd.imgnetworkksnoipv6

不建议你修改此文件,这样TFTP,的相关设置就完成了

 

4、制造kickstart文件,我知道有三种方法

   

    方法1、每当你安装好一台RedHatLinux机器,RedHatLinux安装程序都会创建一个

kickstart配置文件,记录你的真实安装配置。

如果你希望实现和某系统类似的安装,可以基于该系统

的kickstart配置文件来生成你自己的kickstart配置文件。

(生成的文件名字叫anaconda-ks.cfg放在

root的家目录里)

    

   方法2、RedHatLinux提供了一个图形化的kickstart配置工具。

在任何一个安装好的RedHat

Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。

kickstart配置工具命令为

redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4,RHEL5)

    

  方法3、阅读kickstart配置文件的手册。

用任何一个文本编辑器都可以创建你自己的kickstart配置

文件。

现在我们使用方法2来创建以个kickstart文件

#yuminstall"*kickstart*" 安装工具,如果已经安装就不用了

#system-config-kickstart

   进入就是一个图形界面,大家按照自己的要求在程序里面选择,注意分区那页。

你最好先把所有分

区删除,然后自己规划分区,规划的分区要比硬盘小哦。

还有installationMethod要选择nfs,在下面

填写NFSServer和NFSDirectory。

还有防火墙一定要先关闭。

最后就是选择安装包的时候一般都不能选择是灰色的。

剩下的就需要我们自己DIY了。

    完成选择后,就选择左上角的File图标,然后点击savefile。

这样你的配置文件就会保存到当前目录。

然后我们对这个文件DIY,DIY两个地方,一、由于KICKSTART工具没有提到序列号的问题,所以我们要定义下。

在配置文件开始加入key--skip这个参数,独占一行。

二、添加需要安装的包,这个时候我们就要用到刚才说的/root/anaconda-ks.cfg文件了。

打开这个文件,复制%packages行到

libsane-hpaio行之间的包到我们自己的kickstart文件的最后,复制的内容包括%packages和libsane-hpaio这两行。

    然后创建/kickstart目录,把这我们的kickstart文件放进去

#mkdir /kickstart

#cp ks.cfg /kickstart/

我会把我的system-config-kickstart放在一目录内上传给大家。

 

5、用NFS共享kickstart文件和安装介质

#vim /etc/export

加入这样两行

/kickstart   192.168.0.0/24(ro)

/var/ftp/pub/   192.168.0.0/24(ro)

 

6安装DNS服务器,为了让新安装的服务器可以有你期望的主机名。

最好在正向解析里面使用$GENERATE变量,可以批量做解析,减少工作量。

不会的请具体参见我的BLOG

 

7、从新启动服务器

#chkconfigdhcpd.

#servicedhcpdrestart

 

#chkconfigtftp .

#servicexinetdrestart

 

#chkconfignamed.

#servicenamedrestart

 

#serviceportmaprestart

#servicenfs    restart

 

#servicenetworkrestart

 

都完成以后,您的kickstart服务器就可以使用了。

clinet配置就简单了,只需要在bios里面把启动方式设置成网卡。

这样就OK。

当然也已用虚拟机来代替

然后您就可以端把椅子坐到一边去喝茶,过20分钟基本就安装好,如果同时安装的量大,速度会变慢

,应为服务器的硬盘转速只有那么快,这是批量安装的瓶颈。

ok,你赶快试试你的kickstart服务器吧。

 

kickstart服务器故障排除

1、关闭防火墙,系统自带的和IPTABLES都要关闭

2、从网卡启动,获取不到IP地址检查你的DHCP服务器是否开机,使用#netstat -tulnp|grepdhcpd,来查看是否在监听67号端口

3、获取IP后,在TFTP那步卡住了。

检查你的DHCP配置文件,next-server是不是指的正确的tftp服务器。

TFTP服务器是否开启,是否运

行正常。

可以在linux里面使用这个方法来测试

#tftp您的服务器IP  登陆进入后

tftp>getpxelinux.0 

tftp>quit

查看当前目录是否有pxelinux.0这个文件,有的话,证明你的tftp服务器是正常的最后检查你的网络中是不是还有其他dhcp服务器

 

3、内核成功加载后,系统有完成自动安装,需要人工介入,那就证明你的kickstart脚本文件出问题了,需要重新生成以个,或者使用我给的,在里面修改下NFS的服务器的地址就可以用了。

 

4、监控服务器的/var/log/message文件,寻找故障原因。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2