Linux NFS项目需求分析实现过程基于网络
创始人
2024-06-23 20:21:51
0

Linux NFS系统对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Linux NFS系统,在这里和大家一起探讨Linux NFS系统的使用方法,希望对大家有用。

一、项目需求
在生产环境中我们有时候需要部署大量系统相同的服务器,当数量达到一定程度的时候,给每台服务器专门单独安装是非常耗时且枯燥的重复劳动,所以网络引导自动安装是我们解决问题的重要方法。

二、项目分析
想要实现网络无人职守的安装,首先需要这些计算机之间网络没有故障并且都能从网络引导,接下来我们需要一台放置安装源文件的服务器,由它提供DHCP、PXE、TFTP、Linux NFS、Kickstart、HTTP(可选)、DNS(可选)这些服务。 下面列出每个服务在这个项目中发挥的作用:

PXE:工作于C/S的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程。(这里默认由我们客户机的网卡提供了该服务)DHCP:由于客户使用了PXE是基于TCP/IP协议的,所以必须分配IP地址给客户机,而且这里还告诉了客户机TFTP Server的位置。

TFTP:PXE引导的过程需要使用TFTP协议下载我们的kernel和initrd文件以及相关的启动选择配置文件菜单等,我们的服务器TFTP 服务提供了这两个文件。有了这两个文件,我们就能引导起系统来,通过网络安装(FTP,NFS等方式)。

Kickstart:Linux NFS系统安装配置文件,当我们手动安装的时候,每一步的配置最终会保存为一个ks文件,里面记录了整个系统安装需要的一些设置,其中包括安装的包以及分区等等大量信息,当客户机安装系统的时候有了这个配置文件我们就能不必每次手动配置来完成安装了。

Linux NFS:当系统引导起来开始安装后,我们是使用了Linux NFS作为安装来源(配置方便并且容易使用),只需要选择在服务器上用Linux NFS共享出安装文件目录即可。DNS:如果我们想要每台客户机装好以后都自动设置好了它的hostname,我们可以利用DNS的反向解析让客户机获取自己的hostname。HTTP:这里为了多练习我们这里是使用了HTTP方式来提供了客户机ks文件的获取,如果你觉得麻烦,可以就使用NFS的方式。

四、实现过程

配置DHCP首先保证你的DHCP服务已经安装,我们vim打开/etc/dhcpd.conf,在里面加入以下内容:allow bootp;allow booting; #其实这里不加也没有关系,默认就有

  1. option domain-name "lenovo.cn";   
  2. option domain-name-servers ns.lenovo.cn;   
  3. default-lease-time 600; #默认租约时间  
  4. max-lease-time 7200; #最大租约时间  
  5. next-server 192.168.0.32 ; #TFTP服务器地址,这里还是指定为本机  
  6. filename "pxelinux.0"; #网卡ROM加载的一个配置文件  
  7. subnet 192.168.0.0 netmask 255.255.255.0 {   
  8. range 192.168.0.100 192.168.0.110; #分配IP的范围  
  9. option domain-name-servers 192.168.0.32; #DNS服务器地址   
  10. option routers 192.168.0.1; #网关地址}  

配置TFTP首先必须安装TFTP服务: tftp.i386 0:0.49-1.fc10 tftp-server-0.49-1.fc10.i386由于会默认去到/tftpboot下找文件,所以我们发现没有该目录则创建之。首先我们复制一个文件:/usr/lib/syslinux/pxelinux.0 到 /tftpboot下面。

接下来,我们将光盘目录下isolinux内的文件全部都复制到/ftpboot目录下,并且修改两个文件名(为了以后拓展功能,改名把各个系统内核区分开)。mv initrd.img initrd.fc10.img mv vmlinuz vmlinuz.fc10

然后,创建/tftpboot/pexlinux.cfg目录,在下面创建default文件并编辑之:default bootlocal #默认从本地启动

  1. prompt 1   
  2. timeout 60 #超时时间  
  3. label bootlocal   
  4. localboot 0   
  5. label fedora  

kernel vmlinuz.fc10 #内核以及初始化镜像append initrd=initrd.fc10.img ramdisk_size=65536 ks=http://192.168.0.32/fc10Install.ks #指定ks文件获取路径这里我做了个简单的配置。

具体写法可以去参照网上的wiki最后,我们需要让TFTP服务启动,去修改/etc/xinetd.d/tftp这个文件,修改其中两 项: disable = no #打开TFTP服务的启用
server_args = -s /tftpboot #服务器的根目录设为/tftpboot

配置NFS NFS在这里负责共享安装需要的文件,需要共享下安装文件的目录(拷贝光盘下所有文件到那个目录),配置如下:/FC10Install 192.168.0.0/24(ro,sync) 配置DNS(可选)在DNS里面对DHCP分配出去那个网段进行反向解析,具体内容参见DNS服务搭建部分。

制作ks文件在我们的系统安装好以后在root的家目录下有个anaconda-ks.cfg,我们安装个配置工具system-config-kickstart。使用这个工具打开我们现有的anaconda-ks.cfg这个文件,进去后注意选中文字安装界面和安装好后自动重启。

另外,如果安装好后需要运行一些脚本可以修改Post-Installation部分。修改完后我们另存为一个文件,这里如果使用HTTP提供给客户可保存到/var/www/html/ 目录下,注意权限修改为644。这里是我的一个ks文件示例:

6.配置apache(可选)如果以前做过虚拟主机或者改过默认网站主目录,改回去成默认状态即可。

7.启动各类服务:

  1. service dhcpd restart  
  2. service xinetd restart  
  3. service nfs restart  
  4. service named restart   
  5. service httpd restart  

测试将客户机重启并设置BIOS从网络启动,观察启动过程。总结本文描述了如何搭建一个基于网络的Linux系统自动安装过程,在实际生产环境下比较使用而且能节省大量的人力资源,并且还能拓展开来搭建网络的系统救援模式,甚至搭建从网络启动的Linux系统无盘工作站。

【编辑推荐】

  1. Linux vmware安装完成最终安装失败,在编译
  2. Linux user用户的概念相关的配置文件、命令或目录
  3. Linux软件安装包的命名规则
  4. Linux操作系统最快方式去读每一个Linux操作系统
  5. Fedora vmware启动ghost computer中的Linux

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...