Linux中nfs与ntp,RHEL6:nfs、autofs、ntp服务

原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。

RHEL6:nfs、autofs、NFS服务

一、网络文件共享服务:环境两台RHEL6(192.168.1.1服务器端,192.168.1.2客户端)

1、NFS:Network File System

在Linux下实现文件共享有多种方式,NFS就是其中之一。网络文件系统(NFS)协议是由Sun MicroSystem在20世纪80年代为了提供对共享文件的远程访问而设计和实现的。该协议采用Client/Server模型, 通过使用Sun开发的远程过程调用协议(RPC Protocol)来实现运行在一台计算机上的程序来调用在另一台远程机器上运行的子程序.

NFS包含3个版本:NFSv2、NFSv3、NFSv4

RHEL6是以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接,而老版本的NFS可以在TCP协议或者是UDP协议上运行。NFS服务的端口默认是不固定的,但可以强制NFS使用固定端口。

RHEL6中NFS的软件包:nfs-utils

在NFS的相关文档中,有两个值得重点关注

/etc/exports:NFS服务的主配置文件,该文件的最主要目的是发布共享目录并为共享目录限制权限。和其他服务的主配置文件一样,绝大部分的配置都是通过编辑该文件完成

/var/lib/nfs/xtab:这个文件主要用来记录客户端与NFS服务器的连接记录,如果想查看哪些客户端曾经连接过NFS服务器,查看该文件即可

NFS服务的主配置文件exports发布共享目录的格式如下:

共享目录 [客户端1参数1][客户端2 参数]…

共享目录是指在NFS服务器上需要给客户端共享出来的目录,在设置共享目录的时候要使用绝对路径

客户端是指所有可以访问NFS服务器共享目录的计算机。常见客户端指定方式如下表:

客户端指定方式

示例

使用IP地址指定单一主机

10.20.30.40

使用IP地址指定范围主机

172.16.0.0/16

使用IP地址指定范围主机

192.168.1.*

使用域名指定单一主机

Test.ice.apple

使用域名指定范围主机

*.ice.apple

使用通配符指定所有主机

*

参数:在诸多可以附带的参数中,使用最多的要数权限设置的参数了,常见参数如下表:

参数

说明

ro

设置共享权限为只读

rw

设置共享权限为读写

root_squash

当使用NFS服务器共享目录的使用者是root时,将被映射为匿名账号。即:NFS 主机使用共享目录的使用者如果是 root

时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody

那个系统账号的身份

no_root_squash

当使用NFS服务器共享目录的使用者是root时,将不被映射为匿名账号。即:NFS 主机使用共享目录的使用者,如果是 root 的话,那么对于这个共享的目录来说,他就具有 root 的权限!这个项目极不安全,不建议使用!

all_squash

将所有使用NFS服务器共享目录的使用者都映射为匿名账号

anonuid

设置匿名账号的UID

anongid

设置匿名账号的GID

sync

保持数据同步,也就是将数据同步写入内存和硬盘。这可能导致效率降低

async

先将数据保存在内存中,而不是直接保存在硬盘

注意:在发布共享目录的格式中除了共享目录是必跟参数外,其他参数都

是可选的。而且共享目录和客户端1与客户端2之间都 需要使用空格符号,但客户端和参数之间不能有空格。

如:在/etc/exports文件添加如配置:

/media *(ro)或者 192.168.0.10(rw,no_root_squash)

/NFS/test 192.168.0.0/24(ro)

a4c26d1e5885305701be709a3d33442f.png

NFS服务的启动与停止:NFS服务脚本是NFS

chkconfig --list

将rpcbind和nfs都设为自动启动

chkconfig rpcbind on

chkconfig nfs on

a4c26d1e5885305701be709a3d33442f.png

启动rpcbind

service rpcbind start

之后才能成功启动nfs

service nfs start

一定要先启动rpcbind,然后再启动nfs,不然NFS

quotas和NFS daemon都将启动失败。

service nfs start|stop|restart|reload

a4c26d1e5885305701be709a3d33442f.png

exportfs命令:用于维护当前主机中NFS服务器的输出目录列表

exportfs

–rv使NFS服务器重新读取exports文件的设置,而不需重启NFS服务器

exportfs –auv

用于停止当前主机中NFS服务器的所有目录输出

exportfs –av 用于输出NFS服务器的所有共享目录

exportfs –v 显示输出列表同时,显示导出的设定参数

showmount -e

在NFS Server上执行此命令显示NFS Server上所有的共享卷

格式:showmount –e NFS服务器的IP

showmount -d

NFS服务器IP 查看NFS服务器上哪些共享目录被客户端挂载了。

showmount - a NFS服务器地址:显示指定NFS服务器的所有客户端主机和其所连接的目录

客户端的使用:

客户端可以先使用showmount –e查看NFS服务器发布的共享目录

a4c26d1e5885305701be709a3d33442f.png

挂载NFS文件系统

Mount -t nfs NFS服务器IP地址(或主机名):共享目录 本地挂载点,客户端要启动rpcbind服务

如:mount

–t nfs 192.168.0.1:/media /mnt

a4c26d1e5885305701be709a3d33442f.png

客户端启动挂载NFS

想要系统每次启动时自动挂载NFS服务器上的共享目录,则可以编辑/etc/fstab文件

NFS服务器的IP:共享目录 挂载点 nfs

defaults 0 0

a4c26d1e5885305701be709a3d33442f.png

服务端配置NFS固定端口:

默认情况下,NFS配置完毕后,每次重新启动该服务后其相应的端口都会随机变化,如果启用了防火墙,如何开放变化的端口就成问题了,其实解决办法也很简单,只需对NFS进行配置使用固定端口即可

NFS服务启动时,会检查/etc/sysconfig/nfs文件,因此改该文件,修改相应字段便可以强制NFS服务使用固定端口了:

a4c26d1e5885305701be709a3d33442f.png

若NFS服务器上启用了iptables防火墙需创建如下规则:

注意:防火墙的默认规则不要删除

iptables

–I INPUT –p tcp --dport 111 –j ACCEPT rpc端口

iptables

–I INPUT –p udp --dport 111 –j ACCEPT

iptables

–I INPUT –p tcp --dport 2049 –j ACCEPT nfsv4端口

iptables

–I INPUT –p tcp --dport 4001:4004

–j ACCEPT 固定nfs端口

iptables

–I INPUT –p udp --dport 4001:4004

–j ACCEPT

service iptables

save

更改完端口号需再次重新启动这两个服务

a4c26d1e5885305701be709a3d33442f.png

二、自动挂载网络存储(automount)

在客户端确认autofs软件包已经安装。

a4c26d1e5885305701be709a3d33442f.png

自动安装守护进程在文件系统被访问到时就安装文件系统,而不再需要文件系统时,就卸载它们(不活动状态的时间间隔默认为5分钟),这一过程就减少了活动安装点的数目。

与自动安装相关的配置文件中,有两个主要的配置文件

主控文件:/etc/auto.master

此文件列出了应该有autofs文件系统安装到它们上面的目录,并且给每个目录关联了一个映射文件。一个简单的主控文件(auto.master)类似于下面的样子

Directory Map

Directory是指挂载点的父目录,可自已随便设置。这个目录必须是一个有效目录

Map是指定的映射文件,该文件中包含挂载点目录;autofs会自动监视映射文件的配置来自动挂载。映射文件名可以随便写,只要在/etc目录下能够找到就OK了,像写成media.dvd也是可以的。如下图所示:

a4c26d1e5885305701be709a3d33442f.png

映射文件:自动把几个文件系统安装到一个公共的目录下,目录路径是在主控文件中,而不是在映射文件本身里指定的。

格式:

挂载目录 -fstype=文件系统类型,其后可以跟挂载选项,用","隔开 要挂载的设备名(本地设备必须加":")

a4c26d1e5885305701be709a3d33442f.png

修改完主控文件和映射文件后要重启autofs服务:service autofs stop service autofs

start不支持restart重启

自动挂载的默认有效时间是5分钟,但可以通过修改/etc/sysconfig/autofs文件来设置。

Automount的应用

自动挂载光驱:将光驱挂载在/misc/cd目录

确定/misc目录已存在

修改/etc/auto.master文件:指定挂载点的父目录(/misc)和映射文件。如图所示:

a4c26d1e5885305701be709a3d33442f.png

修改/etc/auto.misc文件:指定挂载点、文件系统类型及参数、挂载的设备。如下图所示

a4c26d1e5885305701be709a3d33442f.png

客户端操作自动挂载NFS共享目录:将上述NFS服务器上有两个共享目录:/media和/NFS/test分别挂载在/nfsserver/share1和/nfsserver/share1目录并且只读

服务端修改/etc/exports文件,共享上述两个目录,用上述实验的共享目录即可

a4c26d1e5885305701be709a3d33442f.png

确定挂载点父目录/nfsserver已存在

客户端修改/etc/auto.master文件:指定挂载点的父目录(/nfsserver)和映射文件。如图所示:

a4c26d1e5885305701be709a3d33442f.png

客户端创建/etc/nfs.abc映射文件:指定挂载点、文件系统类型及参数、挂载的设备。如下图所示

cp /etc/auto.misc /etc/nfs.abc

vi /etc/nfs.abc

a4c26d1e5885305701be709a3d33442f.png

在客户端停止和启动autofs服务

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

客户端只要访问,就会自动挂载

访问前:

a4c26d1e5885305701be709a3d33442f.png

访问后:

a4c26d1e5885305701be709a3d33442f.png

三、NTP(网络时间协议)

计算机的系统时间是由计算机内的石英晶体振荡电路以固定的振荡频率产生的,由于晶振在制作过程中会有少许误差,导致所产生的系统时间与全球时间(UTC)存在偏差,时间一长,偏差就会越来越大,严重时会给网络应用带来灾难性的后果,因此就需要对网络中的计算机的系统时间进行校正(也称时间同步)。

Network Time

Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机系统与NTP服务器或时钟源(如石英钟,GPS等等)进行同步化的一种协议,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒)

通常情况下,时间同步是按以下步骤进行的:

(1):NTP客户端向NTP服务器发出一个时间请求包(UDP包),其中包含了该包离开客户端时的时间戳。

(2):当服务器接收到该包时。填入包到达时的时间戳、包离开时的时间戳等信息,然后立即把包返回给客户端

(3):客户端在接收到响应包时再填入包返回时的时间戳,然后利用这些时间参数计算出两个关参数,即包往返的延迟、客户端与服务器之间的时钟偏移

(4):客户端使用时钟偏移来调整本地时钟,以使其时间与服务器时间一致

1、网络时间服务器的安装与配置

(1)检查是否安装NTP服务器软件包:#rpm -q ntp

默认是安装的,若未安装则通过RPM命令或YUM进行安装

a4c26d1e5885305701be709a3d33442f.png

(2)编辑配置文件/etc/ntp.conf

NTP服务的主要配置文件是/etc/ntp.conf。其中已经有了一些默认设置。如下图所示:

a4c26d1e5885305701be709a3d33442f.png

含义注释:

restrict default kod nomodify notrap nopeer

noquery 限制其他计算机查询、修改本机上的NTP服务,其中default表示所有IP

restrict -6 default kod nomodify notrap nopeer

noquery 应用于IPV6地址的主机restrict 127.0.0.1 开放本机内部接口,用于反馈;以便于在本地对NTP服务进行监控及配置

restrict 192.168.1.0 mask 255.255.255.0

nomodify notrap 开放这个网段,不能修改;即允许192.168.1.0/24网段的NTP客户端都可以用本机的NTP服务器进行网络校时,但不允许它们修改本机的NTP服务配置server 0.rhel.pool.ntp.org

server 1.rhel.pool.ntp.org

server 2.rhel.pool.ntp.org这些是网络中真正服务器,这里的server参数用来指定上层的NTP服务器,默认指定internet上的时间服务器池中的时间服务器作为上层NTP服务器

配置使用网络时间,主要是通过修改配置文件/etc/ntp.conf来实现的

ntp服务器默认监听UTP

123端口

开放防火墙123端口 # iptables -I INPUT -p udp --dport 123

-j ACCEPT

实例应用:在某个局域网中,架设一台本地的NTP服务器(IP:192.168.1.1),并让它与外部时间服务器同步,那么它的时间就成为了整个内部网络的标准时间。本地的NTP服务器不对internet提供公开的NTP服务,仅对内部子网192.168.1.0/24提供NTP服务,并且内部网络的网络校时不需要认证机制。要实现上述功能,需要对/etc/ntp.conf文件做下面的修改。

首先确定自己的时区:

date命令可以查看当前系统时间,中国的时区为CST。使用tzselect命令进行配置(时区选择,交换式配置方式

或者选择Shanghai然后建立一个软连接,如下所示:

ln -sf

/usr/share/zoneinfo/posix/Asia/Shanghai

/etc/localtime #localtime为系统时区

修改权限设置的语句格式为:

1、restrict

IP地址或域名 [mask 子网掩码][选项]

该语名用来设置其他计算机对本机NTP服务的访问权限,其中,IP地址或域名参数可以是default,表示所有计算机

常用选项:

ignore:表示禁止所有的NTP请求包进入

nomodify:表示禁止其他计算机更改本机NTP服务的设置,但可以通过本NTP服务器进行网络校时

notrust:表示禁止所有未通过认证的NTP包进入

noquery:表示禁止其他计算机查询本机NTP服务的状态

notrap: 不提供trap远程登录

nopeer:

提供时间服务,但不做为对等体

kod:

向不安全的访问者发送Kiss-Of-Death报文

如果没有设置任何选项,就表示该计算机(或网段)没有任何限制。

若想对内部子网192.168.1.0/24提供NTP服务,则可以在ntp.conf文件中添加如下配置:

restrict 192.168.1.0 mask

255.255.255.0 nomodify notrap

a4c26d1e5885305701be709a3d33442f.png

2、配置选项

server(联网才可以使用此选项)

作用:指定上层NTP服务器,以及一些连接选项

server

[host] [key n] [version n] [prefex] [mode n] [minpoll n] [maxpoll

n] [iburst]

如:

server

0.rhel.poll.ntp.org

server

1.rhel.poll.ntp.org

a4c26d1e5885305701be709a3d33442f.png

启动ntp服务:service ntpd start

开机启动服务:chkconfig ntpd on

a4c26d1e5885305701be709a3d33442f.png

3、配置时间同步客户机:

方法1:从"系统"à"管理"à菜单中,启动"日期和时间"管理工具

a4c26d1e5885305701be709a3d33442f.png

方法2:手工执行 ntpdate

来同步

a4c26d1e5885305701be709a3d33442f.png

ntpdate -d

a4c26d1e5885305701be709a3d33442f.png

或者利用crontab来执行crontab –e

0 21 *

* * /usr/sbin/ntpdate 192.168.0.1 ; /sbin/hwclock

-w每天晚上9点进行同步

其中hwclock –w或hwclock systohc

命令修正系统硬件时间,这样系统重启后,才能显示出正确的时间

附:开启下面两项功能,ntp可以在局域网内作为一台时间服务器了,再开启上面三行server就可以从互联网同步完时间后,再同步给局域网内

在ntp客户端运行ntpdate serverIP,出现no server suitable

for synchronization found的错误。

在ntp客户端用ntpdate -d serverIP查看,发现有"Server dropped:

strata too high"的错误,并且显示"stratum

16"。而正常情况下stratum这个值得范围是"0~15"。

这是因为NTP server还没有和其自身或者它的server同步上。

以下的定义是让NTP

Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

server

127.127.1.0

fudge

127.127.1.0 stratum 10

a4c26d1e5885305701be709a3d33442f.png

在ntp

server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server

suitable for synchronization found的错误。

那么如何知道何时ntp server完成了和自身同步的过程呢?

在ntp

server服务器端上使用命令:

#

watch ntpq -p

出现画面:

a4c26d1e5885305701be709a3d33442f.png

注意LOCAL的这个就是与自身同步的ntp server。

注意reach这个值,在启动ntp

server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。

在ntp client上使用命令:查看时间同步状态

a4c26d1e5885305701be709a3d33442f.png

几个ntp命令:

#/usr/sbin/ntpdate -u

192.168.0.1 校对时间#/usr/sbin/ntpdate -q 192.168.0.1 查询不更新#hwclock --systohc 将机器硬件时钟同步为系统时钟

注意:在客户端用命令同步时间时,客户端的ntpd服务要关闭,当时用图形界面时要开启ntpd服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值