1、硬盘:sas/ssd磁盘,买多块,硬件raid5/raid0,网卡吞吐量要大,至少千兆(多网卡bond0)

2、nfs客户端挂载说明:

文件系统有自己的权限,挂载是建立在文件系统之上的,然后更改挂载的权限,一般不会更改挂载nfs的权限,使用默认值就好,也可以做相应的优化;

挂载权限是对文件权限的一个过滤,一个文件有多个权限,用户在使用文件时调用的是它们之间最小的权限;

3、客户端查看挂载:

df -hT

cat /proc/mounts

172.16.1.31:/data/ /mnt nfs4rw,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,

clientaddr=172.16.1.8,minorversion=0,local_lock=none,addr=172.16.1.31 0 0

4、nfs挂载参数:

5、nfs服务器端配置:

/data 10.0.0.1(rw,rsync,all_squash,anonuid=65534,anongid=65534)

6、nfs客户端挂载配置:

(1)性能和安全兼顾:

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

(2)禁止更新目录及文件时间戳挂载-性能优化:

mount -t nfs -o noatime,nodirtime 10.0.0.8:/data

(3)安全优化的挂载方式(并发会很差,安全代表着性能的降低):

mount -t nfs -o nosuid,nodev,noexec,noatime,nodirtime,intr,rsize=131072,wsize=131072 10.0.0.8:/data

(4)默认的挂载方式(已经很好了,可以不用更改)

mount -t nfs 10.0.0.8:/data

(5)本地文件系统的优化 (一般不会优化的)

(6)如果是nodirtime会报错:

mount /dev/sda1 -o defaults,noatime,async /mnt

7、fstab修改错误导致系统无法启动故障修复:

(1)救援模式或是维护模式:

修改 /etc/fstab :可能不让操作

mount -o rw,remount / #可 (以rw的模式重新挂载分区,不会影响分区的挂载点和其它的属性设置)

(2)文件系统只读故障(文件系统内部自动一致性(只读),async bug):

mount :查看挂载的硬盘的写入格式,找到只读的分区

mount -o rw,remount /

8、对nfs进行内核的优化:

#接收套接字缓冲区的默认值和最大值

[root@nfs01 ~]# cat /proc/sys/net/core/rmem_default

124928

[root@nfs01 ~]# cat /proc/sys/net/core/rmem_max

124928

#发送套接字缓冲区的默认值和最大值

[root@nfs01 ~]# cat /proc/sys/net/core/wmem_default

124928

[root@nfs01 ~]# cat /proc/sys/net/core/wmem_max

124928

vim /etc/syctl.conf

net.core.rmem_default=8388608 #8M

net.core.rmem_max=16777216 #16M

net.core.wmem_default=8388608

net.core.wmem_max=16777216

[root@nfs01 ~]# sysctl -p

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

9、nfs卸载知识点:

强力卸载分区:

umount -lf /dev/sda1

如果卸载nfs挂载文件出现“umount:/mnt device is busy”需要退出挂载目录再进行卸载;

如果nfs server宕机了则需要用使用命令“umount -lf /mnt/” 进行强制的卸载;

10、nfs的优缺点:

nfs是集群中后端的共享存储,确保数据的一致性;

(1)nfs的优点:

nfs文件系统内数据是在文件系统之上的,即数据是能看的见得

部署快速,维护简单方便,且可控,能满足需求

可靠,从软件层面上来看,数据可靠性高,经久耐用,数据是在文件系统之上的

服务非常的稳定

(2)nfs的缺点:

存在单点故障,如果nfs server宕机了,所有的客户都不能访问共享目录。

在大数据高并发的场合,nfs效率低(cdn服务器,95%发数据被消化了,web缓存)

客户端认证是基于ip和主机名的,权限根据id识别,安全性一般(用于内网,则问题不大)

nfs数据是明文的,nfs本身不对数据完整性进行验证

多台客户机器挂载一个nfs服务器时,连接管理麻烦(耦合度高),尤其当nfsServer出现问题时

所有的nfs客户端都处于挂掉状态,可以使用强制卸载进行修复;

nfs服务端和客户端相对来说就是耦合性有些高,扩展性不是很好

11、应用建议:

大中小型网站(2000万/日pv以下)线上应用,门户网站也可以使用,生产场景应该多把数据的访问

往前推,即尽量把静态存储里的资料通过cdn或缓存服务器提供服务,如果没有缓存服务或者是架构不好

存储服务器数量再多也抗不住压力的,而且用户的体验会很差;

对于大型网站,nfs网络文件系统的替代软件为分布式文件系统mfs,glusterFS,fastDFS;

4.13、nfs挂载优化及优缺点的更多相关文章

  1. 二十三、NFS企业级优化

    nfs内核优化:(对于本地文件系统也是有效的) [root@nfsserve ~]# cat /proc/sys/net/core/rmem_default(该文件指定了接收套接字缓冲区大小的缺省值) ...

  2. C++ NFS挂载

    挂载NFS 挂载命令 挂载NFS时,常用的命令比如: #将远程目录挂载到本地/home/share目录下 mount -t nfs -o nolock 192.168.1.10:/tmp /home/ ...

  3. nfs挂载配置

    nfs挂载步骤 服务器端 1.安装nfs-utils rpcbind $sudo yum –y install nfs-utils rpcbind 2.文件开放出去配置/etc/exports 例子: ...

  4. NFS挂载Android文件系统

    NFS挂载Android文件系统 [日期:2012-02-14] 来源:Linux社区  作者:cjok376240497 [字体:大 中 小]     1.安装NFS服务 $sudo apt-get ...

  5. 用Qemu模拟vexpress-a9 (四) --- u-boot引导kernel,用nfs挂载根文件系统

    环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busyb ...

  6. NFS挂载启动

    NFS挂载启动参数: 1.服务器IP.目录(虚拟机IP和 NFS目录) 2.开发的IP 如下我的开发板设置 ipaddr=192.168.1.17           ① 开发板IP serverip ...

  7. TQ210开发板NFS挂载android4.0.4的rootfs的方法

    首先声明的是,我使用的u-boot是自己移植的u-boot2013.01.01而非天嵌官方的那个,至于使用官方的u-boot如何去实现nfs挂载rootfs我没怎么研究过,不过原理方法都是一致的. 主 ...

  8. linux下使用NFS挂载文件系统

    转自linux如何使用NFS挂载文件系统 设备:一台服务器和一台客户端,这里我们把装在PC机上的RedHat作为服务器,而客户端则是嵌入式linux开发板. 环境:开发板已启动,连接好串口和网线,串口 ...

  9. Ubuntu开启NFS,挂载根目录

    1.安装NFS server Ubuntu初始状态是没有NFS server的,首先要安装NFS server: $ sudo apt-get install nfs-kernel-server (安 ...

随机推荐

  1. date命令月日时分年

    # date +%Y/%m/%d2019/09/29[root@a-3e5 lpts-20190910-keyan-v0.2]# date +%H:%M20:00

  2. LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project

    LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project Peter盼 2014-04-23 11:25:49  20302  收藏  ...

  3. 大文件查找 du -ahx . | sort -rh | head -10

    # cd /root@test-W330-C30:/# du -ahx . | sort -rh | head -58.2G .5.6G ./usr3.3G ./usr/share1.9G ./usr ...

  4. 034.Python的__str__,__repr__,__bool__ ,__add__和__len__魔术方法

    Python的其他方法 1 __str__方法 触发时机: 使用print(对象)或者str(对象)的时候触发 功能: 查看对象信息 参数: 一个self接受当前对象 返回值: 必须返回字符串类型 基 ...

  5. 009.kubernets的调度系统之污点和容忍

    Taints和Tolerations(污点和容忍) Taint需要与Toleration配合使用,让pod避开那些不合适的node.在node上设置一个或多个Taint后,除非pod明确声明能够容忍这 ...

  6. linux进阶之Tomcat服务篇

    一.Tomcat简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomca ...

  7. 【备忘】ffmpeg推流命令

    1 组播推流 ffmpeg -re -i "D:\\OTT\\adghg2323.mp4" -vcodec libx264 -vprofile baseline -level 30 ...

  8. Java必会之多线程

    一.线程的基本知识 1.1 线程知识 进程和线程的关系和区别 线程: 线程是进程的基本执行单元,进程想要执行任务,必须要有线程.程序启动默认开启一条线程,这个线程被称为主线程. 进程: 进程是指在系统 ...

  9. IDEA 通过ctrl+滚轮缩放字体大小

    能用图解决的问题,尽量简单粗暴通俗易懂 1.第一种方式 2.第二种方式

  10. 『言善信』Fiddler工具 — 4、Fiddler面布局详解【工具栏】

    目录 (一)工具栏详细介绍 1.第一组工具: 2.第二组工具: 3.第三组工具: 4.第四组工具: (二)工具栏使用说明 1.Fiddler修改代理端口: 2.过滤Tunnel to...443请求链 ...