欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于PXE无人值守安装Linux系统的设_计与实现毕业论文(28页).doc

    • 资源ID:37155993       资源大小:342.50KB        全文页数:28页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于PXE无人值守安装Linux系统的设_计与实现毕业论文(28页).doc

    -基于PXE无人值守安装Linux系统的设_计与实现毕业论文-第 21 页本科毕业论文基于PXE无人值守安装Linux系统的设计与实现学 院: 计算机与信息工程学院专 业: 计算机科学与技术学 号: 111013479姓 名: 文鹏宇指导教师: 张杰职 称: 副教授论文提交日期:二0一五年六月摘 要PXE,就是预启动执行环境,是一种引导启动的方式。这种协议一般有两部分,一个是服务器一个是客户端。通俗的说,我们通过这种方法可以自己创建一个安装源,装系统的时候只要找到这个源我们就可以安装了。在实现无人值守安装之前,一些服务是需要搭建起来的,如nfs,tftp,dhcp等。当一台计算机启动的时候,标准输入输出会将PXE 客户端调入我们的内存去进行相关操作,并提示出相关选项,在这我们可以进行勾选,PXE的客户端通过网络download启动文件到本地运行。其实并不是所有电脑都支持PXE,过去的电脑网卡都不支持PXE的,不过现在绝大多数电脑都支持了。具体过程是PXE客户端通过网卡向局域网内发送IP请求,然后DHCP服务器会给其提供IP地址和系统安装所需的东西,接下来用接到的文件进行系统安装。这个步奏可能会用到若干台服务器来分享所需文件等。最终实验会达到效果会是:任意一台主机在选择网络启动时会获取DHCP服务器分发的ip,并通过tftp来获取启动文件安装,并按照我们的个性化设计进行装机,之后将不用进行任何操作,以实现PXE的无人值守安装。这种装系统的方法可以不受光驱,光盘及一些外设的限制,还可以做到无人值守安装,这样可以节约大量人力物力,特别是大规模的统一的系统安装,如网吧,学校电脑机房等,这是最好的安装方法。关键词: PXE 协议 系统安装 Abstract PXE, the pre-boot execution environment is a way to start the boot. Such agreements generally have two parts, one is a client the another is server. It can discribe like that, in this way we can create an installation source by ourself, we can install the system onece we find the source . Before you implement unattended installation, some services should be build up, such as nfs, tftp, dhcp, etc. When a computer is started, the Bios will take PXE client transferred to our memory related operations, and prompt the relevant options, in which we canselect, PXE clients via network boot file to download running locally. In fact, not all computers can support PXE, old computer network cards do not support PXE, but now majority of computers are now supported. The specific process is PXE client sends a request to the LAN via IP network card, then DHCP server will provide IP address and system installation stuff, subsequently received the file system installation. This step-outs may use several servers to share the required documents. Final test will achieve the desired effect would be: any host boot with network will get DHCP server·ip, and to get through tftp startup file to install and follow our personalized design installed, then will not have to perform any operation to achieve unattended PXE installation. This method of installation of the system do not realy on drive, CD-ROM, and limit the number of peripherals.With an unattended installation, so you can save a lot of manpower and resources, especially large-scale installation of the unified system, such as Internet cafes, school computer room, etc.It is the best method of installation.Key words : Preboot execution environment Protocol System installation 目 录1 引言11.1 什么是PXE11.2 配置过程21.3 实现过程及简单流程31.4虚拟机环境的配置32 KICKSTART无人值守安装42.1 Kickstart简介42.2 设置本地镜像为yum源52.3相关服务的简介与安装配置82.3.1 DHCP服务的安装与配置82.3.2 TFTP服务的安装与配置122.3.3 NFS服务的安装与配置153 全自动无人安装测试223.1 测试223.2 运到的问题及解决方法28总 结29致 谢30参 考 文 献311 引言本次设计全都是在linux环境下完成的,之前都没有怎么接触过linux,所以对我来说这是一种新的系统。在接触过一段时间后,我发现linux在很多地方都很优秀,安全性自然不用说,各大企业都选择linux系统作为服务器的操作系统最大的原因就是安全,因为他的代码是开源的,发现问题大家一起来解决打补丁,去除已知Bug,而且用户相对来说较少,再者,Linux的普通用户是没有那么多权限的,所以相对安全。其最大的优点就是占用系统资源少,早期64M的内存就可以跑的比较流畅了,并且基于其特殊的文件结构,linux很少产生文件碎片,这都是linux的优点。目前市场上绝大多数服务器用的都是linux系统,但是linux的图形界面还是比不上Windows的,不过最近几年linux的图形也越来越成熟了。学习过相关linux知识后,我知道linux下一般都会搭很多的服务,这次我的设计也是一种服务,这是一种利用PXE技术来进行网络安装系统的方法,接下来我们就来揭开她的面纱。1.1 什么是PXEPXE,就是预启动执行环境,是一种引导启动的方式。这种协议一般有两部分,一个是服务器一个是客户端。通俗的说,我们通过这种方法可以自己创建一个安装源,装系统的时候只要找到这个源我们就可以安装了。在实现无人值守安装之前,一些服务是需要搭建起来的,如nfs,tftp,dhcp等。当一台计算机启动的时候,标准输入输出会将PXE 客户端调入我们的内存去进行相关操作,并提示出相关选项,在这我们可以进行勾选,PXE的客户端通过网络download启动文件到本地运行。其实并不是所有电脑都支持PXE,过去的电脑网卡都不支持PXE的,不过现在绝大多数电脑都支持了。具体过程是PXE客户端通过网卡向局域网内发送IP请求,然后DHCP服务器会给其提供IP地址和系统安装所需的东西,接下来用接到的文件进行系统安装。这个步奏可能会用到若干台服务器来分享所需文件等。最终实验会达到效果会是:任意一台主机在选择网络启动时会获取DHCP服务器分发的ip,并通过tftp来获取启动文件安装,并按照我们的个性化设计进行装机,之后将不用进行任何操作,以实现PXE的无人值守安装。1.2 配置过程 其实配置过程并不像下面说的那么简单,中间会有好多的细节需要处理,这些细节都没有写在上面,在这里我就简单说一说,由于虚拟机服务器我们选的是2G的内存,所以一般我们的swap分区要给到4个G(1到2倍),在做实验之前我们的网络(我们服务器用的都是静态IP,要关闭dhcp,onboot开机启动也要打开)都要设置好,像防火墙啊,NetworkManager(我们老师说最好关掉)啊,系统里其他的yum库这些东西都是要关掉的,以免影响我们的实验。实验环境下最好就只有你的dhcp服务器,这也是我选择hostonly的原因之一,还有我们各种服务的文件都应该留有备份,这是个好的习惯。只要细心一般都不会出错的,如果出错了将会很难查到,我们要避免一切不必要的操作,争取可以一步就做出来。设计实施的大体步骤1、虚拟机环境的配置2、设置本地镜像为YUM源, yum安装相应程序3、设置nfs共享4、拷贝无人职守安装系统所需文件5、配置tftp服务6、配置dhcp服务7、配置default文件和生成ks.cfg文件1.3 实现过程及简单流程开始装机,进行无人值守安装 图 1.3.1 简单流程图1.4虚拟机环境的配置虚拟机的话最好给上2个G的内存,作为服务器开销还是比较大的,实验环境:VMware Workstation 9.0系统平台:Red Hat Enterprise 6.4 (最小化安装)网络模式:Hostonly模式(仅主机模式)DHCP / TFTP IP:192.168.33.128HTTP / FTP / NFS IP:192.168.33.128防火墙已关闭/iptables: Firewall is not running.SELINUX=disabled 关掉最好在这里介绍下Hostonly网络连接方式:Hostonly,仅主机连接方式相当于在虚拟机内的各个系统都在同一个局域网内,但是不能连接外面的网,不过由于虚拟机网卡的原因,真机是可以连进来的。之所以选择这种方法,最重要的因素是这种方法不受外界干扰,可以避免出现其他的问题。2 KICKSTART无人值守安装2.1 Kickstart简介前面说到PXE只是一种引导方式,那最终我们是靠什么实现无人值守安装的呢?先了解下KickStart吧,我查过资料cobbler和KickStart是两种无人值守安装的方法。这次我们用的是kickstart,我们可以通过一个ks.cfg的文件来编写我们的个性化系统安装需求,就是我们怎样安装用一个文件记录下来。因为在安装的时候,安装程序第一去找的及时ks.cfg文件,读取到相关参数后,就会使用它,若未能找到对应参数时,这时候就是我们采用交互式的方法来安装了。可以想象如果Ks.cfg文件包含所有在安装时需要用到的参数,那么装机者这个时候只需要告诉安装从哪里去获得kickstart文件,然后安装程序自己下载文件并按照文件上的进行操作。一旦安装结束,安装程序会根据设置重启系统。那么这次安装也就结束了,这也就是我所说的无人值守安装了,其实挺好理解的,最关键的就是kickstart文件,那么有了这个文件,我们改怎么去获取呢?我们接着往下做。2.2 设置本地镜像为yum源一般我们都知道在/dev/cdrom或者(misc/cd)文件夹下可以看到所挂载的镜像。我们要做的就是把镜像文件作为我们的yum源。Yum比起RPM装包的好处就是可以自己处理依赖关系,也就是自己安装相关的依赖包,用起来也是很方便,但是删包的时候也会删除依赖包,这里要非常小心。1.在目录/etc/yum.repos.d/下建立我们的yum库 2.文件名必须以.repo结尾 内容: repo-name (没要求) name=description (没要求,可按喜好填写) baseurl=url:/yum (我们软件源的路径,yum) enable=1 (是否开启yum源) gpgcheck=0 (是否进行签名检查)默认设置/etc/yum.confYum的相关命令与操作清理库缓存的cache:yum clean all查询:yum list all yum grouplist yum info yum groupinfo yum search yum provides安装:yum install package|rpmfile|packagegroup yum localinstall rpmfile yum groupinstall卸载:yum remove升级:yum update package|rpmfile|packagegroup 创建一个自定义的库1.创建一个目录,把所有RPM包都拷贝到这个目录中2.如果这个yum库要对外提供服务,能够考虑http ftp访问3.安装createrepo RPM包4.createrepo -v /packagedir 创建/重建 库数据的子目录以下是我在命令行的操作: rootnode1 桌面# vim /etc/yum.repos.d/cdrom.repocdromname=cdrombaseurl=file:/misc/cdenanled=1gpgcheck=0rootnode1 桌面# vim /etc/fstab (查看挂载文件的目录)# /etc/fstab# Created by anaconda on Mon Apr 13 21:38:51 2015# Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info/dev/mapper/vg_node1-LogVol01 / ext4 defaults 1 1UUID=1d0f573f-85e5-44b3-9dd5-eff791a24aa8 /boot ext4 defaults 1 2tmpfs /dev/shm tmpfs defaults 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0/dev/cdrom /yum iso9660 defaults 0 0rootnode1 桌面# mkdir /yum (创建用于挂载的目录)rootnode1 桌面# mount a (刷新挂载信息)rootnode1 桌面# mount (查看挂载情况)/dev/mapper/vg_node1-LogVol01 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")/dev/sr0 on /yum type iso9660 (ro) #这条就是我们做的挂载条目rootnode1 桌面# yum repolist (查看有哪些库可以用)Loaded plugins: product-id, refresh-packagekit, security, subscription-managerThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.repo id repo name statuscdrom cdrom 3,648repolist: 3,648看到repolist(识别出来的可以安装的软件包)我们的yum源就算是建好了,但是我们经常在建好库后却用不了库,原因可能也是各种各样的,这时候试试 yum clean all清除缓存,有时候可以解决类似问题,在这个问题上老师就指导过我。2.3相关服务的简介与安装配置2.3.1 DHCP服务的安装与配置 DHCP ,就是我们经常说的动态主机设置协议,主要是为客户端分发IP的,并且是自动分发IP的。一般情况下每台机子都有一个默认的dhcp服务器(有记忆功能,只要接收一次某dhcp服务器的IP地址,下一次会优先向此dhcp服务器发送请求)。我们选择这种方式的话,那么我们每次接受到的IP地址都会不同,即动态IP。这样的一个地址是dhcp服务器暂时给客户端的,在关机后则会返回这个IP地址,这个时候如果有其他用户请求的话,服务器可能就会把这个IP给其他客户端了。并且在dhcp服务器上还可以设置子网掩码,网段等其他信息。 dhcp服务符合tcp/ip协议,也就是每一台连接上网络的电脑都会有一个独一无二的IP地址,虽然有时候我们会给自己设置固定的IP(做实验的时候),因为这样做实验会方便一些,或者说便于管理,但真正的生产环境一般采用的都是dhcp方式,因为它降低了我们的配置难度,不但灵活并且可以减少工作量。 下面我来介绍下dhcp服务器是怎么样工作的:1.客户端接入网络,向局域网(dhcp服务器所在的网络)发送请求IP的指令,找寻dhcp服务器。如果是第一次接入网络,那么客户端上本来是没有ip资料的,那么它不知道它所在的网络在哪里,它会向网路个源地址为0.0.0.0,目的地址为255.255.255.255的dhcpdiscover的封包。所处网络中所有安装了tcp/ip协议的机子都会接受到这种广播信息,但能做出响应的只有dhcp服务器。一般一秒后就会回应,如果连续次都没有接到广播信息的话,客户端就会显示dhcpdiscover失败。.dhcp服务器接收到了请求ip的广播信息的话,它会从它的ip池里面找空闲的ip,再将一个dhcpoffer的封包发给客户端。dhcpoffer封包会根据dhcpdiscover封包里的地址等资料传送给客户端。结合我们服务器的设定,租约信息就在dhcpoffer里面。.客户端接收到dhcpoffer信息(局域网内有时会有多个dhcp服务器,一般以最快到达的那个为准),就会发送一个dhcprequest的封包,这样dhcp服务器就知道是否接收到它的ip地址了。这样其他dhcp服务器就被拒绝了。有时候dhcpoffer给的ip地址已被占用,那么客户端将会再次发送DHCPdiscover信息。.dhcp服务器确认客户端接受了ip地址,它便向DHCP客户机发送一个包含它所提供的IP地址和DHCPack确认信息,告知客户端ip请求成功。客户端就把tcp/ip协议与自己的网卡绑定下来,其它dhcp服务器发的地址都会被收回去。.当客户端再次接入网络的时候,就不会发dhcpdiscover包了,它会发之前发过的dhcprequest包(包含之前请求的信息),这时接到包的服务器会优先分配原先的地址,并回复一个信息。如果ip已被占用,这回复dhcpnack(告诉客户端ip有人用了),那么客户端就要重新发dhcpdiscover包了。.一般的一个ip地址都会有一个期限,时间到了的话服务器就会回收地址,若要延期就得更新ip租约。一般情况下在租约过半时,客户端就会发送更新租约的信息,若得不到确认信息的话,到了四分之三的租约时间客户端就不能再使用这个ip了。.解除ip租约是随时都可以的,这时候客户端就会发送一个dhcplerease的命令。(不知道这和我们可以随时改ip有不有关系,我们临时改ip是不是也发这么一个包)。接下来是安装和配置过程:粗体部分是我们需要编辑配置的rootnode1 桌面# yum -y install dhcp (配好库是前提)rootnode1 桌面# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf在我们安装完包以后,一般都会有一个配置文件的范例,为了方便节约时间,我们会选择复制这个文件,再对文件进行编辑配置,# dhcpd.conf# Sample configuration file for ISC dhcpd# option definitions common to all supported networks.option domain-name ""option domain-name-servers node1.baiya.org, node2.baiya.org;default-lease-time 600;max-lease-time 7200;这是对服务器域名的配置,在本实验中并没有用,我们可以略过这部分# This is a very basic subnet declaration.基本的子网声明subnet 192.168.33.0 netmask 255.255.255.0 这是服务器所处的网段,以及它的子网掩码 range 192.168.33.10 192.168.33.20;我们服务器可以提供的地址范围 option routers 192.168.33.128;(路由的选择) filename "pxelinux.0"#这是我们启动要用到的文件,增加 tftp-server 需要推送给客户端的启动文件(bootstrap)因为 tftp 的默认目录是 /tftpboot,所以文件的绝对路径就是: /tftpboot/pxelinux.0" next-server 192.168.33.128;#告诉客户端在获取到 pxelinux.0 文件之后去哪里获取其余的启动文件# This declaration allows BOOTP clients to get dynamic addresses,# which we don't really recommend.#subnet 10.254.239.32 netmask 255.255.255.224 # range dynamic-bootp 10.254.239.40 10.254.239.60;# option broadcast-address 10.254.239.31;# option routers rtr-239-32-1.example.org;#有好几个范本供我们选择,不用的我们可以删掉,也可以打上注释# A slightly different configuration for an internal subnet.#subnet 10.5.5.0 netmask 255.255.255.224 # range 10.5.5.26 10.5.5.30;# option domain-name-servers ns1.internal.example.org;# option domain-name "internal.example.org"# option routers 10.5.5.1;# option broadcast-address 10.5.5.31;# default-lease-time 600;# max-lease-time 7200;# Hosts which require special configuration options can be listed in# host statements. If no address is specified, the address will be# allocated dynamically (if possible), but the host-specific information# will still come from the host declaration.host passacaglia hardware ethernet 0:0:c0:5d:bd:95; filename "vmunix.passacaglia" server-name ""# Fixed IP addresses can also be specified for hosts. These addresses# should not also be listed as being available for dynamic assignment.# Hosts for which fixed IP addresses have been specified can boot using# be booted with DHCP, unless there is an address range on the subnet# set.host fantasia hardware ethernet 08:00:07:26:c0:a5; fixed-address ;# You can declare a class of clients and then do address allocation# in a certain class get addresses on the 10.17.224/24 subnet, and all# other clients get addresses on the 10.0.29/24 subnet.class "foo" match if substring (option vendor-class-identifier, 0, 4) = "SUNW"shared-network 224-29 subnet 10.17.224.0 netmask 255.255.255.0 option routers rtr-224.example.org; subnet 10.0.29.0 netmask 255.255.255.0 option routers rtr-29.example.org; pool allow members of "foo" range 10.17.224.10 10.17.224.250; pool deny members of "foo" range 10.0.29.10 10.0.29.230;后面的这一部分跟本次设计关系不大,其实并没有用到,目前我也看不大懂。开机自启动rootnode1 # service dhcpd startStarting dhcpd: OK rootnode1 # chkconfig dhcpd on 2.3.2 TFTP服务的安装与配置TFTP是一种文件传输的服务,用于服务器与客户端进行文件的传输,不过它只能进行简单的文件传输,这个服务的开销并不大,所以并不能进行大文件的传输,多用于小文件的传输。它没有FTP那么强大,但是tftp适用于udp,有些时候还是tftp更方便。它默认占用的端口号是69。接下来我们来进行安装:先安装守护进程 xinetd (tftp是属于它的)rootnode1 # yum install xinetd -yserver | 3.7 kB 00:00 . Resolving Dependencies-> Running transaction check-> Package xinetd.i686 2:2.3.14-29.el6 set to be updated-> Finished Dependency ResolutionDependencies Resolved Package Arch Version Repository SizeInstalling: xinetd i686 2:2.3.14-29.el6 server 121 kTransaction SummaryInstall 1 Package(s)Upgrade 0 Package(s)Total download size: 121 kInstalled size: 258 kIs this ok y/N: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : 2:xinetd-2.3.14-29.el6.i686 1/1 Installed: xinetd.i686 2:2.3.14-29.el6 Complete!rootnode1 # yum install tftp-server -y rootnode1 # vim /etc/xinetd.d/tftp (编辑配置文件)# default: off# description: The tftp server serves files using the trivial file transfer #workstations, download configuration files to network-aware printers, #and to start the installation process for some operating systems.service tftpsocket_type= dgramprotocol= udp (使用的协议)wait= yesuser= rootserver= /usr/sbin/in.tftpdserver_args= -s /var/lib/tftpboot#tftp对外提供服务的目录disable= no#开启tftp服务per_source= 11cps= 100 2flags= IPv4设置开机自启动,如果不开机自启动我们每次开机都得手动去启动服务,这会增加我们的工作量,当然这也会占用更多的资源,看个人喜好吧。 rootnode1# service xinetd restart #启动xinetd服务Stopping xinetd: OK Starting xinetd: OK rootnode1# chkconfig xinetd on (开机启动) 2.3.3 NFS服务的安装与配置NFS=network file system,就是网络文件系统。通过这个系统,我们可以在各台电脑之间通过网络共享文件。熟练的运用nfs可以节约我们的存储空间,通过网络的方式对文件进行读写,它最大的好处就是可以在不同操作系统间进行文件共享,依赖rpc协议,在本次设计中也是用来共享启动相关的文件的。先查询是否安装nfs的包rootnode1 # rpm -qa | grep nfsnfs-utils-lib-1.1.5-3.el6.i686nfs-utils-1.2.3-7.el6.i686rootnode1 # rpm -qa | grep rpcbindrpcbind-0.2.0-8.el6.i686创建相关的目录rootnode1 #

    注意事项

    本文(基于PXE无人值守安装Linux系统的设_计与实现毕业论文(28页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开