Day35 课堂笔记

NFS企业级网络存储服务2

1.1 NFS配置参数权限

参数名称                                                          参数用途

rw                                                         read-write,表示可读写权限 

ro                                                          read-only,表示只读权限

sync                                                     请求或写入数据时,数据同步写入到硬盘才完成

async                                                   异步写到远程缓冲区

all_squash                                           不管客户端什么用户,到服务端都会被压缩成匿名用户

anonuid                                                匿名用户的UID

anongid                                                 匿名用户的GID

在配置文件内设置共享目录时所给予的权限:

[root@nfs01 ~]$ cat /etc/exports/data172.16.1.0/24(rw,sync)10.0.0.0/24(ro)

配置好NFS服务后,/var/lib/nfs/etab文件中可以看到的配置参数以及默认自带的参数:

[root@nfs01 ~]$ cat /var/lib/nfs/etab/data172.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

1.1.1 更改NFS默认用户

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

[root@nfs01 ~]$ useradd -u1111www

[root@nfs01 ~]$ id wwwuid=1111(www) gid=1111(www) 组=1111(www)

1.1.1.2 服务端NFS特殊配置

配置文件增加如下内容:

[root@nfs01 ~]$ tail -2/etc/exports/data172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)/data110.0.0.0/24(ro)

共享目录更改用户和用户组:

[root@nfs01 ~]$ chown -R www.www /data

[root@nfs01 ~]$ ls -ld /data

drwxr-xr-x2www www704月1810:05/data

1.1.1.3 服务端NFS重启

[root@nfs01 ~]$ systemctl reload nfs

1.1.1.4 每个客户端挂载

[root@web01 ~]$ mount -t nfs172.16.1.31:/data /data

[root@web01 ~]$ df -h

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

172.16.1.31:/data       19G    1.8G1   8G    10%    /data

新创建文件验证用户名:

[root@web01 /data]#touchnew_web01.txt

[root@web01 /data]#ls-l

总用量 0

-rw-r--r--1wwwwww0 4月 18 11:01new_web01.txt

-rw-r--r--1wwwwww0 4月 17 11:59oldboy.txt

-rw-r--r--1wwwwww0 4月 17 12:30oldgirl.txt

1.2 NFS服务重点知识梳理

  当多个NFS客户端访问服务器端读写文件时,需要具有以下几个权限:

1. NFS服务器/etc/exports设置需要开放许可写入的权限,即服务器端的共享权限

2. NFS服务器实际要共享的NFS目录权限具有可写入w的权限,即服务器端本地目录的安全权限

3. 每台机器都对应存在和NFS默认配置UID的相同UID的用户

下表列出了常用的重点NFS服务文件或命令。

NFS常用路径                                                 说明

/etc/exports               NFS服务主配置文件,配置NFS具体共享服务的地点,默认内容为                                      空

/var/lib/nfs/etab         NFS配置文件的完整参数设定的文件

/proc/mounts             客户端的挂载参数

1.3 NFS客户端挂载深入

1.3.1 mount -o 参数选项及系统默认设置

参数                                                 参数意义                                               系统默认值

suid/nosuid              当挂载的文件系统上有任何SUID的程序时,                      suid

                                只要使用nosuid就能够取消设置SUID的功能

rw/ro                        可以指定文件系统是只读(ro)或可读写(rw)                  rw

dev/nodev                  是否可以保留装置文件的特殊功能                                    dev

exec/noexec                    是否具有执行文件的权限                                            exec

user/nouser                是否允许用户拥有文件的挂载与卸载功能                       nouser

auto/noauto                auto指的是“mount -a”时会不会被挂载的项目                   auto

                                  如果不需要这个分区随时被挂载,可以设置为noauto

1.3.2 mount -o 参数详细说明

参数选项                                                                    说明

async                              涉及文件系统I/O的操作都是异步处理,即不会同步写到磁盘,                                          能提高性能,但会降低数据安全。

sync                                有I/O操作时,都会同步处理I/O,会降低性能,但数据比较安全。

atime                               在每一次数据访问时,会更新访问文件的时间戳,是默认选                                               项,在高并发的情况下,可以通过添加noatime来取消默认项。

ro                                     以只读的方式挂载一个文件系统

rw                                    以可读写的方式挂载一个文件系统

auto                                 能够被自动挂载通过-a选项

noauto                             不会自动挂载文件系统

defaults                           这是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、                                           async

exec                                 允许文件系统执行二进制文件,取消这个参数,可以提升系统                                           安全性。

noexec                            在挂载的文件系统中不允许执行任何二进制程序,进仅对二进                                          制程序有效。

noatime                            访问文件时不更新文件的时间戳,高并发情况下,一般使用该                                             参数

nodiratime                       不更新文件系统上的directory inode时间戳,高并发环境,推荐                                         显式应用该选项,可以提高系统I/O性能。

nosuid                              不允许set-user-identifier or set-group-identifier位生效。

suid                                  允许set-user-identifier or set-group-identifier位生效。

nouser                              禁止一个普通用户挂载该文件系统,这是默认挂载时的默认选                                            项。

remount                            尝试重新挂载一个已经挂载了的文件系统,这通常被用来改变                                          一个文件系统的挂载标志,从而使得一个只读文件系统变的可                                            写,这个动作不会改变设备或者挂载点。当系统故障时进人                                              single或rescue模式修复系统时,会发现根文件系统经常会变                                            成只读文件系统,不允许修改,此时该命令就派上用场了。具                                            体命令为:mount -o remount,rw /,表示将根文件系统重新挂载                                         使得可写。single或rescue模式修复系统时这个命令十分重要。

dirsync                               目录更新时同步写人磁盘。

1.3.3 企业生产场景NFS共享存储优化

1. 硬件:使用ssd/sas磁盘,可以买多块,制作成raid10。

2. NFS服务器端配置:

/data 10.0.0.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534)

3. NFS客户端挂载优化配置命令:

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,

rsize=131072,wsize=131072172.16.1.31:/data/mnt    <===兼顾安全性能

4. 对NFS服务的所有服务器内核进行优化,执行命令如下:

cat>>/etc/sysctl.conf<<EOF

net.core.wmen_default = 8388608

net.core.rmen_default = 8388608

net.core.wmen_max = 16777216

net.core.rmen_max = 16777216

EOF

执行sysctl -p 生效

5. 大型网站NFS网络文件系统的替代软件为分布式文件系统,如:Moosefs(mfs)、GlusterFS、FastDFS。

1.4 NFS系统应用的优缺点

1.4.1 优点

1. 简单,容易上手,容易掌握。

2. NFS文件系统内数据是在文件系统之上的,即数据是能看得见的。

3. 部署快速维护简单方便,且可控,满足需求就是最好的。

4. 可靠,从软件层面上看,数据可靠性高,经久耐用。

5. 服务非常稳定。

1.4.2 缺点(局限)

1. 存在单点故障,如果NFS服务端宕机了,所有客户端都不能访问共享目录。

2. 在大数据高并发的场合,NFS效率、性能有限。

3. 客户端认证是基于IP和主机名的,权限要根据ID识别,安全性一般。

4. NFS数据是明文的,NFS本身不对数据完整性进行验证。

5. 多台客户机挂载一个NFS服务器时,连接管理维护麻烦。

1.4.3 解决性能问题的方法

1. 使用CDN加速以及自己搭建文件缓存服务(squid、nginx、varnish)。

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

3. 弃用NFS(即读写分离)。

4. 使用分布式文件系统。

读写分离原理图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容