26 文件系统选型及nfs网络文件系统

文件系统:
  文件系统是对一个存储设备上的数据和元数据进行组织的一种机制。文件系统是在一个磁盘(包括光盘、软盘、闪盘及其他存储设备)或分区上组织文件的方法,如ext2,ext3,ext4,NTFS或者FAT,fat32等;
  文件系统是在组织存储文件或者数据的方法,目的是易于查询和存取数据。因此如果磁盘上没有文件系统也就无法存储数据了,所以在磁盘分区后能够使用之前的必须建立对应的文件系统才行(类似买了电脑不装系统无法使用)
  文件系统是基于存储设备的,比如:硬盘或者光盘,并且包括文件物理位置的维护;也可以说文件系统也是虚拟数据或者网络数据存储的方法,比如:NFS,MFS,GFS。目前LINUX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统)、ext2,ext3,ext4,zfs,xfs,Reiserfs等等。
  目前,UNIX/LINUX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统)、ext2,ext3,ext4,zfs和Reiserfs等等。
小结:
(1)文件系统是对一个存储设备上的数据和元数据进行组织的一种机制。
(2)分区必须格式创建文件系统才能存放数据,不同的分区只能有一种文件系统。
(3)linux下常见常见文件系统:ext2,ext3,ext4,zfs,xfs和Reiserfs
  windows下常见文件系统:NTFS,FAT32

 

文件系统选型:
(1)SAS/SATA硬件文件系统选择:
a.reiserfs--大量小文件业务首选
b.xfs--数据库mysql业务,门户案例
c.ext4--视频下载,流媒体,数据库,小文件业务也行,可以用默认的。
d.ext2--蓝汛的cache业务,CDN网站加速服务的
常规应用:
对于centos5.x系列,常规应用就选默认的ext3文件系统即可
对于centos6.x系列,常规应用就选默认的ext4文件系统即可

小结:centos默认的文件系统都是比较优秀的。
xfs,reiserfs这两个文件都是需要单独安装的,默认不支持的,维护可能不方便。
支持大并发并不是过多的做磁盘的优化,而是在前面增加缓存(架构师能力)
(2)SSD文件系统选择:
Ext4/Reiserfs可以作为SSD文件系统,但未对SSD做优化,不能发挥SSD性能,并影响SSD使用时间。
Btrfs对SSD做了优化,mount通过参数启用。但Btrfs仍处于实验阶段,生产环境谨慎使用。
JFFS2/Nilfs2/YAFFS是常用的flash file system,在嵌入式环境广泛使用,建议使用。性能目前还未做测试评估。 
//在Linux中制作文件系统

 

NFS网络文件系统服务:
  NFS即network file systerm,主要功能是通过网络让不同的机器系统之间可以彼此共享文件或者目录。NFS客户端(一般为应用服务器,如web)可以通过挂载(mount)方式将NFS服务器共享的数据文件目录挂载到NFS客户端本地系统中(就是某个挂载点下)。从NFS客户端的机器本地上看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或者目录一样,而实际上确是远端的服务器目录。
  NFS网络文件系统的使用类似于windows系统的网络共享。安全功能、网络驱动器映射,这也和linux里的samba服务器类似。
  NFS一般用来存储共享视频、图片等静态数据,是当前互联网系统架构中最常用的服务之一。

NFS应用场景:
  在企业集群架构的工作场景中,NFS网络文件系统一般被用来储存共享视频、图片、附件等静态资源文件。
  NFS是当前互联网系统架构中最常用的数据储存服务之一,特别是中小型网站公司应用频率很高,大公司或者门户除了使用NFS外还可能使用MFS,GFS,FASTFS,TFS等分布式文件系统。

RPC(remote procedure call)
  NFS是通过网络来进行数据传输的,在传输数据时使用的端口是随机选择的。NFS客户端是怎么知道NFS服务器端使用的是哪个端口呢?答案是:通过远程过程调用(remote procedure call:RPC)协议/服务来实现的。
  NFS支持的功能很多,而不同功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS功能所对应的端口才无法固定,而是随机取用一些未被使用的端口来作为传输之用,其中centos5.x 随机端口<1024的,而centos6.x随机端口都是较大的。
因为端口不固定所以就会造成NFS客户端与NFS服务器端的通讯障碍,因为NFS客户端必须要知道NFS服务器端的数据端口才能通信交互数据。
  这就需要RPC服务来帮忙,NFS的RPC服务最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而可以确保客户端可以连接到正确的NFS端口上去,达到实现数据传输交互数据目的。

  

  

              NFS工作原理流程简图

  

  

posted @ 2017-12-06 17:57  bkycrmn  阅读(510)  评论(0)    收藏  举报