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
。web01
、backup
客户端实现挂载到nfs
NFS
下面共享/backup
,允许web01
、backup
客户端(/backup)
可读写.web01
创建文件,backup
上可以删除web01
创建的文件。NFS
下面共享/data1
,允许web01
、backup
客户端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
网友评论