计算机系统应用教程网站

网站首页 > 技术文章 正文

Linux标准环境配置手册--NFS服务配置

btikc 2024-09-24 08:24:16 技术文章 18 ℃ 0 评论

服务端配置

? 安装NFS服务

[root@bogon ~]# yum -y install nfs-utils rpcbind

已加载插件:fastestmirror

设置安装进程

Loading mirror speeds from cached hostfile

... ...

已安装:

  nfs-utils.x86_64 1:1.2.3-70.el6_8.2                           rpcbind.x86_64 0:0.2.0-12.el6                          

作为依赖被安装:

  keyutils.x86_64 0:1.4-5.el6         libevent.x86_64 0:1.4.13-4.el6         libgssglue.x86_64 0:0.1-11.el6           

  libtirpc.x86_64 0:0.2.1-11.el6_8    nfs-utils-lib.x86_64 0:1.1.5-11.el6    python-argparse.noarch 0:1.2.1-2.1.el6   

完毕!


? 服务端配置

#NFS服务器创建共享目录

[root@bogon ~]# mkdir -p /home/data/app/download

[root@bogon ~]# chmod -R 755 /home/data/app/download

[root@bogon ~]# chown jqsoft:jqsoft -R  /home/data/app/download

#编辑exports文件

[root@bogon ~]# vim /etc/exports 

/home/data/app/download        *(rw,sync,no_root_squash)

/home/data/app/download        10.154.0.5(rw,sync,no_root_squash)

/home/data/app/download        10.154.0.4(rw,sync,no_root_squash)

#exports常见参数

常见的参数则有:

参数值    内容说明

rw  ro    该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。

sync  async    sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!

no_root_squash  root_squash    客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!

all_squash    不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是nobody(nfsnobody) 啦!

anonuid  anongid    anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。

#配置生效

[root@bogon lys]# exportfs -r

#启动rpcbind、nfs服务

[root@bogon lys]# service rpcbind start

正在启动 rpcbind:                                         [确定]

[root@bogon lys]# service nfs start

启动 NFS 服务:                                            [确定]

启动 NFS mountd:                                          [确定]

启动 NFS 守护进程:                                        [确定]

正在启动 RPC idmapd:                                      [确定]

 


客户端配置

[root@bogon ~]# yum -y install nfs-utils

已安装:

  nfs-utils.x86_64 1:1.2.3-70.el6_8.2                                                                                  

作为依赖被安装:

  keyutils.x86_64 0:1.4-5.el6         libevent.x86_64 0:1.4.13-4.el6         libgssglue.x86_64 0:0.1-11.el6           

  libtirpc.x86_64 0:0.2.1-11.el6_8    nfs-utils-lib.x86_64 0:1.1.5-11.el6    python-argparse.noarch 0:1.2.1-2.1.el6   

  rpcbind.x86_64 0:0.2.0-12.el6      

完毕!

#NFS客户端创建共享目录

[root@bogon ~]# mkdir -p /home/data/app/download

[root@bogon ~]# chmod -R 755 /home/data/app/download

[root@bogon ~]# chown jqsoft:jqsoft -R  /home/data/app/download

#查看服务器抛出的共享目录信息

[root@bogon ~]# showmount -e 10.154.0.3

Export list for 10.154.0.3:

/home/data/app/download 10.154.0.0/24

#为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议

[root@bogon ~]# mount -t nfs 10.154.0.3:/home/data/app/download /home/data/app/download -o proto=tcp -o nolock

#开机自启动

[root@web2 ~]# vi /etc/fstab 

#

# /etc/fstab

# Created by anaconda on Wed Jul  3 16:42:59 2019

#

# 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_localhost-lv_root /                       ext4    defaults        1 1

UUID=ac9079d3-b3ae-468a-bb1f-b421752c3de3 /boot                   ext4    defaults        1 2

/dev/mapper/vg_localhost-lv_swap swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

10.154.0.3:/home/data/app/download/ /home/data/app/download/     nfs     defaults,_rnetdev 0 0

/dev/sda1 /home/data/app ext4 defaults 0 0

#查看挂载结果

[root@bogon ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

                       18G  1.1G   16G   7% /

tmpfs                 112M     0  112M   0% /dev/shm

/dev/sda1             477M   54M  398M  12% /boot

192.168.2.203:/home/data/app/download/ 

                       18G  1.1G   16G   7% /home/data/app/download/ 

 


服务端防火墙限制


#查看服务端NFS端口

[root@bogon lys]# rpcinfo -p localhost

   program vers proto   port  service

   4   tcp    111  portmapper

   3   tcp    111  portmapper

   2   tcp    111  portmapper

   4   udp    111  portmapper

   3   udp    111  portmapper

   2   udp    111  portmapper

   1   udp  49979  mountd

   1   tcp  58393  mountd

   2   udp  45516  mountd

   2   tcp  37792  mountd

   3   udp  32997  mountd

   3   tcp  39937  mountd

   2   tcp   2049  nfs

   3   tcp   2049  nfs

   4   tcp   2049  nfs

   2   tcp   2049  nfs_acl

   3   tcp   2049  nfs_acl

   2   udp   2049  nfs

   3   udp   2049  nfs

   4   udp   2049  nfs

   2   udp   2049  nfs_acl

   3   udp   2049  nfs_acl

   1   udp  51112  nlockmgr

   3   udp  51112  nlockmgr

   4   udp  51112  nlockmgr

   1   tcp  43271  nlockmgr

   3   tcp  43271  nlockmgr

   4   tcp  43271  nlockmgr

#分配端口,编辑配置文件,新增端口号

[root@bogon lys]# vim /etc/sysconfig/nfs

RQUOTAD_PORT=30001

LOCKD_TCPPORT=30002

LOCKD_UDPPORT=30002

MOUNTD_PORT=30003

STATD_PORT=30004    

#重启服务端服务

[root@bogon lys]# service nfs restart

关闭 NFS 守护进程:                                        [确定]

关闭 NFS mountd:                                          [确定]

关闭 NFS 服务:                                            [确定]

Shutting down RPC idmapd:                                  [确定]

启动 NFS 服务:                                            [确定]

启动 NFS mountd:                                          [确定]

启动 NFS 守护进程:                                        [确定]

正在启动 RPC idmapd:                                      [确定]

#防火墙新增端口

 [root@centos6 ~]#vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 30001 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 30002 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 30002 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 30003 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 30004 -j ACCEPT

#重启防火墙服务

 [root@centos6 ~]#service iptables restart

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表