作业-第08周--课堂-Day35-NFS剩余知识点

2019-04-18  本文已影响0人  MineG

Day35课堂作业

NFS剩余知识点

1、为什么fstab无法实现nfs挂载?

回顾:开机启动流程:
1、磁盘先启动 /etc/fstab
2、防火墙在前。
3、网卡

NFS 网络文件系统,通过网络挂载,网络没起如何挂载?

又想在 fstab 里实现挂载、就用一个服务,延迟启动。

[root@nfs01 /data1]# systemctl start remote-fs.target 
[root@nfs01 /data1]# systemctl enable remote-fs.target 
Created symlink from /etc/systemd/system/multi-user.target.wants/remote-fs.target to /usr/lib/systemd/system/remote-fs.target.
[root@nfs01 /data1]# systemctl status remote-fs.target 
● remote-fs.target - Remote File Systems
   Loaded: loaded (/usr/lib/systemd/system/remote-fs.target; enabled; vendor preset: enabled)
   Active: active since 四 2019-04-18 10:17:57 CST; 18s ago
     Docs: man:systemd.special(7)
4月 18 10:17:57 nfs01 systemd[1]: Reached target Remote File Systems.

提示:
CentOS6:netfs 服务
CentOS7:remote-fs.target 服务

2、权限

  • rw 可读写 read write
  • ro 只读 read only
  • sync 写到磁盘才算完成,安全 慢
  • async 异步写到远程缓冲区,快 不安全
  • all_squash※ 不管客户端什么用户,到服务端都是 nfsnobody
  • anonuid=匿名用户的UID
  • anongid=匿名用户的GID
[root@nfs01 ~]# cat /etc/exports
#oldboy shared dir at time
#/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(ro)
/data 172.16.1.0/24(rw,sync)
/data1 10.0.0.0/24(ro)
[root@nfs01 ~]# cat /var/lib/nfs/etab 
/data1  10.0.0.0/24(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,ro,secure,root_squash,no_all_squash)
/data   172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

3、更改默认 NFS 默认用户

项目实践

  • NFS 共享的匿名用户用 www,使得客户端上传的图片都是 www 用户,而不是匿名的 nfsnobody
  • web01backup客户端实现挂载到 nfs
  • NFS 下面共享 /backup ,允许 web01backup 客户端(/backup)可读写.
  • web01 创建文件,backup 上可以删除 web01 创建的文件。
  • NFS 下面共享 /data1 ,允许 web01backup 客户端 10 网段只读(data1)
  • 实现开机自动挂载

1)nfs01 服务端 NFS 、以及所有客户端:

--------------------------------------------------------------
==>命令如下<==
--------------------------------------------------------------
useradd -u 1111 www
id www

--------------------------------------------------------------
==>演示如下<==
--------------------------------------------------------------
[root@nfs01 ~]# useradd -u 1111 www
[root@nfs01 ~]# id www
uid=1111(www) gid=1111(www) 组=1111(www)

2)服务端 NFS 特殊配置

[root@nfs01 ~]# tail -2 /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)
/data1 10.0.0.0/24(ro)

[root@nfs01 ~]# chown -R www.www /data
[root@nfs01 ~]# ls -ld /data
drwxr-xr-x 2 www www 70 4月  18 10:05 /data

3)服务端 NFS 重启

[root@nfs01 ~]# systemctl reload nfs

4)每个客户端如下操作

--------------------------------------------------------------
==>挂载目录<==
--------------------------------------------------------------
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /data
[root@web01 ~]# mount -t nfs 10.0.0.31:/data1 /opt
[root@web01 ~]# df -h
文件系统           容量  已用  可用 已用% 挂载点
172.16.1.31:/data   19G  1.8G   18G   10% /data
10.0.0.31:/data1    19G  1.6G   18G    9% /opt

--------------------------------------------------------------
==>web01创建新文件<==
--------------------------------------------------------------
[root@web01 /data]# touch new_web01.txt
[root@web01 /data]# ls -l
总用量 0
-rw-r--r-- 1 www www 0 4月  16 10:24 ddddf
-rw-r--r-- 1 www www 0 4月  16 10:23 dddfff
-rw-r--r-- 1 www www 0 4月  18 11:01 new_web01.txt
-rw-r--r-- 1 www www 0 4月  17 11:59 oldboy.txt
-rw-r--r-- 1 www www 0 4月  17 12:30 oldgirl.txt

--------------------------------------------------------------
==>backup客户端查看和删除<==
--------------------------------------------------------------
[root@backup /data]# ls -l
总用量 0
-rw-r--r-- 1 www www 0 4月  16 10:24 ddddf
-rw-r--r-- 1 www www 0 4月  16 10:23 dddfff
-rw-r--r-- 1 www www 0 4月  18 11:01 new_web01.txt
-rw-r--r-- 1 www www 0 4月  17 11:59 oldboy.txt
-rw-r--r-- 1 www www 0 4月  17 12:30 oldgirl.txt
[root@backup /data]# rm -f new_web01.txt
[root@backup /data]# ls -l
总用量 0
-rw-r--r-- 1 www www 0 4月  16 10:24 ddddf
-rw-r--r-- 1 www www 0 4月  16 10:23 dddfff
-rw-r--r-- 1 www www 0 4月  17 11:59 oldboy.txt
-rw-r--r-- 1 www www 0 4月  17 12:30 oldgirl.txt

--------------------------------------------------------------
==>测试只读<==
--------------------------------------------------------------
[root@web01 /opt]# touch new_web02.txt
touch: 无法创建"new_web02.txt": 只读文件系统

5、开机自动挂载

[root@web01 /opt]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Fri Apr 12 21:34:51 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
#
UUID=42900276-4da9-4a86-9f83-9caaa3680017 /                       xfs     defaults           0 0
UUID=dd1f2daf-ffd1-41ae-9d94-b1ca8fe62a5b /boot                   xfs     defaults           0 0
UUID=201a7ae2-0b70-4d58-8bda-6b63823d7d89 swap                    swap    defaults           0 0
172.16.1.31:/data                         /mnt                    nfs     defaults,soft      0 0
10.0.0.31:/data1                          /opt                    nfs     defaults,hard,intr 0 0

NFS务器出问题时候,客户端重启依然能够启动,可以用如下列两个方法:

#/etc/fstab
defaults,soft
defaults,hard,intr 

6、客户端挂载深入

[root@web01 ~]# cat /proc/mounts 
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
/dev/sda1 /boot xfs rw,relatime,attr2,inode64,noquota 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
10.0.0.31:/data1 /mnt nfs4 rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.0.7,local_lock=none,addr=10.0.0.31 0 0
172.16.1.31:/data /data nfs rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.16.1.31,mountvers=3,mountport=20048,mountproto=udp,local_lock=none,addr=172.16.1.31 0 0
rsize=131072,wsize=131072
hard
proto=tcp
tcp安全稳定 udp无连接 FTP服务

安全加优化的挂载方式如下:

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072 172.16.1.31:/data /mnt
上一篇下一篇

猜你喜欢

热点阅读