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. 单臂路由实现不同vlan间通信

    单臂路由实现不同vlan间通信 拓扑图 PC配置 PC1 :192.168.1.1 vlan10 192.168.1.254 PC2 :192.168.2.1 vlan20 192.168.2.254 ...

  2. MySQL给某个用户给某个库表设置权限

    -- 用root(最高权限的用户)进行以下操作-- 创建数据库:emc_power CREATE DATABASE emc_power DEFAULT CHARACTER SET utf8 COLLA ...

  3. [转发]PotPlayer 无损截取视频片段

    PotPlayer 无损截取视频片段 2019-03-29 21:04:21 ForeverStrong 阅读数 2928  收藏 更多 分类专栏: 视频图像编辑   PotPlayer 无损截取视频 ...

  4. Apache Flink 1.12.0 正式发布,DataSet API 将被弃用,真正的流批一体

    Apache Flink 1.12.0 正式发布 Apache Flink 社区很荣幸地宣布 Flink 1.12.0 版本正式发布!近 300 位贡献者参与了 Flink 1.12.0 的开发,提交 ...

  5. HTML的一些标签以及表单

    HTML的一些标签以及表单 图片标签 属性 说明 src 图像的路径 alt 图像不能显示时的替换文字 title 鼠标悬停时显示的内容 border 设置图像边框的宽度 align 对齐方式 相对路 ...

  6. 使用 Bridge to Kubernetes 简化云端开发

    当我们面对一个大型应用程序,它有大量的微服务,并希望完成一些功能开发? 我们面临许多挑战,其中之一将是处理正确的环境,如何进行开发.我们知道,在团队中解决这个问题的最佳方法是将其容器化并在云上托管.这 ...

  7. ADAS车辆在行人安全方面得分很低

    ADAS车辆在行人安全方面得分很低 ADAS vehicles score poorly on pedestrian safety 对于热衷于自动驾驶汽车(AV)的狂热者来说,一个现在病毒性的视频片段 ...

  8. python+selenium_鼠标事件

    引言--在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击.双击.拖动等操作,这些操作包含在ActionChains类中. 一.ActionChains类中鼠标操作 ...

  9. 【NX二次开发】uf5945获得旋转矩阵、uf5947根据变换矩阵移动或复制对象

    返回一个矩阵,可以绕任意轴旋转. 与uf5947结合可以将对象沿着任意轴进行旋转.不是所有对象都能用uf5947变换,带参的实体.部件都不可以用此函数变换.下面是旋转WCS的例子. extern Dl ...

  10. 在线CUR转换器

    在线CUR转换器 在线将文件与cur相互免费转换 鼠标光标cur格式可以利用这网站在线免费转换成jpg,png等任意一种格式,方便快速! 转换格式请点击在线CUR转换