Day 35 课堂笔记

exports参数:

root_squash   

all_squash  不管客户端什么用户,只要在服务端都是nfsnobody

anonuid ==匿名用户的UID

anongid ==匿名用户的GID

为什么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.

C6:netfs服务

C7:remote-fs.target

3)()权限 

   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)

更改默认NFS默认用户

项目实践2

   NFS共享的匿名用户用www,使得客户端上传的图片都是www用户,而不是匿名的nfsnobody

   web01 backup客户端实现挂载到nfs

   NFS下面共享/backup ,允许web01 backup客户端(/backup)可读写.

   web01上传图片,backup上可以删除web01上传的图片。

      NFS下面共享/data1,允许 web01 backup客户端10网段只读(data1

   实现开机自动挂载

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

[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)每个客户端

mount -t nfs 172.16.1.31:/data /data

[root@web01 ~]# df -h

文件系统          容量  已用  可用 已用% 挂载点

172.16.1.31:/data  19G  1.8G  18G  10% /data

[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

[root@nfs01 ~]# cat /etc/fstab 

#

# /etc/fstab

# Created by anaconda on Mon Mar  4 11:15:16 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=3a3a295f-88f8-456d-94dc-1a3eeb517c02 /                      xfs    defaults        0 0

UUID=fd2e0ca7-32be-425f-86a2-85c02b9ec5ea /boot                  xfs    defaults        0 0

UUID=79a3924b-739e-48dc-ab0c-0444b9ac6591 swap                    swap    defaults,_netdev  0 0

man mount

_netdev

              The  filesystem  resides on a device that requires network access (used to prevent the  system from attempting to mount these filesystems until the network has  been  enabled  on the system).

自学:fstab被破坏了如何修复?

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

# /etc/fstab

# Created by anaconda on Mon Mar  4 11:15:16 2019

UUID=3a3a295f-88f8-456d-94dc-1a3eeb517c02 /                      xfs    defaults        0 0

UUID=fd2e0ca7-32be-425f-86a2-85c02b9ec5ea /boot                  xfs    defaults        0 0

UUID=79a3924b-739e-48dc-ab0c-0444b9ac6591 swap                    swap    defaults        0 0

172.16.1.31:/data                        /data                  nfs    defaults,soft        0 0

172.16.1.31:/data                        /data                  nfs    defaults,hard,intr        0 

mount -t nfs -o hard,intr,rsize=131072,wsize=131072 172.16.1.31:/data/ /mnt

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

defaults,soft

defaults,hard,intr 

#/etc/fstab

客户端挂载深入

[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服务

Linux正在工作呢,文件系统只读。

企业生产案例文件系统只读故障/fstab故障。

自己找一下:

1、救援模式修复。

2、单用户,mount -o remount,rw /

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

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

自学:多块网卡bond

课后作业:项目实践:

项目实践2

   1.NFS共享的匿名用户用www,使得客户端上传的图片都是www用户,而不是匿名的nfsnobody

   web01 web02客户端实现挂载到nfs

   NFS下面共享/backup ,允许web01 web02客户端(/backup)可读写.

   web01上传图片,web02上可以删除web01上传的图片。

   2.实现开机自动挂载

   3.挂载的时候要优化挂载。

解决NFS性能问题:

1,使用CDN家属以及自己搭建缓存服务

2,把多个目录分配到不同的NFS服务器上

3,弃用NFS

4,使用分布式文件系统

你可能感兴趣的:(Day 35 课堂笔记)