分享
 
 
 

远程网络安装RedHat Linux系统的方法

王朝system·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

一:Linux安装工作原理

众所周知,在安装过程中Linux首先需要一个引导程序来让安装光盘启动,再实行配置与安装。但目前转化为远程网络安装那么就需要我们的安装程序能够远程地通过网络传送给客户端。因此在搭建远程Linux安装服务器时候首先要值得注意以下几个问题:

1.远程客户端属于裸机。在这里所定义的裸机是除了标准硬件之外没有任何的操作系统与软件程序。当然也可以拥有操作系统或者是软件,之所以告诉大家是裸机是主要说明最简单的一种思维方式。

2.远程客户端必须能够支持网络启动。在这里所说明的问题是远程客户端为了能够发送安装请求必须能够通过网络的方式进行,将安装请求发送给服务器端。因此客户端必须存在网卡,并且网卡上拥有PXE ROM[预引导执行环境]芯片而且BIOS能够支持网络启动。

3. 在远程计算机启动后将会出现初始化设置,此时因客户端没有进入操作系统或处于在裸机状态下,不可能绑定我们所熟悉TCP/IP地址或者其他网络协议地址。 因此他们之间的沟通必须通过IP地址自动分配服务----DHCP来为客户端进行分发IP地址,从而实现Client-Server端之间的链接与沟通。

4. 在远程安装客户端得到IP地址之后,将请求远程安装服务器给客户端一个Linux引导程序以便于引导Linux并在客户端上实现安装界面。但是在 TCP/IP协议栈中如果采用TCP协议进行传送服务,那么将会出现著名的TCP三次握手过程,从而导致远程客户端等待超时而无法完成引导过程。因此就需 要采用UDP协议进行快速传递,确保远程客户端的引导。因此笔者在这里所采用的程序为TFTP[琐碎文件传输协议]服务作为远程传输服务器传送Linux 引导程序的服务器。

5.虽然UDP速度非常快速(这是本身结构有关),但是其仍然属于不可靠协议之一不具备纠错、确保数据到达目的地等保障机制,因此在传输大量文件或者是大文件时候还是需要采用TCP方式,这样将不会出现因UDP协议传输丢包而导致安装无法进行。

在这里有多种方式供大家选择:

1)NFS[网络文件系统]

2)HTTP

3)FTP等

笔者在这里选择采用FTP方式,主要原因在于FTP的方式比较简单。

因此准备建立远程安装服务器至少需要三个服务:DHCP、TFTP、FTP,三个服务可以再三台不同的计算机上,也可以在同一台计算机上进行实现。

原理归纳:

远 程客户端计算机启动,由于BIOS设置了网卡启动,所以网卡PXE ROM中的程序被调入内存执行。首先,客户端在网络中寻找DHCP服务器,然后请求一个IP地址;同时DHCP服务器联系到TFTP服务器为此客户端发送 一个bootstrap(引导程序)。客户端收到bootstrap(文件pxelinux.0)后执行,bootstrap会请求TFTP传送 bootstrap的配置文件(pxelinux.cfg)。收到后读配置文件。根据配置文件内容和客户情况,客户端请求TFTP传送内核映象文件 (vmlinuz)和根文件系统文件(initrd.img)。最后启动内核。这就是一个完整的pxe构建过程。然而要使网卡启动后再继续网络安装系统, 则最后还需要FTP服务将系统所需安装文件放置FTP相应目录中进行传输安装。

二:Linux安装实现步骤

这里实现中所使用的平台为RHEL4,您可以在FC系列、RH9、CenOS中都可以实现。

1、配置DHCP服务器

配置DHCP服务器主要用途是为了能够给客户端分配IP地址,从而让客户端与TFTP及FTP进行联系

1.1 DHCP的配置文件

DHCP的配置文件的位置在/etc目录下配置文件的名称为dhcpd.conf。如果您的系统中不存在dhcpd.conf同时您又确认您确实安装了DHCP程序,那么您可以手动建立dhcpd.conf文件。

1.2 配置文件的内容:

option space PXE; #DHCP对PXE的TFTP(琐碎文件传输协议)应答选项

option PXE.mtftp-ip code 1 = ip-address;

option PXE.mtftp-cport code 2 = unsigned integer 16;

option PXE.mtftp-sport code 3 = unsigned integer 16;

option PXE.mtftp-tmout code 4 = unsigned integer 8;

option PXE.mtftp-delay code 5 = unsigned integer 8;

option PXE.discovery-control code 6 = unsigned integer 8;

option PXE.discovery-mcast-addr code 7 = ip-address;

class "pxeclients" {

match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";

option vendor-class-identifier "PXEClient";

vendor-option-space PXE;

option PXE.mtftp-ip 0.0.0.0;

filename "pxelinux.0"; #指定客户端所需要的的bootstrap(引导器)文件名

next-server 172.16.168.2; #指定TFTP服务器的IP地址

}

ddns-update-style interim;

ignore client-updates;

default-lease-time 1200;

max-lease-time 9200;

option subnet-mask 255.255.255.0;

option broadcast-address 172.16.1680.255;

option routers 172.16.168.254;

option domain-name-servers 172.16.168.254;

subnet 192.168.0.0 netmask 255.255.255.0 {

range 172.16.168.100 172.16.168.150;

}

上述所指明的pxelinux.0为网络远程安装引导程序bootstrap.其位置在/usr/lib/syslinux目录中。

1.3 启动DHCP服务

#service dhcpd restart

2、配置TFTP服务器

配置TFTP服务器主要用途是为了能够给客户端传送bootstrap程序[即pxelinux.0],这样才能够让客户端进行引导加载内核映象文件(vmlinuz)和根文件系统文件(initrd.img)以及启动内核(Kernel)

2.1 TFTP的配置文件

TFTP的配置文件的位置在/etc/xinetd.d目录下配置文件的名称为tftp。

配置内容如下:

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -u nobody -s /tftpboot #指定TFTP的根目录所在位置,允许任何用户可以进行访问

disable = no

per_source = 11

cps = 100 2

flags = IPv4

}

在这里主要修改的字段是 disable ,将yes改为no。以打开TFTP服务

2.2 启动TFTP服务

#service xinetd restart

3、配置FTP服务器

配置FTP服务器主要用途是为了能够给客户端传送Linux的配置环境与安装程序。在RHEL4中笔者采用的是VSFTP,为了简单些、更简单些,笔者并没有对vsftp进行任何配置只是启动了vsftp的守护进程#service vsftpd restart

启动后利用匿名账户进行测试,如果测试成功您就可以将RHEL4的5张光盘中的所有安装文件全部拷贝到匿名用户的文件夹/var/ftp/目录下

4、配置bootstrap目录

要配置TFTP所要传输的bootstrap,首先要准备好引导文件、内核镜像文件、跟文件系统文件。

4.1 bootstrap文件:pxelinux.0

文件位置在/usr/lib/syslinux目录中。将其拷贝到/tftpboot目录中

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

4.2.内核镜像文件:vmlinuz

vmlinuz文件在RHEL4第一张光盘下的/images/pxeboot目录中,将vmlinuz拷贝到/tftpboot目录中[假定光盘加载到/mnt/cdrom]

#cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot

4.3.根文件系统文件:initrd.img

initrd.img文件在RHEL4第一张光盘下的/images/pxeboot目录中,将initrd.img拷贝到/tftpboot目录中[假定光盘加载到/mnt/cdrom]

#cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot

5、创建pxelinux.cfg目录与default文件

pxelinux.cfg为远程安装客户端配置文件所在目录,您可以为不同的计算机制定不同的安装方式或者方法。但是基本上我们都可以用default配置文件来进行为所有的计算机进行配置。

#cd /tftpboot

#mkdir pxelinux.0

#vi default

default内容如下:

DEFAULT install

PROMPT 1

LABEL install

KERNEL vmlinuz

#指定kernel文件

APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384

##启动参数包括启动内核时所需要mount的挂载点和ramdisk大小。一般16384都可以满足了。

6、最后检查一下/tftpboot目录中是否存在如下文件:

1)pxelinux.0 #bootstrap文件

2)vmlinuz #内核镜像文件

3)initrd.img #根文件系统文件

4)pxelinux.cfg #为远程客户端使用的配置文件目录

5)default #为远程客户端使用的配置文件

如果全部存在。那么现在可以启动dhcp,tftp,ftp三项服务,找个机器测试一下吧!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有