san文件系统与集群文件系统

san文件系统与集群文件系统
san文件系统与集群文件系统

SAN文件系统与集群文件系统

及其应用发展趋势

张敬亮

摘要:本文主要介绍与分析传统网络存储方式与新的存储架构,以及国内自主研发的集群存储系统—蓝鲸集群存储系统与SAN文件系统的发展与应用情况。

关键字:SAN 集群文件系统、蓝鲸集群文件系统

1传统网络存储方式所面临的挑战

随着以NAS1和SAN2为代表的网络存储架构逐渐走向成熟,厂商对其理念进行的大量宣传与推广,以及网络存储系统对数据进行集中存储和管理所带来的优越性,网络存储已经逐渐被人们接受,其应用也迅速推广至各个行业。换言之,传统的NAS和SAN产品很好地解决了分散存储所面临的可用性、可管理性和可扩展性等大部分问题,但随着信息化技术的迅猛发展,诸如高性能计算、视频编辑、遥感信息处理等技术的大规模应用,对网络传存储系统提出了更高的要求:

1.需要支持更多的客户机进行高性能的文件共享,从而提高业务处理效率,减少因数据拷贝而造成的不必要的损失。

2.希望系统的性能和容量可在线扩展,无需停止业务。

然而,在目前主流的存储架构中,存在着如下问题:

1.由于SAN提供的是块级数据共享, 所以,要想实现多个平台的文件共享,还有很多障碍。

2.在SAN系统中,因为每个应用节点的逻辑卷之间无法实现容量共享,所以整个系统的存储利用率仍然比较低。而且,当系统中的逻辑卷容量不足时,无法实现

在不影响业务的情况下的在线扩容。

3.NAS产品可以实现文件共享,而且每个节点都可以同时共享整个系统的存储空间,利用率更高。但在传统的NAS产品中,所有数据都要经过单一I/O(输入/

输出)节点,所以当客户节点增多或负载加大时,NAS产品的文件并发访问性能

不尽如人意,同时,一般的NAS产品都无法实现存储容量和性能的在线扩展。

4.虽然陆续出现了诸如NAS集群、NAS网关等改良的方案,但都因为架构的限制无法实现本质上的突破。

2新的存储架构应运而生

为解决上述问题产生了新型存储架构,即支持集群文件系统的集群存储架构和结合

1 Network Attached Storage,网络附连存储

2 Storage Area Storage,存储区域网

SAN文件系统的SAN存储架构。这些架构具备以下主要特点:

1.提供统一的访问入口和全局的文件系统。

2.提供元数据集群和SAN或专用的存储集群。前者负责处理元数据请求,后者负责处理I/O读写,二者的处理是相互独立、并行进行的,即客户端直接到SAN

上进行数据读写。

3.数据以条带化方式写入SAN或存储集群,可以为应用节点提供更高的多设备聚合带宽。

4.可提供对目前主流集群网络互连技术的支持(包括GE、Myrinet和IB),其中GE 是最主要的形式。由于FC3网络设备价格较高,在集群中采用较少,因此集群文

件系统对FC的支持也很少;而SAN文件系统主要支持包括FC和GE在内的主流存

储网络。

由于使用了元数据和I/O分离处理的带外架构,类似的产品一般都具备以下优势:

1.支持高性能的文件共享,减少数据复制代理的开销和可能导致的错误。

2.可支持上千个节点的大规模集群。

3.可达数十GB/s的高聚合带宽。

4.系统性能、容量皆可动态扩展,且对客户端透明。

5.采用元数据控制器故障转移(FAIL OVER)技术、文件系统日志技术保证服务和数据的可靠性。

3SAN文件系统和集群文件系统产品分析

虽然SAN文件系统和集群文件系统具有一些共同点,但在应用环境中还存在如下差别。

1.有些集群文件系统一般仅支持单一的客户端操作系统类型,主要用于高性能计算中的集群应用,其性能扩展性优于传统的并行文件系统。

2.部分厂商的产品以集群文件系统配合专用的存储集群的方式提供用户使用。

3.有些SAN文件系统可以松耦合,并和SAN配合,支持不同客户端操作系统类型,更多用于服务器环境下的集中存储。SAN文件系统本身可以替代集群文件系统,

但那些仅支持FC的SAN文件系统,在集群规模扩大时,成本会迅速攀升;相反

地,基于IP SAN的SAN文件系统,在大规模的集群应用环境中可以提供非常高

的性价比。

4国内主流集群文件系统和SAN文件系统

目前,主流的集群文件系统有CFS公司的Lustre、Panasas公司的PanFS和北京中科储天信息技术有限公司的BWFS;主流的SAN文件系统有BWFS、ADIC公司的StorNext FS、IBM的SFS等。

其中,由于BWFS同时具备了集群文件系统和SAN文件系统的特点,而且对IP SAN 3 Fibre Channel,光纤通道

也具有良好的支持,所以,在类型上同时属于集群文件系统和SAN文件系统。值得一提的是,BWFS是由我国自主研发的、部分指标接近或超过国外的同类产品。

以下重点介绍Lustre,PanFS和BWFS的结构和特点,并和主流的SAN文件系统和集群文件系统汇总对比。

Lustre是面向I/O密集型集群应用、支持上万个集群节点、数百TB存储容量的对象集群文件系统。Lustre包括客户端(Client)、元数据服务器(MDS4)和对象存储服务器(OST5)三个部分,OST负责数据存储和访问,支持对象访问协议,MDS负责元数据访问和锁管理。Lustre采用门户(Portal)模块支持异构网络环境,底层采用EXT3格式存储数据,对应用提供POSIX(可移植操作系统接口)语义支持,应用通过客户端(client)透明地访问数据。Lustre目前支持2个MDS的故障转移方式,尚未支持MDS集群。Lustre的开发采用开发源码的方式,目前对外发布的是1.4.6版,已经应用在美国洛斯阿拉莫斯(Los Alamos)、劳伦斯利物莫(Lawrence Livermore)、桑迪亚(Sandia)等国家实验室。

PanFS主要面向大规模的Linux集群,其产品在一个设备中集成了刀片式存储节点服务器StorageBlade(9~10片)和刀片式元数据服务器DirectorBlade(1~2片),通过4个GE输出,多个设备可以堆叠。其中DirectorBlade负责处理元数据请求,2个DirectorBlade以集群方式运行,从而提供高数据带宽。在集群节点安装DirectFlow软件,为集群应用提供全局的文件访问接口,底层与Lustre一样,采用EXT3格式存储数据。PanFS目前已经应用在生物信息处理、石油地质勘探、流媒体、计算机辅助工程(CAE)等领域。

BWFS基于IP技术,支持大规模异构集群和应用服务器环境,支持Linux和Windows 平台。BWFS包括元数据服务器(Metadata Server, MS)集群、存储设备(Storage Node,SN)集群、可加载文件系统模块(Installable File System IFS,)和管理控制台(Administration console,AD),MS集群负责处理元数据请求和负载平衡;SN集群负责数据存储和数据服务;IFS安装在集群节点并对应用提供统一的全局文件系统访问接口;AD为用户提供BWFS 的管理服务。BWFS采用带外数据模型、延迟绑定LazyBinding、分层资源管理、针对应用的动态一致性语义等技术,集群节点直接到SN集群并发地访问数据,且MS集群和SN集群均可以在线动态扩展,具有非常高的I/O聚合带宽和极强的I/O可扩展性,在某些应用领域,性能比原有系统提高了数十倍。目前,已经应用到石油地质勘探、遥感数据处理、高性能计算、大型信息中心、信息检索与处理等多个领域。

下表汇总产品国内市场上主流的SAN文件系统和集群文件系统:

厂商名称产品文件系统类型应用节点支持的操作系统

IBM TotalStorage

SFS SAN Windows、Linux、Unix ADIC StorNext SAN Windows、Linux、Unix

NRCHPC BWFS 集群、SAN Widows、Linux CFS Lustre 集群Linux

Panasas Panfs 集群Linux

(下转第29页)

4 Meta Data Server

5 Object Storage Target.

5 应用发展趋势

虽然SAN文件系统和集群文件系统在我国的应用和推广的时间不长,但由于其可提供高性能的文件共享及良好的可扩展性,在高性能计算、视频处理、遥感信息处理等领域被越来越多的用户关注和应用。

通过上述分析,我们可以看到集群文件系统和SAN文件系统,均以全新的方式解决了传统网络存储中所面临的问题。尤其是SAN文件系统具有更高的灵活性,可以更好地解决数据爆炸时代所带来的存储挑战。这意味着,和SAN结合的SAN文件系统已成为存储基础架构发展的一种必然趋势。随着信息技术的不断发展,在不久的将来,将会有更多的存储厂商参与其中,并且得到越来越广泛的应用。

作者简介:

张敬亮: 中科院计算所工程中心

分布式文件系统Hadoop HDFS与传统文件系统Linux FS的比较与分析

6苏州大学学报(工科版)第30卷 图1I-IDFS架构 2HDFS与LinuxFS比较 HDFS的节点不管是DataNode还是NameNode都运行在Linux上,HDFS的每次读/写操作都要通过LinuxFS的读/写操作来完成,从这个角度来看,LinuxPS是HDFS的底层文件系统。 2.1目录树(DirectoryTree) 两种文件系统都选择“树”来组织文件,我们称之为目录树。文件存储在“树叶”,其余的节点都是目录。但两者细节结构存在区别,如图2与图3所示。 一二 Root \ 图2ItDFS目录树围3LinuxFS目录树 2.2数据块(Block) Block是LinuxFS读/写操作的最小单元,大小相等。典型的LinuxFSBlock大小为4MB,Block与DataN-ode之间的对应关系是固定的、天然存在的,不需要系统定义。 HDFS读/写操作的最小单元也称为Block,大小可以由用户定义,默认值是64MB。Block与DataNode的对应关系是动态的,需要系统进行描述、管理。整个集群来看,每个Block存在至少三个内容一样的备份,且一定存放在不同的计算机上。 2.3索引节点(INode) LinuxFS中的每个文件及目录都由一个INode代表,INode中定义一组外存上的Block。 HDPS中INode是目录树的单元,HDFS的目录树正是在INode的集合之上生成的。INode分为两类,一类INode代表文件,指向一组Block,没有子INode,是目录树的叶节点;另一类INode代表目录,没有Block,指向一组子INode,作为索引节点。在Hadoop0.16.0之前,只有一类INode,每个INode都指向Block和子IN-ode,比现有的INode占用更多的内存空间。 2.4目录项(Dentry) Dentry是LinuxFS的核心数据结构,通过指向父Den姆和子Dentry生成目录树,同时也记录了文件名并 指向INode,事实上是建立了<FileName,INode>,目录树中同一个INode可以有多个这样的映射,这正是连

【大数据软件】Gcluster集群的文件系统

1 理论知识 1.1 概念 1.1.1 全局统一命名空间的定义 全局统一命名空间将磁盘和内存资源集成一个单一的虚拟存储池,对上层用户屏蔽了底层的物理硬件。 1.1.2 GlusterFS的定义 GlusterFS是一套可扩展的开源群集文件系统,并能够轻松地为客户提供全局命名空间、分布式前端以及高达数百PB级别的扩展性。 1.1.3 元数据的定义 元数据,是用来描述一个给定的文件或是区块在分布式文件系统中所处的位置。注:元数据时网络附加存储解决方案在规模化方面的致命弱点,因其所有节点都必须不断与服务器(或集群组)保持联系以延续真个群集的元数据,故增加了额外的开销,致使硬件在等待响应元数据请求过程中而效率低下。 1.2 数据定位技术 Gluster通过其自有的弹性Hash算法可计算出文件在群集中每个节点的位置, 而无需联系群集内的其他节点,从而降低了追踪元数据的变化而带来额外的开销。 1.2.1 数据访问流程 - 根据输入的文件路径和文件名计算hash值 - 根据hash值在群集中选择子卷(存储服务器),进行文件定位 - 对所选择的子卷进行数据访问 1.2.2 Davies-Meyer算法 Gluster使用Davies-Meyer算法计算文件名的hash值,获得一个32位整数,算法特点如下: - 非常好的hash分布性

- 高效率的计算 1.3 Gluster的架构 1.3.1 存储服务器(Brick Server) - 存储服务器主要提供基本的数据存储功能 - 最终通过统一调度策略分布在不同的存储服务器上(通过Glusterfsd来处理数据服务请求) - 数据以原始格式直接存储于服务器本地文件系统(EXT3/EXT4/XFS/ZFS 等) 1.3.2 客户端和存储网关(NFS/Samba)

简单文件系统的实现

简单文件系统的实现 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第三章简单文件系统的实现 设计目的和内容要求 1.设计目的 通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部数据结构、功能以及实现过程的理解。 2.内容要求 (1)在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个Windows文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。 (2)文件存储空间的分配可采用显式链接分配或其他的办法。 (3)空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT 中。 (4)文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 (5)要求提供以下操作命令: my_format:对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数据结构。

●my_mkdir:用于创建子目录。 ●my_rmdir:用于删除子目录。 ●my_ls:用于显示目录中的内容。 ●my_cd:用于更改当前目录。 ●my_create:用于创建文件。 ●my_open:用于打开文件。 ●my_close:用于关闭文件。 ●my_write:用于写文件。 ●my_read:用于读文件。 ●my_rm:用于删除文件。 ●my_exitsys:用于退出文件系统。 3.学时安排 授课2学时,上机9学时。 4.开发平台 C或C++均可。 5.思考 (1)我们的数据结构中的文件物理地址信息是使用C语言的指针类型、还是整型,为什么 (2)如果引入磁盘索引结点,上述实现过程需要作哪些修改 (3)如果设计的是一个单用户多任务文件系统,则系统需要进行哪些扩充(尤其要考虑读写指针问题)如果设计的是一个多用户文件系统,则又要进行哪些扩充

多媒体集群指挥调度系统

多媒体集群指挥调度系统公安系统解决方案 杭州溢远网络技术有限公司 2014年1月

目录

第一章概述 公安机关是政府维护社会稳定,保障人民生命财产安全的重要职能部门,承担了预防、制止犯罪、打击社会恶势力、反恐、管理交通、消防、危险物品等重要的职责。 公安人员在办理案件的过程中,由于犯罪分子都有一定的反侦查的手段和措施,目前主要的通讯手段还是模拟集群、固定视频监控和少量的单兵移动视频为主,由于技术的限制,这些系统都具有一定的使用局限性。 随着城市化进程的不断扩大,城区高楼大厦对信号的屏蔽作用日趋严重。同时,一些偏远乡镇在融入城市化进程中的同时并没有被已经建设的公安专网覆盖,因此在新兴城市的城区外围有很多分散的地方,传统集群覆盖的范围一般都在老城区范围以内,很难形成一套整体统一的指挥。 在一些重大安全保障和大案要案的调查取证中,一般都需要公安、海关、武警等多部门联合行动,执行一次联合执法任务都需要做大量的协助和前期准备工作。负责统一指挥的领导或首长都需要对现场情况有充分的了解和掌握,才能做出准确的判断和指挥,通常情况下现有的监控手段还无法满足这样对机动性要求很高,进行联动指挥和多警种信息共享的行动。另外现场实时视频情况及照片的及时保存,作为对犯罪分子定罪的依据也极为重要。

公安人员办理相关犯罪案件的时候,迫切需要一种能同时提供多种业务,无线信号覆盖范围广泛,使用时无地域限制,信号盲点少,分组容量大,终端保密性高,抗干扰能力强的系统设备来满足公安侦办案件时对通讯的保障和其他功能的需要。在功能方面,则希望能具备抓拍现场图片和视频片段的能力,以及动态视频采集的能力,为日后案件侦查、侦破、人员抓捕以及最终定罪提供可靠的法律证据,同时也希望能满足隐蔽拍摄和位置信息定位,让 指挥中心随时了解人员的位置及状态信息,使得指挥决策更加快捷、直观、有效。 目前,公安部门在道路交通、治安防范、巡访管控、维稳处突、信息导侦、大型安保、特警执勤等各方面,有同步化、三维化、可视化的迫切需求。通过本系统的建设将为用户建立一套“听得到、看得见、查的着”的融合通信指挥调度平台。 1.1应用场景 公安机关保卫国家安全与维护社会治安秩序的任务,主要是通过公安专业工作实现的,公安专业工作主要包括:刑事执法工作、治安行政管理工作、保卫工作、警卫工作。结合公安专业工作内容,系统主要有以下几个运用场景: 1.1.1日常公开执法 路面交巡警在公开执法过程中,利用系统平台和车载手持终端系

Hadoop分布式文件系统:架构和设计

Hadoop分布式文件系统:架构和设计 引言 (2) 一前提和设计目标 (2) 1 hadoop和云计算的关系 (2) 2 流式数据访问 (2) 3 大规模数据集 (2) 4 简单的一致性模型 (3) 5 异构软硬件平台间的可移植性 (3) 6 硬件错误 (3) 二HDFS重要名词解释 (3) 1 Namenode (4) 2 secondary Namenode (5) 3 Datanode (6) 4 jobTracker (6) 5 TaskTracker (6) 三HDFS数据存储 (7) 1 HDFS数据存储特点 (7) 2 心跳机制 (7) 3 副本存放 (7) 4 副本选择 (7) 5 安全模式 (8) 四HDFS数据健壮性 (8) 1 磁盘数据错误,心跳检测和重新复制 (8) 2 集群均衡 (8) 3 数据完整性 (8) 4 元数据磁盘错误 (8) 5 快照 (9)

引言 云计算(cloud computing),由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。在此过程中被服务者只是提供需求并获取服务结果,对于需求被服务的过程并不知情。同时服务者以最优利用的方式动态地把资源分配给众多的服务请求者,以求达到最大效益。 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS 能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。 一前提和设计目标 1 hadoop和云计算的关系 云计算由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。针对海量文本数据处理,为实现快速文本处理响应,缩短海量数据为辅助决策提供服务的时间,基于Hadoop云计算平台,建立HDFS分布式文件系统存储海量文本数据集,通过文本词频利用MapReduce原理建立分布式索引,以分布式数据库HBase 存储关键词索引,并提供实时检索,实现对海量文本数据的分布式并行处理.实验结果表 明,Hadoop框架为大规模数据的分布式并行处理提供了很好的解决方案。 2 流式数据访问 运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。 3 大规模数据集 运行在HDFS上的应用具有很大的数据集。HDFS上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑数以千万计的文件。

RedHat GFS 集群文件系统入门和进阶 资源帖

https://www.360docs.net/doc/2a12064877.html,/viewthread.php?tid=777867&extra=page %3D1%26filter%3Ddigest GFS = RedHat Global File System GFS 的入门必读 以下为入门必看 - GFS 的介绍 https://www.360docs.net/doc/2a12064877.html,/solutions/gfs/ - RedHat杂志关于GFS的最佳实践https://www.360docs.net/doc/2a12064877.html,/magazine/009jul05/features/gfs_practices/ - RedHat杂志关于GFS和以太网和SAN光纤存储网的介绍https://www.360docs.net/doc/2a12064877.html,/magazine/008jun05/features/gfs/ - RedHat杂志关于企业如何用GFS来存储数据的介绍https://www.360docs.net/doc/2a12064877.html,/magazine/009jul05/features/gfs_overview/ - RedHat杂志关于用GFS来做数据共享的介绍https://www.360docs.net/doc/2a12064877.html,/magazine/006apr05/features/gfs/ - RedHat杂志关于RHCS集群的介绍https://www.360docs.net/doc/2a12064877.html,/magazine/009jul05/features/cluster/ - RedHat 官方的GFS 概述文档https://www.360docs.net/doc/2a12064877.html,/whitepapers/rha/gfs/GFS_INS0032US.pdf - RedHat 关于GFS扩展性的介绍 https://www.360docs.net/doc/2a12064877.html,/solutions/scaleout/ - RedHat和HP提供的HP MC/SG + GFS的方案介绍https://www.360docs.net/doc/2a12064877.html,/promo/hp_serviceguard/ (注意右侧的多个连接所指向的文档) - GFS 6.1U3版本的Release notes https://www.360docs.net/doc/2a12064877.html,/docs/manua ... HEL4U3-relnotes.txt - GFS 6.1U2版本的Release notes https://www.360docs.net/doc/2a12064877.html,/docs/manua ... HEL4U2-relnotes.txt - GFS 6.1的Release notes https://www.360docs.net/doc/2a12064877.html,/docs/manua ... FS_6_1-relnotes.txt - GFS 6.1的Admin Guide https://www.360docs.net/doc/2a12064877.html,/docs/manuals/csgfs/browse/rh-gfs-en/ - 本版suran007 同学提供的"GFS6.1 ON RHAS4 U2安装文档" https://www.360docs.net/doc/2a12064877.html,/viewthr ... &extra=page%3D1

模拟文件系统的设计与实现

中北大学 操作系统课程设计 说明书 学院、系:软件学院 专业:软件工程 学生姓名:xxx 学号:xxx 设计题目:模拟文件系统的设计与实现 起迄日期: 2015年12月28日- 2016年1月8日指导教师:xxx 2016 年1月8日

1需求分析 通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力;掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,并了解操作系统的发展动向和趋势。 模拟二级文件管理系统的课程设计目的是通过研究Linux的文件系统结构,模拟设计一个简单的二级文件系统,第一级为主目录文件,第二级为用户文件。 2总体设计 结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步理解操作系统。 文件的创建: create 文件关闭:close 文件的打开:open 文件的读:read 文件的写:write 文件关闭:close 删除文件:delete 创建子目录:mkdir 删除子目录:rmdir 列出文件目录:dir 退出:exit 系统执行流程图 开始 选择操作 创建文件删 除 文 件 读 文 件 写 文 件 创 建 文 件 夹 删 除 文 件 夹 删 除 子 目 录 显示 当前 子目 录 创 建 子 目 录 更 改 目 录 退 出

退出 3.详细设计 主要数据结构: #define MEM_D_SIZE 1024*1024 //总磁盘空间为1M #define DISKSIZE 1024 //磁盘块的大小1K #define DISK_NUM 1024 //磁盘块数目1K #define FATSIZE DISK_NUM*sizeof(struct fatitem) //FAT表大小 #define ROOT_DISK_NO FATSIZE/DISKSIZE+1 //根目录起始盘块号#define ROOT_DISK_SIZE sizeof(struct direct) //根目录大小 #define DIR_MAXSIZE 1024 //路径最大长度为1KB #define MSD 5 //最大子目录数5 #define MOFN 5 //最大文件深度为5 #define MAX_WRITE 1024*128 //最大写入文字长度128KB struct fatitem /* size 8*/ { int item; /*存放文件下一个磁盘的指针*/ char em_disk; /*磁盘块是否空闲标志位 0 空闲*/ }; struct direct { /*-----文件控制快信息-----*/ struct FCB { char name[9]; /*文件/目录名 8位*/ char property; /*属性 1位目录 0位普通文件*/ int size; /*文件/目录字节数、盘块数)*/

san文件系统与集群文件系统

SAN文件系统与集群文件系统 及其应用发展趋势 张敬亮 摘要:本文主要介绍与分析传统网络存储方式与新的存储架构,以及国内自主研发的集群存储系统—蓝鲸集群存储系统与SAN文件系统的发展与应用情况。 关键字:SAN 集群文件系统、蓝鲸集群文件系统 1传统网络存储方式所面临的挑战 随着以NAS1和SAN2为代表的网络存储架构逐渐走向成熟,厂商对其理念进行的大量宣传与推广,以及网络存储系统对数据进行集中存储和管理所带来的优越性,网络存储已经逐渐被人们接受,其应用也迅速推广至各个行业。换言之,传统的NAS和SAN产品很好地解决了分散存储所面临的可用性、可管理性和可扩展性等大部分问题,但随着信息化技术的迅猛发展,诸如高性能计算、视频编辑、遥感信息处理等技术的大规模应用,对网络传存储系统提出了更高的要求: 1.需要支持更多的客户机进行高性能的文件共享,从而提高业务处理效率,减少因数据拷贝而造成的不必要的损失。 2.希望系统的性能和容量可在线扩展,无需停止业务。 然而,在目前主流的存储架构中,存在着如下问题: 1.由于SAN提供的是块级数据共享, 所以,要想实现多个平台的文件共享,还有很多障碍。 2.在SAN系统中,因为每个应用节点的逻辑卷之间无法实现容量共享,所以整个系统的存储利用率仍然比较低。而且,当系统中的逻辑卷容量不足时,无法实现 在不影响业务的情况下的在线扩容。 3.NAS产品可以实现文件共享,而且每个节点都可以同时共享整个系统的存储空间,利用率更高。但在传统的NAS产品中,所有数据都要经过单一I/O(输入/ 输出)节点,所以当客户节点增多或负载加大时,NAS产品的文件并发访问性能 不尽如人意,同时,一般的NAS产品都无法实现存储容量和性能的在线扩展。 4.虽然陆续出现了诸如NAS集群、NAS网关等改良的方案,但都因为架构的限制无法实现本质上的突破。 2新的存储架构应运而生 为解决上述问题产生了新型存储架构,即支持集群文件系统的集群存储架构和结合 1 Network Attached Storage,网络附连存储 2 Storage Area Storage,存储区域网

分布式文件存储方案

1DFS系统 (DFS) 是AFS的一个版本,作为开放软件基金会(OSF)的分布 分布式文件系统 式计算环境(DCE)中的文件系统部分。 如果文件的访问仅限于一个用户,那么分布式文件系统就很容易实现。可惜的是,在许多网络环境中这种限制是不现实的,必须采取并发控制来实现文件的多用户访问,表现为如下几个形式: 只读共享任何客户机只能访问文件,而不能修改它,这实现起来很简单。 受控写操作采用这种方法,可有多个用户打开一个文件,但只有一个用户进行写修改。而该用户所作的修改并不一定出现在其它已打开此文件的用户的屏幕上。 并发写操作这种方法允许多个用户同时读写一个文件。但这需要操作系统作大量的监控工作以防止文件重写,并保证用户能够看到最新信息。这种方法即使实现得很好,许多环境中的处理要求和网络通信量也可能使它变得不可接受。 NFS和AFS的区别 NFS和AFS的区别在于对并发写操作的处理方法上。当一个客户机向服务器请求一个文件(或数据库记录),文件被放在客户工作站的高速缓存中,若另一个用户也请求同一文件,则它也会被放入那个客户工作站的高速缓存中。当两个客户都对文件进行修改时,从技术上而言就存在着该文件的三个版本(每个客户机一个,再加上服务器上的一个)。有两种方法可以在这些版本之间保持同步: 无状态系统在这个系统中,服务器并不保存其客户机正在缓存的文件的信息。因此,客户机必须协同服务器定期检查是否有其他客户改变了自己正在缓存的文件。这种方法在大的环境中会产生额外的LAN通信开销,但对小型LAN来说,这是一种令人满意的方法。NFS 就是个无状态系统。 回呼(Callback)系统在这种方法中,服务器记录它的那些客户机的所作所为,并保留它们正在缓存的文件信息。服务器在一个客户机改变了一个文件时使用一种叫回叫应答(callbackpromise)的技术通知其它客户机。这种方法减少了大量网络通信。AFS(及OSFDCE的DFS)就是回叫系统。客户机改变文件时,持有这些文件拷贝的其它客户机就被回叫并通知这些改变。 无状态操作在运行性能上有其长处,但AFS通过保证不会被回叫应答充斥也达到了这一点。方法是在一定时间后取消回叫。客户机检查回叫应答中的时间期限以保证回叫应答是当前有效的。回叫应答的另一个有趣的特征是向用户保证了文件的当前有效性。换句话说,若

集群系统实现方案详解

集群系统实现方案详解 有一种常见的方法可以大幅提高服务器的安全性,这就是集群。 1、集群的基本概念 Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。 大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。 一个Cluster包含多台(至少二台)拥有共享数据存储空间的服务器。任何一台服务器运行一个应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。 Cluster内各节点服务器通过一内部局域网相互通讯。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上任一故障发生时,客户将能很快连接到新的应用服务上。 2、集群的硬件配置 镜像服务器双机 集群中镜像服务器双机系统是硬件配置最简单和价格最低廉的解决方案,通常镜像服务的硬件配置需要两台服务器,在每台服务器有独立操作系统硬盘和数据存贮硬盘,每台服务器有与客户端相连的网卡,另有一对镜像卡或完成镜像功能的网卡。

镜像服务器具有配置简单,使用方便,价格低廉诸多优点,但由于镜像服务器需要采用网络方式镜像数据,通过镜像软件实现数据的同步,因此需要占用网络服务器的CPU及内存资源,镜像服务器的性能比单一服务器的性能要低一些。 有一些镜像服务器集群系统采用内存镜像的技术,这个技术的优点是所有的应用程序和网络操作系统在两台服务器上镜像同步,当主机出现故障时,备份机可以在几乎没有感觉的情况下接管所有应用程序。因为两个服务器的内存完全一致,但当系统应用程序带有缺陷从而导致系统宕机时,两台服务器会同步宕机。这也是内存镜像卡或网卡实现数据同步,在大数据量读写过程中两台服务器在某些状态下会产生数据不同步,因此镜像服务器适合那些预算较少、对集群系统要求不高的用户。 硬件配置范例: ?网络服务器两台 ?服务器操作系统硬盘两块 ?服务器数据存贮硬盘视用户需要确定 ?服务器镜像卡(部分软件可使用标准网卡)两块 ?网络服务网卡两块 双机与磁盘阵列柜 与镜像服务器双机系统相比,双机与磁盘阵列柜互联结构多出了第三方生产的磁盘阵列柜,目前,豪威公司、精业公司等许多公司都生产有磁盘阵列柜,在磁盘阵列柜中安装有磁盘阵列控制卡,阵列柜可以直接将柜中的硬盘配置成为逻辑盘阵。磁盘阵列柜通过SCSI电缆与服务器上普通SCSI卡相连,系统管理员需直接在磁盘柜上配置磁盘阵列。 双机与磁盘阵列柜互联结构不采用内存镜像技术,因此需要有一定的切换时间(通常为60——180秒),它可以有郊的避免由于应用程序自身的缺陷导致系统全部宕机,同时由于所有的数据全部存贮在中置的磁盘阵列柜中,当工作机出现故障时,备份机接替工作机,从磁盘阵列中读取数据,所以不会产生数据不同步的问题,由于这种方案不需要网络镜像同步,因此这种集群方案服务器的性能要比镜像服务器结构高出很多。双机与磁盘阵列柜互联结构的缺点是

NTFS文件系统中文件的安全擦除7页word

NTFS文件系统中文件的安全擦除 NTFS(New Technology File System)是微软开发的具有较好容错性和安全性的文件系统。NTFS将磁盘卷中的所有数据都以文件的方式,而数据类型,大小等信息都作为文件的属性,记录在主文件表(Main File Table, MFT)记录中,每条MFT记录都分配同样大小的空间描述文件(夹)。当文件放入回收站并被清空删除时,操作系统将文件MFT记录相应字段置为删除标志(在MFT中0x16偏移处),同时文件MF记录号在$MFT的Bitmap属性 中对应位置0标志该MFT记录号可供重新分配,将文件占用的数据簇在$Bitmap中的对应位置0标志空闲可供再分配。虽然删除文件,在操作系 统用户视图中无法获取,但通过数据恢复手段,该文件仍然可以再现。 本文对NTFS的主文件表记录及位图文件进行分析,研究了NTFS文件系统下文件的安全擦除。 1 NTFS 卷文件管理 1.1 簇管理 NTFS以簇为基本单位分配回收存储空间[1],与FAT结构不同,NTFS 卷(volume)从0扇区开始划分簇,每簇为1,2,4或8个扇区,根据分区的大小不同,最大值不超过8扇区,格式化时可以以格式化参数的形式设定。而在FAT中,由于卷管理空间的限制,只能通过增加簇大小来管理大容量硬盘,较NTFS文件系统,容易造成存储空间的浪费。NTFS簇大小, 即每簇扇区数保存在BOOT扇区(0扇区)。同时,NTFS通过Bitmap文件记录所有簇的使用情况,1个bit对应一个簇,值为1表示已经分配,为0 表示未分配。FAT文件系统中的FAT表不仅记录了数据簇的使用情况,还

操作系统简单文件系统设计及实现

简单文件系统的设计及实现 一、实验目的: 1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解 2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 二、实验内容: 1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。 3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作 4、算法与框图 ?因系统小,文件目录的检索使用了简单的线性搜索。 ?文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。 ?程序中使用的主要设计结构如下:主文件目录和用户文件目录( MFD、UFD); 打开文件目录( AFD)(即运行文件目录) 文件系统算法的流程图如下

三、工具/准备工作: 在开始本实验之前,请回顾教科书的相关内容。并做以下准备: 1) 一台运行Windows 2000 Professional或Windows 2000 Server的操作系统的计算机。 2) 计算机中需安装Visual C++ 6.0专业版或企业版 四、实验要求: (1)按照学校关于实验报告格式的要求,编写实验报告(含流程图); (2)实验时按两人一组进行分组,将本组认为效果较好的程序提交检查。

3种分布式文件系统

第一部分CEPH 1.1 特点 Ceph最大的特点是分布式的元数据服务器通过CRUSH,一种拟算法来分配文件的locaiton,其核心是 RADOS(resilient automatic distributed object storage),一个对象集群存储,本身提供对象的高可用,错误检测和修复功能。 1.2 组成 CEPH文件系统有三个主要模块: a)Client:每个Client实例向主机或进程提供一组类似于POSIX的接口。 b)OSD簇:用于存储所有的数据和元数据。 c)元数据服务簇:协调安全性、一致性与耦合性时,管理命名空间(文件名和 目录名) 1.3 架构原理 Client:用户 I/O:输入/输出 MDS:Metadata Cluster Server 元数据簇服务器 OSD:Object Storage Device 对象存储设备

Client通过与OSD的直接通讯实现I/O操作。这一过程有两种操作方式: 1. 直接通过Client实例连接到Client; 2. 通过一个文件系统连接到Client。 当一个进行打开一个文件时,Client向MDS簇发送一个请求。MDS通过文件系统层级结构把文件名翻译成文件节点(inode),并获得节点号、模式(mode)、大小与其他文件元数据。注意文件节点号与文件意义对应。如果文件存在并可以获得操作权,则MDS通过结构体返回节点号、文件长度与其他文件信息。MDS同时赋予Client操作权(如果该Client还没有的话)。目前操作权有四种,分别通过一个bit表示:读(read)、缓冲读(cache read)、写(write)、缓冲写(buffer write)。在未来,操作权会增加安全关键字,用于client向OSD证明它们可以对数据进行读写(目前的策略是全部client 都允许)。之后,包含在文件I/O中的MDS被用于限制管理能力,以保证文件的一致性与语义的合理性。 CEPH产生一组条目来进行文件数据到一系列对象的映射。为了避免任何为文件分配元数据的需要。对象名简单的把文件节点需要与条目号对应起来。对象复制品通过CRUSH(著名的映射函数)分配给OSD。例如,如果一个或多个Client打开同一个文件进行读操作,一个MDS会赋予他们读与缓存文件内容的能力。通过文件节点号、层级与文件大小,Client可以命名或分配所有包含该文件数据的对象,并直接从OSD簇中读取。任何不存在的对象或字节序列被定义为文件洞或0。同样的,如果Client打开文件进行写操作。它获得使用缓冲写的能力。任何位置上的数据都被写到合适的OSD上的合适的对象中。Client 关闭文件时,会自动放弃这种能力,并向MDS提供新的文件大小(写入时的最大偏移)。它重新定义了那些存在的并包含文件数据的对象的集合。 CEPH的设计思想有一些创新点主要有以下两个方面: 第一,数据的定位是通过CRUSH算法来实现的。

简单文件系统的实现

第三章简单文件系统的实现 3.1 设计目的和内容要求 1. 设计目的 通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部数据结构、功能以及实现过程的理解。 2.内容要求 (1)在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个Windows 文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。 (2)文件存储空间的分配可采用显式链接分配或其他的办法。 (3)空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT中。 (4)文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 (5)要求提供以下操作命令: my_format:对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数据结构。 my_mkdir:用于创建子目录。 my_rmdir:用于删除子目录。 my_ls:用于显示目录中的内容。 my_cd:用于更改当前目录。 my_create:用于创建文件。 my_open:用于打开文件。 my_close:用于关闭文件。

my_write:用于写文件。 my_read:用于读文件。 my_rm:用于删除文件。 my_exitsys:用于退出文件系统。 3.学时安排 授课2学时,上机9学时。 4.开发平台 C或C++均可。 5.思考 (1)我们的数据结构中的文件物理地址信息是使用C语言的指针类型、还是整型,为什么? (2)如果引入磁盘索引结点,上述实现过程需要作哪些修改? (3)如果设计的是一个单用户多任务文件系统,则系统需要进行哪些扩充(尤其要考虑读写指针问题)?如果设计的是一个多用户文件系统,则又要进行哪些扩充? 3.2 预备知识 3.2.1 FAT文件系统介绍 1.概述 FAT文件系统是微软公司在其早期的操作系统MS-DOS及Windows9x中采用的文件系统,它被设计用来管理小容量的磁盘空间。FAT文件系统是以他的文件组织方式——文件分配表(file allocation table,FAT)命名的,文件分配表的每个表项中存放某文件的下一个盘块号,而该文件的起始盘块号则保存在它的文件控制块FCB中。在文件分配表中,一般用FFFF来标识文件的结束;用0000来标识某个逻辑块未被分配,即是空闲块。为了提高文件系统的可靠性,在逻辑磁盘上通常设置两张文件分配表,它们互为备份。此外,文件分配表必须存放在逻辑磁盘上的固定位置,而根目录区通常位于FAT2之后,以便操作系统在启动时能够定位所需的文件,其磁盘布局如图3-1所示: 引导块FAT1FAT2根目录区数据区

如何选择集群文件系统

如何选择集群文件系统 本文将介绍一些常用的物理存储架构以及群集和分布式文件系统。希望这能让你们对这类技术有一个初步的认识,以便更好地满足高使用率存储的需求。 建立集群和使用率高的数据存储解决方案有很多选择,但是要想弄清每种选择的优劣则要花点时间进行研究。存储架构和文件系统的选择至关重要,因为大部分的存储解决方案都有严格的限制条件,需要仔细设计工作环境。 基础架构 有些读者也许希望装配一组可以并行访问同一个文件系统的服务器,而另一些读者可能想复制存储器并提供并行访问和冗余。有两种方法可以实现多服务器访问同一个磁盘,一种方法是让那些服务器都可以看到那个磁盘,另一种方法则是通过复制。 共享磁盘结构在光纤通道SAN和iSCSI领域是最常见的结构。配置存储系统相当简单,这样多个服务器就可以看到同一个逻辑块设备或LUN,但是如果没有群集文件系统,那么当多个服务器同时想使用那个逻辑块设备时就会出现混乱。这个问题与使用群集文件系统有关,我们将在下文中详细介绍。 一般而言,共享磁盘系统有个弱点,那就是存储系统。但是情况也并非总是如此,因为利用现在的技术是很难理解共享盘的概念的。SAN、NAS设备和基于Linux系统的商品硬件可以将所有的基础磁盘实时复制到另一个存储节点,从而提供一个模拟共享盘环境。基础模块设备被复制之后,那些节点就可以访问相同的数据,也可以运行同一个群集文件系统了,但是这种复制超出了传统共享盘的定义。 相反,不共享才是共享盘的问题所在。连接着不同存储设备的节点会在每个模块被写入数据时将变化通知给主服务器。现在,不共享架构仍存在于Hadoop那样的文件系统之中,那些文件系统可以在许多节点故意建立多个数据副本,从而提高性能和冗余。而且,在不同存储设备或节点之间利用自己的存储设备进行复制的群集也可以做到不共享。 设计选择 正如我们所说的,你不能通过多个服务器访问同一个模块设备。你听说过文件系统锁定,因此普通的文件系统并不能实现这一点就有些奇怪了。 在文件系统级别上,文件系统本身会将文件锁定以保证数据不会出错。但是在操作系统级别上,文件系统启动程序完全可以访问基础模块设备,它们可以在基层模块设备之间自由的漫游。大部分文件系统都会认为它们被分配了一个模块设备,而且那个模块设备也只是它们自己所有。 为了解决这个问题,集群文件系统采用了一种并行控制机制。有些集群文件系统将把元数据保存在共享设备的一个分区里,另一些集群文件系统则会使用集中式元数据服务器来保存元数据。不管采用哪种方案,集群中的所有节点都可以看到文件系统的状态,从而保证安全的并行访问。然而,如果你想保证系统的高利用率和消除单点故障问题,那么采用集中式元数据服务器的解决方案就要略逊一筹了。 另一个注意事项:集群文件系统要求在节点发生故障时迅速做出反应。如果某个节点写入错误数据或由于某种原因停止关于元数据变化的通信,其他节点必须能够将它隔离出去。隔离可以通过多种方式来实现,最常用的方法是利用断电管理来实现。健康的节点可以在发现问题时第一时间关闭另一个节点电源(STONITH)以保全数据。 集群文件系统词典 GFS:全局文件系统 GFS是应用最广泛的集群文件系统。它是由红帽公司开发出来的,允许所有集群节点并行访问。元数据通常会保存在共享存储设备或复制存储设备的一个分区里。

Hadoop分布式文件系统方案

Hadoop分布式文件系统:架构和设计要点 Hadoop分布式文件系统:架构和设计要点 原文:https://www.360docs.net/doc/2a12064877.html,/core/docs/current/hdfs_design.html 一、前提和设计目标 1、硬件错误是常态,而非异常情况,HDFS可能是有成百上千的server组成,任何一个组件都有可能一直失效,因此错误检测和快速、自动的恢复是HDFS的核心架构目标。 2、跑在HDFS上的应用与一般的应用不同,它们主要是以流式读为主,做批量处理;比之关注数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。 3、HDFS以支持大数据集合为目标,一个存储在上面的典型文件大小一般都在千兆至T字节,一个单一HDFS实例应该能支撑数以千万计的文件。 4、 HDFS应用对文件要求的是write-one-read-many访问模型。一个文件经过创建、写,关闭之后就不需要改变。这一假设简化了数据一致性问题,使高吞吐量的数据访问成为可能。典型的如MapReduce框架,或者一个web crawler应用都很适合这个模型。 5、移动计算的代价比之移动数据的代价低。一个应用请求的计算,离它操作的数据越近就越高效,这在数据达到海量级别的时候更是如此。将计算移动到数据附近,比之将数据移动到应用所在显然更好,HDFS提供给应用这样的接口。 6、在异构的软硬件平台间的可移植性。 二、Namenode和Datanode HDFS采用master/slave架构。一个HDFS集群是有一个Namenode和一定数目的Datanode 组成。Namenode是一个中心服务器,负责管理文件系统的namespace和客户端对文件的访问。Datanode在集群中一般是一个节点一个,负责管理节点上它们附带的存储。在部,一个文件其实分成一个或多个block,这些block存储在Datanode集合里。Namenode执行文件系统的namespace操作,例如打开、关闭、重命名文件和目录,同时决定block到具体Datanode节点的映射。Datanode在Namenode的指挥下进行block的创建、删除和复制。Namenode和Datanode 都是设计成可以跑在普通的廉价的运行linux的机器上。HDFS采用java语言开发,因此可以部署在很大围的机器上。一个典型的部署场景是一台机器跑一个单独的Namenode节点,集群中的其他机器各跑一个Datanode实例。这个架构并不排除一台机器上跑多个Datanode,不过这比较少见。

文件系统安全

现在你已知道如何实施帐号的安全,并已建立了一个有效的认证机制,接下来将实施安全中访问控制部分。访问控制必须在两个地方实施,即本地和远程。文件可以由用户在本地访问或通过网络进行远程访问。本课将对这两种方法逐一进行测试。 Windows NT文件系统安全 当建立文件的权限时,你必须先实现Windows NT的文件系统(NTFS),当然你也可以使用FAT格式,但是并不支持文件级的权限。FAT只在那些相对来讲,对安全要求较低的情况下使用。即使NTFS也不能认为是能完全地保护文件的,这一点在稍后的实验中你将会看到。 一旦已经实施了NTFS的文件系统格式,可通过Windows NT的资源管理器直接来管理文件的安全。使用NT资源管理器你可为设置目录或文件的权限。基于文件级的权限你可以分配下面几种:读取(R),写入(W),执行(X),删除(D),改变(P),取得所有权(O)。详细请参照下表: 为了简化权限的管理,NT有几种有关权限的标准。通常在分配权限的时候,往往是组合使用权限而不是使用单独的权限,这些权限如下表保密 标准权限基于目录基于文件 不可访问无无 列出RX 不适用 读取RX RX 添加WX 不适用 添加和读 RWS RX 取 更改RWXD RWXD

完全控制ALL ALL 在这些权限的基础上,你可以达到根据需要来访问控制。但是确定什么是你需要的最小权限是困难的。回顾一下第一课我们所讲的一个新建立的NTFS分区默认情况下everyone 组对其有完全控制的权限。这种标准是无法接受的,如果你不加选择的删除everyone组或在任何地方都把不可访问的权限赋予给everyone组,那么有可能会损坏你的NT安装。 Everyone组必须可以访问主要的系统目录(比如登陆目录)来使用户能够连接和登陆到服务器上。因为用户在开始登陆的过程中还没有被认证,你必须使用everyone组提供访问以使他们能够被认证。赋予everyone组不可访问其实更危险,因为拒绝访问优先于允许访问,而且所有的用户都是属于everyone组的,这样也就等于完全阻止了对文件系统的访问。 目录的权限分配和文件是一样的。目录的权限影响其目录中新建的文件。换句话说就是任何新建的文件将继承此目录的权限。 磁盘分区 因为操作系统目录的权限是非常严格的,把Windows NT放置自己单独的分区内是个明智的选择。在这个分区上只安装Windows NT而不安装应用程序使管理任务简单很多,一个磁盘分区可能会像下图这样。 操作系统程序文件数据 尽管这种分区需要额外地策划,但它还是很有吸引力,特别是简化了对于目录权限的管理。目录可以根据需要分开。如果你在运行一个设备如WEB服务器,你可能会考虑使用HTML,图像和其它一些静态文件在一个分区上,而你的脚本文件则放到另一个分区上。你可以将脚本设置成只可以执行那些静态文件可允许读取。这种策略的结果就是易于管理文件和目录的权限。 复制和移动文件 最后,你要理解当文件被复制和移动的时候发生了什么。每当一个文件被复制到一个新的目录里时,这个文件将继承目标目录的权限。当文件移动时,过程是很复杂的。如果一个文件从一个目录移动到同一分区下的另一个目录,那么此文件的权限将保留。当文件在相同的分区内移动时,Windows NT对于新目录的位置更新目录分配表。当文件在两个不同的分区间移动时,Windows NT首先把这个文件复制到新位置,在成功地复制之后,Windows NTG再删除掉原始的那个文件。一个新文件被建立后,将继承目标目录的权限。 远程文件访问控制 远程的访问一个文件或目录是通过共享权限来提供的。一个共享就是供远程用户访问文件的网络访问点。当配置这些共享时,你要设置相应的权限。共享权限的应用类似于在NTFS上权限的应用。主要的区别是共享权限缺乏精细地权限设置。你只能分配不可访问、读取、更改和完全控制的权限。参照下表

相关文档
最新文档