大家好,关于文件服务器设计很多朋友都还不太明白,今天小编就来为大家分享关于文件服务器权限管理怎么做的知识,希望对各位有所帮助!

一、文件服务器权限管理怎么做

如何做一台文件服务器\x0d\x0a假如你是某公司的系统管理员,现在公司要做一台文件服务器。公司购买了一台某品牌的服务器,在这台服务器内插有三块硬盘。 \x0d\x0a公司有三个部门---销售,财务,技术。每个部门有三个员工,其中一名是其部门经理(另两名是副经理)1.在三块硬盘上共创建三个分区(盘符),并要求在创建分区的时候,使磁盘实现容错的功能; \x0d\x0a2.在服务器上创建相应的用户帐号和组; \x0d\x0a命名规范,如:用户名:sales-1,sales-2??;组名:sale,tech?? \x0d\x0a要求用户帐号只能从网络访问服务器,不能在服务器本地登录 \x0d\x0a3.在文件服务器上创建三个文件夹分别存放各部门的文件,并要求只有本部门的用户能访问其部门的文件夹(完全控制的权限),每个部门的经理和公司总经理可以访问所有文件夹(读取),另创建一个公共文件夹,使得所有用户都能在里面查看和存放公共的文件; \x0d\x0a4.每个部门的用户可以在服务器上存放最多100M的文件; \x0d\x0a5.做好文件服务器的备份工作以及灾难恢复的备份工作; \x0d\x0a发送给我的好友提醒我回答有更新 \x0d\x0a你可以把这个生意经分享给旺旺,MSN或QQ上的好友 \x0d\x0a\x0d\x0a当这个生意经的回答有更新时,您可以及时收到提醒 \x0d\x0a\x0d\x0a发送给好友\x0d\x0a\x0d\x0a生意经: \x0d\x0a窗体顶端\x0d\x0a\x0d\x0a发送描述: \x0d\x0a窗体底端\x0d\x0a\x0d\x0a郁闷啦!看看这个问题,你一定要帮我啊!\x0d\x0a \x0d\x0a这个东东太实用了,看完记得收藏哦!\x0d\x0a \x0d\x0a旺旺浮出提醒好友\x0d\x0a\x0d\x0a生意经的已经复制\x0d\x0a您可以粘帖到MSN或者邮件发给您的好友 \x0d\x0a\x0d\x0a收藏成功,回答有更新时旺旺会浮出提醒你哦!现在就去查看我的收藏 \x0d\x0a\x0d\x0a网友回答 \x0d\x0a\x0d\x0a(1)学会安装和配置文件服务器。\x0d\x0a\x0d\x0a(2)学会服务器端共享文件夹的配置和管理。\x0d\x0a\x0d\x0a(3)学会客户端访问共享文件夹的方法。\x0d\x0a\x0d\x0a(4)学会分布式文件系统的设置方法。\x0d\x0a\x0d\x0a(5)实验学时:2\x0d\x0a\x0d\x0a2实验相关理论与知识\x0d\x0a\x0d\x0a计算机网络的基本功能是在计算机间共享信息,文件共享可以说是最基本、最普遍的一种网络服务。虽然越来越多的用户购置专用文件服务器(如NAS),但是通用操作系统提供的文件服务器功能也非常实用,完全能满足一般的文件共享需求,下面主要介绍Windows Server 2003文件服务器的配置、管理和应用。\x0d\x0a\x0d\x0a文件服务器负责共享资源的管理和传送接收,管理存储设备(硬盘、光盘、磁带)中的文件,为网络用户提供文件共享服务,也称文件共享服务器。除了文件管理功能之外,文件服务器还要提供配套的磁盘缓存、访问控制、容错等功能。部署文件服务器,主要要考虑以下3个因素。\x0d\x0a\x0d\x0a·存取速度:快速存取服务器上的文件,例如可提供磁盘缓存加速文件读取。\x0d\x0a\x0d\x0a·存储容量:要有足够的存储空间以容纳众多网络用户的文件,可使用磁盘阵列。\x0d\x0a\x0d\x0a·安全措施:实现网络用户访问控制,确保文件共享安全。\x0d\x0a\x0d\x0a文件服务器主要有两类解决方案,一类是专用文件服务器,另一类是使用PC服务器或PC计算机组建的通用文件服务器。\x0d\x0a\x0d\x0a专用文件服务器是专门设计成文件服务器的专用计算机,以前主要是运行操作系统、提供网络文件系统的大型机、小型机,现在的专用文件服务器则主要指具有文件服务器的网络存储系统,如NAS和 SAN。NAS独立于操作系统平台,可支持多种操作系统和网络文件系统,提供集中化的网络文件服务器和存储环境,比一般的文件服务器的功能更强大,可看作是专用存储服务器,可为那些访问和共享大量文件系统数据的用户提供高效、*能价格比优异的解决方案。SAN全称存储区域网络,是一种用户存储服务的特殊网络,通常由磁盘阵列、光盘库、磁带库和光纤*机组成。NAS可作为独立的文件服务器,提供文件级的数据访问功能,更适合文件共享。而SAN提供数据块级的数据访问功能,更适合数据库和海量数据。\x0d\x0a\x0d\x0a目前一般用户使用PC服务器或PC计算机,通过网络操作系统来提供文件服务,UNIX、Linux、Novell、 Windows等操作系统都可提供文件共享服务。Windows网络操作系统,如Windows NT Server、Windows2000 Server和最新的Windows Server 2003由于操作管理简单、功能强大,在中小用户群中的普及率非常高,许多文件服务器都运行Windows网络操作系统。下面将重点以Windows Server 2003为例介绍文件服务器的配置、管理和应用。\x0d\x0a\x0d\x0a3实验环境与设备\x0d\x0a\x0d\x0aC/S模式的网络环境,包括一台Windows XP客户机和一台Windows Server 2003服务器。\x0d\x0a\x0d\x0a两种可选的物理拓扑(交叉线连接或通过集线器/*机用直连线连接)。\x0d\x0a\x0d\x0a4实验内容与步骤\x0d\x0a\x0d\x0a4.0服务器的基本网络配置,包括IP为"192.168.105.XX"、网关为"192.168.105.254"等。(注:"XX"代表你配置机器的主机编号,"nXX"代表你的服务器主机名,例如你坐在5号机上则"XX"代表"05","1XX"代表"105",配置此机的IP为"192.168.105.5"、主机名为"n05",下同)。\x0d\x0a\x0d\x0a4.1安装和配置文件服务器\x0d\x0a\x0d\x0a文件服务器提供网络上的中心位置,可供存储文件并通过网络与用户共享文件。当用户需要重要文件时,可以访问文件服务器上的文件,而不必在各自独立的计算机之间传送文件。如果网络用户需要对相同文件和可通过网络访问的应用程序的访问权限,就要将该计算机配置为文件服务器。默认情况下,在安装Windows Server 2003系统时,将自动安装"Microsoft网络的文件和打印共享"网络组件。如果没有该组件,可通过网络连接属*对话框安装。\x0d\x0a\x0d\x0a1.准备工作\x0d\x0a\x0d\x0a在部署文件服务器之前,应当做好以下准备工作。\x0d\x0a\x0d\x0a·划出专门的硬盘分区(卷)用于提供文件共享服务,而且要保证足够的存储空间,必要时使用磁盘阵列。\x0d\x0a\x0d\x0a·磁盘分区(卷)使用NTFS文件系统,因为FAT32缺乏安全*,而且不支持文件和文件夹压缩、磁盘配额、文件加密或单个文件权限等重要特*。\x0d\x0a\x0d\x0a提示:使用Windows Server 2003自带的工具即可将FAT32转换成NTFS格式。该工具名为Convert.exe,位于Windows安装目录下的System32目录中。在命令行状态运行该工具即可,如Convert E:/FS:NTFS。\x0d\x0a\x0d\x0a·确定是否要启用磁盘配额,以限制用户使用的磁盘存储空间。\x0d\x0a\x0d\x0a·确定是否要使用索引服务,以提供更快速、更便捷的搜索服务。\x0d\x0a\x0d\x0a2.配置文件服务器\x0d\x0a\x0d\x0a只要将Windows Server 2003计算机上的某个文件夹共享出来,就会自动安装文件服务器,也可通过"配置您的服务器向导"工具来安装文件服务器角色。这两种方法的差别是,第二种方法提供更多的选项,并在程序菜单中提供文件服务器管理台工具。这里介绍采用第二种方法的基本步骤。\x0d\x0a\x0d\x0a(1)启动"配置您的服务器向导"工具。默认情况下,登录Windows Server 2003时将自动启动"管理您的服务器"(也可从控制面板中选择【管理工具】→【管理您的服务器】),单击【添加或删除角色】。另一种方法是从控制面板中选择【管理工具】→【管理您的服务器】→【配置您的服务器向导】。单击【下一步】按钮。\x0d\x0a\x0d\x0a(2)在【配置选项】界面中选择【自定义配置】,单击【下一步】按钮。\x0d\x0a\x0d\x0a(3)在【服务器角色】界面中,如果【文件服务器】的【已配置】状态为"否",就单击【文件服务器】,然后单击【下一步】。\x0d\x0a\x0d\x0a注意:如果【文件服务器】的【已配置】状态为"是",就单击【文件服务器】,再单击【下一步】按钮打开【角色删除确认】界面,并选择【删除文件服务器角色】复选框,即可删除文件服务器角色,这样该服务器上的文件和文件夹就不再共享,依赖于这些共享资源的网络用户、程序或宿主都将无法与它们连接。\x0d\x0a\x0d\x0a(4)出现【文件服务器磁盘配额】对话框中,为服务器上所有NTFS分区设置默认的磁盘配额。勾选【为此服务器的新用户设置默认磁盘空间配额】和【拒绝将磁盘空间给超过配额限制的用户】。单击【下一步】按钮。默认情况下是没有启用磁盘配额。\x0d\x0a\x0d\x0a(5)出现【文件服务器索引服务】对话框,确定是否要使用索引服务。单击【下一步】按钮。一般情况下不需索引服务,只有在用户要经常搜索该服务器上的文件内容时才启用它。\x0d\x0a\x0d\x0a(6)出现【选择总结】对话框,查看和确认已经选择的选项,单击【下一步】按钮。\x0d\x0a\x0d\x0a本例中有"设置默认磁盘配额"、"安装文件服务器管理"和"运行共享文件夹向导来添加一个新的共享文件夹或共享已有文件夹"等选项。\x0d\x0a\x0d\x0a(7)自动完成相关配置后,出现共享文件夹向导,根据提示配置共享文件夹以供其他用户共享。只有配置了共享文件夹之后,文件服务器才能建立。\x0d\x0a\x0d\x0a(8)单击【下一步】按钮,出现【文件夹路径】对话框,指定要共享的文件夹路径。可通过【浏览】在C盘目录下新建一个【FileShare】作为共享目录,此时【文件夹路径】输入框中将出现【C:FileShare】(如果C盘中已经建立过此文件夹,才可以在此输入框中输入)。\x0d\x0a\x0d\x0a(9)单击【下一步】按钮,出现【名称、描述和设置】对话框,指定共享名。\x0d\x0a\x0d\x0a(10)单击【下一步】按钮,出现【权限】对话框,指定共享权限为【管理员有完全访\x0d\x0a\x0d\x0a问权限;其他用户有只读访问权限】,单击【完成】按钮。这里提供了几种预置的权限,也可以自定义权限。\x0d\x0a\x0d\x0a(11)【共享成功】对话框中显示共享成功,给出新建共享文件夹的信息。如果要继续设置其他共享文件夹,则选中下面的复选框。单击【关闭】按钮,【完成】。\x0d\x0a\x0d\x0a至此文件服务器配置就完成了。接下来可执行各项文件管理任务。\x0d\x0a\x0d\x0a3.文件服务器管理工具(以下方法至少掌握一种)\x0d\x0a\x0d\x0aWindows Server 2003提供了用于文件服务器配置管理的多种工具。\x0d\x0a\x0d\x0a·文件服务器管理控制台:打开"管理您的服务器"工具,在【文件服务器】区域单击【管理此文件服务器】,打开该控制台。要使用"配置您的服务器向导"工具安装文件服务器,可从程序菜单中选择【管理工具】→【文件服务器管理】命令打开该控制台。\x0d\x0a\x0d\x0a·"共享文件夹"管理工具:也可通过"计算机管理"工具中的"共享文件夹"管理工具来执行共享文件夹的配置管理,从程序菜单中选择【管理工具】→【计算机管理】,展开【共享文件夹】节点即可。\x0d\x0a\x0d\x0a·Windows资源管理器:可将文件夹配置为共享文件夹。\x0d\x0a\x0d\x0a·命令行工具:如 share可显示有关本地计算机上全部共享资源的信息。

二、架构设计:文件服务存储设计

在架构设计:文件服务的设计与实现一文中,通过实现一个文件服务来梳理了一个架构设计的一般流程,并得到如下静态架构图

本文继续聊聊文件服务中的子模块:「存储模块」的设计,包括:

前面的架构没有对存储进行特别设计,使用了本地存储。考虑到后期文件数量可能会越来越多,本地存储可能无法支撑,且本地存储的安全*也没有保障。为了便于后期扩展,需要对「存储」部分进行设计。

存储的方式有很多,本地存储、NAS、分布式存储,为了能支持不同的存储方式,需要对「存储模块」进行抽象。考虑到「存储模块」涉及到IO,是一个相对底层的模块。「上传」这个核心模块不能依赖于具体的存储,所以这里也需要对其进行依赖反转。

见紫色部分,UploadService调用了FileInfoRepository来存储FileInfo,而FileInfoRepository是个接口,具体实现由存储模块中的实现类来实现。

我们先看本地存储。最简单的实现,就是使用IO将文件写到对应的目录下就可以了。但是,本地存储会有如下几个问题:

下面我们针对上面的问题,来一个个的解决。

首先,对于多租户来说,在我们的架构中,实际对应的是Group,我们按照Group的不同,来划分目录即可。即不同的租户有不同的文件根目录,后期某个租户迁移时,迁移对应目录即可。这也稍微解决了单目录文件数量多的问题。

对于单目录下,随着文件数量的增加导致访问速度下降的问题,我们该如何解决呢?

如果你做过分布式系统,那么想一想,我们是否可以把单目录看成是一个服务器,访问目录下的文件看成是一个个的请求呢?如果可以,那解决单目录下访问速度慢的问题是不是就变成了「如何解决单服务器下,负载过高」的问题了?那解决服务端负载过高的方法是否适用于解决目录访问速度下降的问题呢?

我们从下面几个方面来分析一下:

首先来看「解决服务端负载过高的方法」!答案很明显:分流+负载均衡!

分布式服务的负载均衡有几种方式呢?

再来看「目录访问和服务器的区别」,虽然可以把目录看成服务器,但是两者还是有区别的:

也就是说,对于目录来说,我们不需要考虑创建成本。

那么针对服务器负载高的解决方案是否适合目录访问呢?或者哪种方式适合目录访问呢?我们一个个来分析:

文件服务器设计 文件服务器权限管理怎么做

可以看到,主要的问题就是创建目录的问题!如何保证在目录数量改变时,不需要调整程序呢?

实际上git已经给出了答案:

也就是说,根据sha1散列的前两位对文件进行归类。这样既解决了目录创建问题,也解决了文件分布问题。可能的问题是,「sha1散列2^80次,可能会发生一次碰撞」。这个问题对于一般文件系统来说,好像也没有担心的必要。

解决了「单目录文件过多,导致访问速度下降」的问题,我们来看下一个问题:数据安全。

文件数据是存放在电脑磁盘上的,如果硬盘损坏,可能导致文件的丢失。这实际还是一个「单点问题」!

「单点问题」的解决方案是什么呢?冗余啊!

最简单的方案就是定时去备份数据,可以有如下几种方案:

我们继续一个个的讨论。

首先是人工备份,这是最low的方案,当然也是最简单的,即有人定期去备份就行了。问题是时效*不高,例如一天备份一次,如果磁盘在备份前坏了,那就会丢失一天的数据。同时恢复比较耗时,需要人工处理。

第二个方案是代码实现,即在上传文件时,程序就自动备份。以上面的架构为例,可以添加一个BackupListener,当上传完成后,通过事件,自动备份上传的文件。同时时需要判定文件是否完整,如果有问题则使用备份数据。此方案时效*得到了保障,但是将数据备份和业务放到了一起,且需要编码实现,增加了业务代码量。

第三个方案是 libfuse,libfuse是用户态文件系统接口。下面是libfuse官方简介:

简单来说,就是可以用libfuse构建一个用户态文件系统。之前在老东家做了一个日志分析平台,日志的收集就使用了libfuse,大致架构如下:

业务系统写日志到挂载的用户态文件系统中,用户态文件系统自动转发到了后续的处理中间件:redis、消息队列、文件系统。

在这里也可以用类似的功能,即在文件上传后,用户态文件系统自动备份。此方案解耦了文件备案逻辑与业务逻辑。

最后一个方案是 RAID,即廉价冗余磁盘阵列。RAID不但可备份文件,还支持并发读写,提高上传速率。

常用的RAID有:RAID0,RAID1,RAID01/RAID10,RAID5和RAID6等。我们来看看这几种RAID的特点,以及是否适用于我们的文件服务。你会发现从RAID0到RAID6,又是一个从单点到分布式的过程。

看下面的两张图应该能更好的理解:

无论是RAID10还是RAID01,对磁盘的使用效率都不高。那如何提高磁盘使用率呢?就有了RAID3。

对于本地存储来说,RAID是个相对实用的解决方案,既能提高数据安全、快速扩容,也提高了读写速率。但是无论扩展多少磁盘,容量还是相对有限,吞吐也相对有限,同时由于其还是单点,如果文件服务本身挂掉,就会导致单点故障。所以就有了分布式文件系统。

分布式文件系统下次单独讨论!

最后打个广告,帮朋友开的专栏《零基础Unity3D游戏开发》,适合没有基础、想从事游戏开发的小白!朋友从事游戏多年,开发了多款游戏,收了30多个徒弟,技术杠杠的!

三、技术指南:如何搭建文件服务器

文件服务器不能执行计算任务。也就是说他们不能运行客户端程序。另外,文件服务器不能像网络服务器那样提供动态内容。而且文件服务器也不能像数据库服务器那样,即前者无法提供对共享数据库的访问,而后者可以。文件服务器能通过Windows或者UNIX操作系统协议由本地内部互联网或者通过文件传输或超文本传输协议(FTP和HTTP)由企业内部互联网提供对静态文件的访问。文件服务器最初的功能就是存储。对于家庭用户而言,一个中央存储位置可以提高整体计算效率和降低整体计算成本。通过将所有的重要文件放在一个单独的位置上,你就无需再担心你所使用文件的不同版本,也不用再担心由于大量非关键文件副本分散在不同系统中而浪费了硬盘空间,可以在正确计算机的备份存储媒介上备份正确的文件,以确保家中的每台个人计算机都可以访问适当的文件。从系统制造商的角度来说,一台文件服务器还能从各个硬盘中释放各种工作站计算机,减少整体的硬盘支出。随着固态硬盘(以每GB高昂的成本提供强大的*能)的兴起,文件服务器能将工作站从普通硬盘的*能桎梏中解放出来,对于上网本和超便携笔记本来说特别有用,因为这些移动计算机通常只能容纳一个硬盘,所以固态硬盘的小身材通常是移动设备的理想选择。一台专用文件服务器能允许家庭中的每个用户(无论他们是在家中还是在路上)来访问需要的每一个文件,不管他们在特定的时间下使用那款特殊的设备。专用文件服务器能允许用户与朋友和合作者共享文件,只要给他们提供一个URL,一个域名和密码以及指定他们所访问的内容即可。举例来说,或许你希望与亲家共享孩子在学校的照片,但是你的云存储能力无法满足所有这些照片的展示以及其他你存储在云硬盘上的文件。或许你希望与同事共享不想被上传到亚马逊或者其他第三方所属的服务器的敏感信息,但是文件太大又无法发电子邮件。或许你只想访问200GB的MP3音乐库,但是你所居住的旅馆只能满足600GB的固态硬盘的上网本。这些例子仅仅是例证文件服务器有用*的冰山一角而已。也就是说文件服务器是满足所有这些需求的一个选择。你可以将你所有的照片集中在闪存上,下次在见到亲家的时候把闪存交给他-但是这意味着每次你希望和亲家共享更多照片的时候每次都必须这么做-谁知道你是否能拿回你的闪存呢?你也可以将刻好的DVD-R交给你的同事,--但是或许一个4GB容量的DVD-R是根本不够的,电子邮件需要像蜗牛一样花费数天。如果你在旅途当中,你可以携带便携式外置硬盘,又占空间,又可能被盗或者丢失。文件服务器是一种解决所有这些问题的简单易行的解决方案。家用文件服务器不需要企业级硬件,价格是家庭用户可以承受的。而且文件服务器还是由节能组件制造的,不会导致高额的电费账单。你希望如何轻松的管理你的文件?很不幸许多越来越强大的文件服务器操作系统对于非IT的人员来说操作起来并不容易。不过,市场上有可以轻松驾驭的服务器操作系统。一旦发生灾难该如何恢复你的文件?将你的文件放在一台计算机上等同于将你所有的鸡蛋都放在同一个篮子里,这是风险很大的。该如何保障安全呢?任何类型的网络上的任何资源都存在被*的风险。这份指南能回答所有这些问题,它主要是针对家庭用户,因此有必要在存储空间,管理能力,恢复能力和安全简化上作出一些牺牲,因为家庭用户通常无法负担高额的成本,也不需要专业级别的文件服务器解决方案。简单来说,一台网络关联存储设备是一台计算机应用工具,它是专门为提供网络访问存储而设计的。网络关联存储设备与文件服务器相比,通常能提供更加简单的管理职能(比如轻点几下鼠标就能完成插入和播放功能),但是经常会收到所有权软件的限制,存储空间有限且无法像专用文件服务器那样实现扩展。另外,能容纳像本指南中所描述的大量硬盘的高端网络关联存储设备比文件服务器要贵的多。最后,由于他们的设计通常只是针对一种用途,他们就不像文件服务器那样灵活,在多系统家庭中必须指定基本的工作站。也就是说,尽管网络关联存储设备超出了本指南讨论的范围,但是如果你对其不够熟悉的话也值得去关注一下。本指南与作者之前的那些指南是有诸多不同的,它不是纠结于能执行特定工作任务的指定价格范围内的指定系统,而是探讨操作系统和组件类型的选择,以及这些不同的选择如何与解决不同的需求完美匹配。也就是说,或许你需要大量存储空间,但是你不是特别关心备份。或者你根本不需要太大的存储空间,但是希望使用非常直观的文件服务器操作系统。