NFS服务器配置和autofs自动挂载

本节所讲内容:

•      NFS服务器运行原理

•      实战配置NFS服务器

•      autofs自动挂载

 

NFS服务端:xuegod63.cn   IP:192.168.1.63

NFS客户端:xuegod64.cn   IP:192.168.1.64

NFS服务端概述:

 

NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

 

模式: C/S 模式

 

端口:

RHEL6是以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接

 

安装nfs

1、安装NFS软件包

[root@xue63 ~]#rpm -vih /mnt/Packages/nfs-utils-1.2.3-15.el6.x86_64.rpm   

 

yum -y install nfs-utils

 

安装客户端:

命令:mount  showmount 

 

配置文件位置:

[root@xue63 ~]# ls /etc/exports

 

 

启动NFS服务

先查看2049端口是否开放:

[root@xue63 ~]#netstat -anutp | grep 2049

 

[root@xue63 ~]# service nfs start

Startingntpd:                                             [  OK  ]

[root@xue63 ~]# chkconfig nfs on

再查看:

[root@xue63 ~]#netstat -anutp | grep 2049

 

 

此服务的使用方法

查看nfs服务:

showmount  -e  NFSIP

例:

[root@xuegod64 ~]#showmount  -e 192.168.1.63

 

挂载:

mount    192.168.1.63:/tmp/a    /mnt

 

修改配置文件,实战举例

[root@xue63 a]# cat /etc/exports

/media                 *(rw)

[root@xue63 a]# service nfs restart

 

客户端查看:

[root@localhost nfs]# showmount -e 192.168.1.63

[root@localhost nfs]# mount  192.168.1.63:/media   /opt/

[root@localhost nfs]# cd /opt/ 

[root@localhost mnt]# touch a.txt

[root@xuegod64 opt]# touch a.txt

touch: cannot touch `a.txt': Permission denied

 

xuegod63:

[root@xuegod63 ~]# chmod 777 /media

 

[root@xuegod64 opt]# touch a.txt

[root@xuegod64 opt]# ll

total 4

-rw-r--r-- 1 nfsnobody nfsnobody    0 Mar 6 21:55 a.txt

-rw-r--r-- 1 nfsnobody nfsnobody 1720 Mar  6 21:55 passwd

 

 

[root@xuegod64opt]# vim /etc/passwd

 

启动自动挂载nfs 文件系统

[root@xuegod64 opt]#vim /etc/fstab

 

 

 

[root@xuegod64 ~]#umount /opt/

[root@xuegod64 ~]#mount -a

[root@xuegod64 ~]#ls /opt/

a.txt  passwd

 

例:3: 对共享参数做一些特殊处理

[root@xue63 a]# cat /etc/exports

/tmp/a/no_root_squash      *(rw,no_root_squash)

/tmp/a/sync               192.168.1.0/24(rw,sync)

/tmp/a/ro                  192.168.1.64(ro)

/tmp/a/all_squash             *.baidu.com(rw,all_squash,anonuid=500,anongid=500)

/tmp/a/async                    192.168.3.0/255.255.255.0(async)

/tmp/a/rw          192.168.3.0/255.255.255.0(rw)    192.168.4.0/255.255.255.0(rw)

/tmp/a/root_squash   *(rw,root_squash)    

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

目录与客户端之间及客户端与客户端之间需要使用空格符号,但是客户端与参数之间是不能有

空格的

 

 

sync/async:数据同步写入硬盘/不同步写入在内存中缓存

 

root_squash(压制):如果用root登录nfs,使其身份自动且换成nfsnobody。

no_root_squash:如果用root登录nfs,使其身份就是root。

all_squash,anonuid=500,anongid=500:压制所有用户并且登录nfs时,指定身份为规定的UID/GID的用户。

 

 

例:

[root@xuegod63 ~]#mkdir /tmp/a

[root@xuegod63 ~]#cd /tmp/a

[root@xuegod63 a]#mkdir all_squash  async  no_root_squash  ro root_squash  rw  sync

[root@xuegod63 a]#ls

all_squash  async no_root_squash  ro  root_squash rw  sync

 

[root@xuegod63tmp]# chmod 777 -R /tmp/a

 

配置NFS服务器:

[root@xuegod63tmp]# cat /etc/exports

/media   *(rw)

/tmp/a/no_root_squash      *(rw,no_root_squash)

/tmp/a/sync               192.168.1.0/24(rw,sync)

/tmp/a/ro                  192.168.1.64(ro)

/tmp/a/all_squash             192.168.1.0/24(rw,all_squash,anonuid=500,anongid=500)

/tmp/a/async                    192.168.3.0/255.255.255.0(async)

/tmp/a/rw          192.168.3.0/255.255.255.0(rw)    192.168.4.0/255.255.255.0(rw)

/tmp/a/root_squash   *(rw,root_squash)    

 

[root@xuegod63tmp]# service nfs restart  #重启

 

测试:

[root@xuegod64 ~]#umount /opt/

[root@xuegod64 ~]#mount 192.168.1.63:/tmp/a/no_root_squash /opt/

[root@xuegod64 ~]#touch /opt/no_root_squash.txt

[root@xuegod64 ~]#ll !$

ll/opt/no_root_squash.txt

-rw-r--r-- 1 root root 0 Mar  6 22:15 /opt/no_root_squash.tx

 

 

测试:

[root@xuegod63 a]#useradd mk

[root@xuegod63 a]#id mk

uid=500(mk)gid=500(mk) groups=500(mk)

 

[root@xuegod64 ~]#mount 192.168.1.63:/tmp/a/all_squash /opt/

[root@xuegod64 ~]#cd /opt/

[root@xuegod64opt]# ls

[root@xuegod64opt]# touch a.txt

[root@xuegod64opt]# ll a.txt

-rw-r--r-- 1nobody nobody 0 Mar  6 22:19 a.txt

 

[root@xuegod63 a]#ll all_squash/

total 0

-rw-r--r-- 1 mk mk0 Mar  6 22:19 a.txt

 

 

例4:自动挂载

实现:当在xuegod64上执行 cd  /tmp/a/nfs 命令时,自动把xuegod63上nfs共享的/tmp/a/root_squash目录,自动挂载到xuegod64的/tmp/a/nfs目录下

autofs服务要实现自动挂载涉及到两个文件,主配置文件auto.master和次配置文件auto.misc

/etc/auto.master 文件定义本地挂载点.

/etc/auto.misc 配置文件是用来设置需要挂载的文件系统类型和选项

 

 

[root@xuegod64 ~]#mkdir/tmp/a

[root@xuegod64 ~]#vim /etc/auto.master
/tmp/a  /etc/auto.nfs   --timeout=60

#-timeout=60 挂载超时时间,单位为秒。可以修改这个参数。

[root@xuegod64 ~]#vim /etc/auto.nfs

nfs   -fstype=nfs 192.168.1.63:/tmp/a/root_squash

注:nfs 这个名字可以随意起的

 

启动autofs服务:

[root@xuegod64 ~]#/etc/init.d/autofs restart

Stoppingautomount:                                        [ OK  ]

Startingautomount:                                        [  OK  ]

 

注: 只有cd  /tmp/a/nfs 进去, 触发一下,才能自动挂载。 另外 nfs目录,不能提前创建,自动挂载时,系统自动创建nfs目录。

测试:

[root@xuegod64 ~]# ls/tmp/a/  #没有发nfs目录

[root@xuegod64 ~]# cd/tmp/a/nfs

[root@xuegod64 nfs]# pwd

/tmp/a/nfs

[root@xuegod64 nfs]#touch a.txt

[root@xuegod64 nfs]# ll

total 0

-rw-r--r-- 1 nfsnobodynfsnobody 0 Mar 29 21:48 a.txt

 

或:

[root@xuegod64 ~]#touch  /tmp/a/nfs/b.txt

只要使用到/tmp/a/nfs目录,就会自动挂载

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值