文件共享服务(一)——DAS、NAS、SAN存储类型

一、存储类型

存储类型主要有三种

1. DAS直连式存储

通常由数据线直连电脑就可以用,比如一块新硬盘,只需要利用磁盘模拟器分区,创建文件系统,挂载就可以使用了。

PC中的硬盘或只有一个外部SCSI接口的JBOD存储设备(即磁盘簇磁盘连续捆束阵列又称Span)都属于DAS架构。DAS是指存储设备直接连到服务器总线上,存储设备只与一台独立的主机连接,其他主机不能再用这个存储设备。直连式存储,其数据、磁盘上的文件系统,磁盘上的空间都由使用者进行管理。

Span其是在逻辑上把几个物理磁盘一个接一个串联到一起,从而提供一个大的逻辑磁盘。Span上的数据简单的从第一个磁盘开始存储, 当第一个磁盘的存储空间用完后, 再依次从后面的磁盘开始存储数据。Span存取性能完全等同于对单一磁盘的存取操作。Span也不提供数据安全保障。

2. NAS网络附加存储。

简单来说NAS就是一个简单的网络共享服务器,管理者负责将NAS文件系统中的一部分空间共享出来,例如共享某一个文件夹,并挂载到多台主机上。这样使用者就可以在任意一台挂载相同nas主机上往这个文件夹添加修改删除文件数据了。

NAS存储设备可以通过标准的网络拓扑结构(比如以太网)添加到一群计算机上。NAS是文件级存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。它可以即插即用,可以支持多计算机平台,用户通过网络支持协议可进入相同的文档。但是由于NAS为了支持高可用,仍然用网络进行数据备份和恢复,它将存储事务并行SCSI连接转移到了网络上。这就是说LAN(局域网)除了必须处理正常的最终用户传输流外,还需要承担包括备份等存储磁盘操作。

3.SAN网络区域存储

它的特点就是底层通常是光纤磁盘阵列,由应用服务器将部分存储空间从阵列中的虚拟成一个磁盘空间交予客户端使用者去管理和使用。在SAN-NAS相互结合的存储系统中,光纤磁盘阵列本质只提供物理存储空间;下图的“应用服务器”从光纤阵列中分出一部分存储空间,当成一个大磁盘用于分区,创建文件系统操作,充当NAS服务器,再将创建好的文件系统挂载到其他使用者远程主机上。而后下图的“客户端”就充当使用者远程主机。

二、三种存储类型的比较

DASNASSAN
传输类型SCSI、FCIPIP、FC、SAS
数据类型数据块文件数据块
典型应用磁盘、U盘文件服务器数据库应用
优点本地管理较为方便不占用应用服务器资源、广泛支持操作系统、扩展简单、即插即用、安装简单高扩展、高可用、数据集中、易管理
缺点连接距离短、数据分散、共享困难,存储空间利用率有限,扩展性有限不适合存储量大的块级应用数据备份以及恢复占用网络带宽相比NAS成本高,安装和升级较为复杂

三、NAS应用场景举例

例如,由多台企业级应用服务器组成的集群用于存放数据和后台进程逻辑处理,和用于与用户交互的前端访问页面的联机集群。当用户从联机主机上发送一个请求用于数据上传,那么我们的处理逻辑可能会上传到某个后台主机下的文件夹中。等其他用户发送下载这个数据的请求后,我们应用的处理逻辑还需要先找这个请求的数据放在哪一台主机上,找到了对应的主机才能访问到需要的数据,不然就会发生“数据丢失问题”。

因此,如果我们有一个nas服务器用于存储共享,挂载到应用集群上的每台主机上,把数据上传到对应的nas目录。其他用户需要下载这个数据时,就可以不用考虑具体是哪台主机存放该数据了。直接在nas盘读就行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/413663.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

经典目标检测YOLO系列(二)YOLOV2的复现(2)正样本的匹配、损失函数的实现及模型训练

经典目标检测YOLO系列(二)YOLOV2的复现(2)正样本的匹配、损失函数的实现及模型训练 我们在之前实现YOLOv1的基础上,加入了先验框机制,快速的实现了YOLOv2的网络架构,并且实现了前向推理过程。 经典目标检测YOLO系列(二)YOLOV2的复现(1)总体…

java使用jsch处理软链接判断是否文件夹

前言 这一次主要是碰到一个问题。因为使用jsch去读取文件的时候,有一些文件它是使用软链接制作的一个映射。因为这里面有一个问题。如果它是软链接你就无法判断他到底是文件。还是文件夹?因为他没有提供可以直接读取的方法,用权限信息去判断…

【Python学习】Python学习19- 异常处理

目录 【Python学习】Python学习19- 异常处理 前言python标准异常异常处理带异常类型语法不带异常类型语法使用except而带多种异常类型try-finally 语句触发异常 参考 文章所属专区 Python学习 前言 本章节主要说明Python的异常处理。 python标准异常 BaseException 所有异常…

【LeetCode每日一题】2171. 拿出最少数目的魔法豆

2024-1-18 文章目录 [2171. 拿出最少数目的魔法豆](https://leetcode.cn/problems/removing-minimum-number-of-magic-beans/)思路: 2171. 拿出最少数目的魔法豆 思路: 对输入的数组进行排序,使得数组中的元素按照升序排列。初始化一个变量s…

[NSSRound#16 Basic]RCE但是没有完全RCE

题目代码&#xff1a; <?php error_reporting(0); highlight_file(__file__); include(level2.php); if (isset($_GET[md5_1]) && isset($_GET[md5_2])) {if ((string)$_GET[md5_1] ! (string)$_GET[md5_2] && md5($_GET[md5_1]) md5($_GET[md5_2])) {i…

DAY04_Spring—Aop案例引入代理机制

目录 1 AOP1.1 AOP案例引入1.1.1 数据库事务说明 1.2 Spring实现事务控制1.2.1 代码结构如下1.2.2 编辑User1.2.3 编辑UserMapper/UserMapperImpl1.2.4 编辑UserService/UserServiceImpl1.2.5 编辑配置类1.2.6 编辑测试类 1.3 代码问题分析1.4 代理模式1.4.1 生活中代理案例1.4…

JCIM | pointsite(点云)在蛋白结合位点预测方面的应用

这篇论文介绍了一种名为PointSite的创新方法&#xff0c;用于准确识别蛋白质结构中的配体结合位点&#xff08;LBS&#xff09;&#xff0c;相较于先前的技术具有更高的准确性。PointSite采用了蛋白质为中心的方法&#xff0c;而不是仅仅依赖于蛋白质结构外的伪表面点&#xff…

protobuf学习日记 | 认识protobuf中的类型

目录 前言 一、标量数据类型 二、protobuf中的 “数组” 三、特殊类型 1、枚举类型 &#xff08;1&#xff09;类型讲解 &#xff08;2&#xff09;升级通讯录 2、Any类型 &#xff08;1&#xff09;类型讲解 &#xff08;2&#xff09;升级通讯录 3、oneof类型 …

实验笔记之——基于TUM-RGBD数据集的SplaTAM测试

之前博客对SplaTAM进行了配置&#xff0c;并对其源码进行解读。 学习笔记之——3D Gaussian SLAM&#xff0c;SplaTAM配置&#xff08;Linux&#xff09;与源码解读-CSDN博客SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》&#xff0c;…

九、K8S-label和label Selector

label和label selector 标签和标签选择器 1、label 标签&#xff1a; 一个label就是一个key/value对 label 特性&#xff1a; label可以被附加到各种资源对象上一个资源对象可以定义任意数量的label同一个label可以被添加到任意数量的资源上 2、label selector 标签选择器 L…

C++中特殊类的设计与单例模式的简易实现

设计一个只能在堆上创建对象的类 对于这种特殊类的设计我们一般都是优先考虑私有构造函数。然后对于一些特殊要求就直接通过静态成员函数的实现来完成。 class A//构造函数私有&#xff08;也可以析构函数私有&#xff09; { public:static A* creat(){return new A;} privat…

【Redis】基于Token单点登录

基于Token单点登录 获取验证码 流程图 #mermaid-svg-DLGHgCofEYXVSmI5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-DLGHgCofEYXVSmI5 .error-icon{fill:#552222;}#mermaid-svg-DLGHgCofEYXVSmI5 .error-text{f…