nfs搭建

要求:手动搭建一个nfs服务器

  • 开放/nfs/shared目录,供所有用户查阅资料
  • 开放/nfs/upload目录为192.168.120.0/24网段的数据上传目录,并将所有用户及所属的用户组都映射为nfs-upload,其UID与GID均为300

步骤:

搭建环境

  • 服务器地址:192.168.120.128(ming) ,客户端地址:192.168.120.222(jun)

第一个nfs服务器

开放/nfs/shared目录,供所有用户查阅资料

nfs配置

  • 分别在服务端和客户端安装nfs-utils
[root@ming ~]# yum -y install nfs-utils
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.3.0-0.el7 will be installed
--> Processing Dependency: libtirpc >= 0.2.3-1 for package: 1:nfs-utils-1.3.0-0.el7.x86_64
--> Processing Dependency: keyutils for package: 1:nfs-utils-1.3.0-0.el7.x86_64

  • 启动服务
服:
[root@ming ~]# systemctl restart rpcbind nfs-server

客:
[root@jun ~]# systemctl restart rpcbind nfs-server
  • 在服务器上创建/nfs/shared目录,供所有用户查阅资料
[root@ming ~]# mkdir -p /nfs/shared

  • 修改/etc/exports文件
[root@ming ~]# cat /etc/exports
/nfs/shared *(ro)

  • 重启服务
[root@ming ~]# systemctl restart rpcbind nfs-server
或者
[root@ming ~]# exportfs -r

  • 在客户端查看服务器的共享目录
[root@jun ~]# showmount -e 192.168.120.128
Export list for 192.168.120.128:
/nfs/shared *

  • 在客户端将nfs共享的目录挂载到指定目录下
[root@jun ~]# mount -t nfs 192.168.120.128:/nfs/shared /jun
[root@jun ~]# df -Th
文件系统                    类型      容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root       xfs        18G  917M   17G    6% /
devtmpfs                    devtmpfs  908M     0  908M    0% /dev
tmpfs                       tmpfs     914M     0  914M    0% /dev/shm
tmpfs                       tmpfs     914M  8.5M  906M    1% /run
tmpfs                       tmpfs     914M     0  914M    0% /sys/fs/cgroup
/dev/sda1                   xfs       497M   96M  401M   20% /boot
192.168.120.128:/nfs/shared nfs4       18G  910M   17G    6% /jun

  • 在服务器上创建文件或目录
[root@ming ~]# cd /nfs/shared/
[root@ming shared]# ls
[root@ming shared]# mkdir aaaaaaa

  • 在客户端上查看
[root@jun ~]# cd /jun/
[root@jun jun]# ll
总用量 0
drwxr-xr-x 2 root root 6 1月   8 23:21 aaaaaaa
-rw-r--r-- 1 root root 0 1月   8 23:24 bbbbbbb
[root@jun jun]# touch hhhh
touch: 无法创建"hhhh": 只读文件系统
[root@jun jun]# 

  • 注意:防火墙和selinux不关闭有可能不成功

第二个nfs服务器

  • 在服务端创建/nfs/upload目录,创建用户和组为nfs-upload,指定UID,GID为300
[root@ming ~]# mkdir /nfs/upload
[root@ming ~]# useradd -r -u 300 nfs-upload
[root@ming ~]# id nfs-upload
uid=300(nfs-upload) gid=300(nfs-upload) groups=300(nfs-upload)
[root@ming ~]# 

  • 修改/nfs/exports文件
[root@ming ~]# vim /etc/exports
[root@ming ~]# cat /etc/exports
/nfs/shared *(ro)
/nfs/upload 192.168.120.0/24(rw,anonuid=300,anongid=300)
[root@ming ~]# 

  • 重新读取/nfs/exports/配置文件
[root@ming ~]# exportfs -r

  • 在客户端查看nfs共享的目录
[root@jun ~]# showmount -e 192.168.120.128
Export list for 192.168.120.128:
/nfs/shared *
/nfs/upload 192.168.120.0/24

  • 挂载共享目录
[root@jun ~]# mkdir /liu
[root@jun ~]# mount -t nfs 192.168.120.128:/nfs/upload /liu
[root@jun ~]# df -Th
文件系统                    类型      容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root       xfs        18G  917M   17G    6% /
devtmpfs                    devtmpfs  908M     0  908M    0% /dev
tmpfs                       tmpfs     914M     0  914M    0% /dev/shm
tmpfs                       tmpfs     914M  8.5M  906M    1% /run
tmpfs                       tmpfs     914M     0  914M    0% /sys/fs/cgroup
/dev/sda1                   xfs       497M   96M  401M   20% /boot
192.168.120.128:/nfs/shared nfs4       18G  910M   17G    6% /jun

  • 在nfs共享目录上创建文件
[root@jun ~]# cd /liu
[root@jun liu]# ls
[root@jun liu]# mkdir aaa
mkdir: 无法创建目录"aaa": 权限不够

  • 发现创建不了文件,这时需要在服务端将共享目录属主,属组改为nfs-upload
[root@ming ~]# chown -R 300 /nfs/upload/
[root@ming ~]# chgrp -R 300 /nfs/upload/
[root@ming ~]# ll /nfs/
total 0
drwxr-xr-x. 3 root       root       34 Jan  8 10:24 shared
drwxr-xr-x  2 nfs-upload nfs-upload  6 Jan  8 10:35 upload
[root@ming ~]# 

  • 在客户端共享目录上创建文件并查看
客:
[root@jun liu]# mkdir aa
[root@jun liu]# ls 
aa
[root@jun liu]# ll
总用量 0
drwxr-xr-x 2 300 300 6 1月   8 23:59 aa
[root@jun liu]# 

服:
[root@ming ~]# cd /nfs/upload/
[root@ming upload]# ls
aa
[root@ming upload]# ll
total 0
drwxr-xr-x 2 nfs-upload nfs-upload 6 Jan  8 10:59 aa
[root@ming upload]# 


其他nfs情况

客户端开机自动挂载

  • 在/etc/fstab中挂载nfs
[root@jun ~]# vim /etc/fstab 
[root@jun ~]# cat /etc/fstab 
192.168.120.128:nfs/upload /liu nfs defaults,_netdev 0 0

  • 重启将自动挂载

防火墙开启情况下的nfs

  • 开启防火墙
[root@ming ~]# systemctl restart firewalld
[root@ming ~]# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
   Active: active (running) since Tue 2019-01-08 11:12:19 EST; 8s ago
 Main PID: 2839 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─2839 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Jan 08 11:12:19 ming systemd[1]: Starting firewalld - dynamic firewall daemon...
Jan 08 11:12:19 ming systemd[1]: Started firewalld - dynamic firewall daemon.

  • 在客户端查看共享目录发现查看不到
[root@jun ~]# showmount -e 192.168.120.128
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
[root@jun ~]# 

  • 在服务端写防火墙规则
[root@ming ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.120.0/24 service name=nfs accept' --permanent
success
[root@ming ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.120.0/24 service name=rpc-bind accept' --permanent
success
[root@ming ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.120.0/24 service name=mountd accept' --permanent
success
[root@ming ~]# 
[root@ming ~]# firewall-cmd --reload
success
[root@ming ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eno16777736
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
	rule family="ipv4" source address="192.168.120.111/32" service name="ssh" accept
	rule family="ipv4" source address="192.168.120.0/24" service name="rpc-bind" accept
	rule family="ipv4" source address="192.168.120.0/24" service name="mountd" accept
	rule family="ipv4" source address="192.168.120.0/24" service name="nfs" accept

  • 在客户端写防火墙规则
[root@jun ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.120.0/24 service name=rpc-bind accept' --permanent
success
[root@jun ~]# firewall-cmd --reload
success
[root@jun ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eno16777728
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
	rule family="ipv4" source address="192.168.120.0/24" service name="rpc-bind" accept
[root@jun ~]# 

  • 在客户端查看共享目录
[root@jun ~]# showmount -e 192.168.120.128
Export list for 192.168.120.128:
/nfs/shared *
/nfs/upload 192.168.120.0/24
[root@jun ~]# 

  • 注意:
    • 当目录挂载不上时,记得开启selinux,防火墙,重启服务
[root@jun ~]# systemctl start nfs-server rpcbind

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值