Linux NFS服务器的搭建与磁盘配额管理方案的实施

简介:
Linux NFS 服务器的搭建
与磁盘配额管理方案的实施
 
一、 NFS 服务器的搭建:
描述: NFS linux 的网络文件系统,是主机间通过网络进行文件共享的网络协议,相当于 Window UNC 路径进行网络互访, NFS 只使用于 linux 系统之间进行文件互访,不适合于 Windows 。不过两者也用共同点,它们如果要用计算机名称进行访问,那都得使用 NETBIOS 协议进行解析。
NFS 是通过挂载进行实现的,( linux 里不仅可以挂载共享目录,也可以挂载移动硬盘,软盘,优盘以及光盘等等)挂载成功之后,主机里的其他用户访问共享软件就像访问本地硬盘一样方便。类似于 windows 里将其他计算机的共享文件夹在本地映射一个网络驱动器。
**************NFS 服务器的具体配置 ********************
在配置 NFS 之前,必须得安装 nfs-utils  portmap 这两个软件包(默认是安装上的,不过在配置 NFS 服务器之前还是检查一下,)。
解释: nfs-utils 包是 nfs 的安装包,是安装在应用层的,其功能主要是由 Linux 内核完成的,而 portmap 包是安装在传输层的,是为 NFS 等服务器程序提供 RPC (远程过程调用)服务的支持。
#rpm –q nfs-utils  portmap
如果没有安装,在 RHEL-4 的第二张光盘里 /RedHat/RPMS/ 里有,具体安装如下:从提示中可以看出,我的已经安装上了。呵呵!
#mount –t iso9660  /dev/cdrom   /media/cdrom/     挂载光盘 2
#cd /media/cdrom/RedHat/RPMS/     进入目录
#rpm –ivh nfs-utils- 1.0.6 -46.i386.rpm  portmap-4.0-63.i386.rpm   安装 rpm
 
1、   NFS 服务器的具体配置:
1.1 NFS 服务器的具体配置是在“ /etc/exports” 下进行编辑的,默认里面是没有内容的,也就是说是即使你开启 NFS 服务,也不共享任何内容,而 windows server 2003 在默认状态下是,各个盘是隐藏共享的,可以通过 compmgmt.msc 或者 filesvr.msc windows server 2003 支持)可以看到共享的隐藏目录)如下:
换句话说:只要你知道对方机子的账号和密码,就可以登陆到对方机子上去,具体命令如下:“ //ip/ 盘符 $
1.2 、“ exports ”文件的格式:
nfs 共享目录名称     客户端主机地址(设置选项)”
2、   试验步骤:
在做试验之前,必须得搭建试验环境:
虚拟机上装有两台 linux 服务器。从下图可以看出来:
 
IP 地址的配置:
下面是 NFS 文件服务器的具体配置结果:
 
下面是 Client 的具体配置结果:
 
 
如果你用的是“ netconfig eth 0” 命令配置的,记得别忘了重新启动网络服务哦!具体启动如下:
#/etc/init.d/network   或者   #/service network restart( 这个你的系统里未必有哦 )
 
 
1、   首先在 NFS 服务器上创建一个共享的目录,并给它全部的权限,比如说
#mkdir /software    在根目录下创建一个目录(任意)。
#chmod 777 /software     给所以的用户和组全部的权限。
 
2、   编辑  exports 文件
#vi /etc/exports
注意: 1 nfs 共享目录名称必须为绝对路径
             2 、客户端主机地址可以为一个主机的 IP 地址,指定域名的主机、一个网段的主机,所以主机。
             3 、设置选项中, sync nfs 同步写磁盘。(如果你正在 copy 文件、即使断电,或者其他原因,也可以将一部分内容保存到自己的硬盘里)
下面配置的意思是允许 192.168.1.0/24 这个网段的主机对 nfs 服务器共享的文件有只读的功能,同时允许同步写磁盘,而网段中的 192.168.1.2 这台主机对共享目录具有读写的功能,其次允许同步写磁盘。
3、   启动服务:先启动应用于传输层的 portmap , 在启动应用于应用层的 nfs 服务(顺序不能颠倒)
#service portmap restart   启动 portmap 服务
#service nfs restart      启动 nfs 服务
#exportfs –rv      输出共享的目录
#showmount –e     查看共享目录是否创建成功。
在没有启动服务之前显示的结果:
在启动服务之后显示的结果:
可以看出,共享目录已经显示出来!如果你不放心,可以通过下面的命令查看一下服务是否启动起来了!
#service protmap status
#service nfs status
注意: portmap 服务,在运行级别 3 4 5 是自动开启的,而 nfs 服务只是临时设置的,如果重新启动电脑,那么, nfs 服务就需要再次重新启动,是很麻烦的,通过下面的命令可以查看到:
#chkconfig --list protmap
#chkconfig –list nfs
如果你想让它在开机时就启动,就需要改它的启动级别,具体如下:
#chkconfig  --level 35 nfs on     比如说设置 3 5 级别开启。
 
从下面的显示结果可以看出,目前使用共享的只有本服务器。
#showmount –a     显示挂载的用户目录
 
 
***************NFS 客户机的具体配置 ********************
1 、首先在 root 模式下查看一下 NFS 文件服务器是否可用。
 
 
3、   现在在服务器上进行测试看是否有客户机挂载到 NFS 服务器上:
#showmount –a   ( 下面显示的是客户端挂载前后显示的结果: )
#mount |grep clientsoftware   显示挂载文件的类型
4、   现在进行测试,现在在客户端下挂载的目录里创建几个文件!
5   然后在 NFS 服务器端打开这个目录看有内容没!
6、   现在把客户机的IP地址改为192.168.1.3/24看看有没有在共享文件夹创建文件的权限:
从上面的实验可以看出,除了192.168.1.1和192.168.1.2两个主机对共享文件夹具有读取和写入的权限,其他的同一网段的客户机只有读取的权限!
注意:这个试验是有点缺陷的,从上面可以看出客户机从共享目录里创建的文件在服务器上是不显示谁创建的。而显示的是一串随机码!如何改变呢,也很简单,这种网络是对等网,也就是说两边必须都建立同样的用户名和密码,才能显示出是谁创建的,两边现在已创建好了两个用户,都是 benet ,密码都是 123456 。下面进行测试:
1、 首先要在服务器上修改“ etc/fstab “文件
将刚才写的文件重新写一下:
/software192.168.1.0/24(sync,no_root_squash,ro)192.168.1.2(sync,no_root_squash,rw)
2、 首先在客户端那里用普通用户 benet 登陆,然后创建一些文件
下面是添加 user1 用户(客户机和服务器两边都要添加相同的帐号和密码),然后创建文件!
3、 然后在服务器那里查看共享目录:结果一目了然!
还有一个缺陷:也就是说, NFS 服务器一般是不关闭的,但客户端是经常关闭的。而共享挂载默认在关闭客户端重新登陆是需要重新挂载的,如果想在开机自动挂载,是需要修改  “/etc/fstab” 配置文件的。
具体修改如下:在这个文件的末尾加上下面一行命令:
192.168.1.1:/software    /home/clientsoftware   nfs   auto 0 0
二、磁盘配额管理与 NFS 服务器配合使用:
注意:在进行磁盘配额设置之前,首先检查一下是否安装了quota包!
对磁盘配额的限制一般是从一个用户或一组用户占用磁盘大小和用户拥有的文件数量两个方面进行的,这个是不同于 windows 的, windows 设置磁盘配额只针对某一个用户占用磁盘的大小进行的!
试验步骤:
1、   修改“ /etc/fstab” 文件。
在根目录那一栏     输入“ defaults,usrquota,grpquota”( 注意:不要输入错了,要不然系统就启动不起来了 )
usrquota  是设置用户磁盘配额
grpquota  是设置组磁盘配额
 
 
2、   修改完之后是需要重新挂载文件系统的,最简单的办法就是重新启动系统
3、   创建配额文件: ( 要给分区建立配额文件 )
#quotacheck –cmug /
#ls /aquota.*
 
 
4、   设置配额(以刚创建的user1为例)
#edquota –u usr1
下面显示写入成功!
如果配置没有生效,最好用
#quotaon –a  使所有配额生效!
为了更清晰的看出实验结果,我把刚在共享文件夹里的内容都删掉了,然后用user1随便在里面创建了几个文件,从下面可以看出,user1 目前使用的容量为16KB,而创建的文件为4个。而它能够写入的最大容量是12000KB,文件数量最大为20个。
下面继续往里边写入,从最后一条可以看出已经写不进入文件了,因为已经达到了最大文件数 20 个。
 
下面是每写入一次,显示的结果!可以看出用户已经创建了 20 个文件了!容量一直为 16KB 的原因是因为写入的文件或目录都是空的,大小记为 0
2、   在自己的一个目录下,先建立一个需要挂载到那的目录。然后输入一下命令:
#mkdir /home/clientsoftware    新建一个目录
#mount –t nfs 192.168.1.1:/software  /home/clientsoftware    挂载共享目录


本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/107925,如需转载请自行联系原作者
相关文章
|
10天前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
28 7
|
13天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
16天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
33 0
服务器linux!!!
|
18天前
|
人工智能 安全 Linux
|
20天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
87 3
|
19天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
192 2
|
23天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
6天前
|
网络协议 安全 Linux
Linux 上设置自己的公共时间服务器
Linux 上设置自己的公共时间服务器
18 0
|
18天前
|
Linux
Linux 修改服务器时间
【10月更文挑战第27天】Linux 修改服务器时间
42 0
|
21天前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息