存储的基本概念谈

公司数据库使用的是san存储,一般共享文件夹则使用的是cifs、nas;这二者的区别是什么?谈到存储,思绪的过程是存放文件》文件不在本地》文件要通过网络传输》传输后数据最终会写到磁盘上。这

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

公司数据库使用的是san存储,一般共享文件夹则使用的是cifs、nas;这二者的区别是什么?

 

    谈到存储,思绪的过程是 存放文件—-》文件不在本地—–》文件要通过网络传输—》传输后数据最终会写到磁盘上。
    这个过程设计的关键词有文件系统、网络通讯、磁盘IO;

     那么从最底层往上看

 

    1 磁盘
     磁盘是最终存储数据的物理介质,我们可以随意的在教科书上找到磁盘的图例。
     磁盘盒子里面装着多张磁盘,磁盘可以旋转。每个磁盘上都有一个相应的磁头,它也可以在磁盘上移动,俗称漂移。
     磁盘上的一个圆周称为磁道,多个盘的同一圆周组成了圆柱。
     把磁道分割成等长的单位,也就是扇区,一般一个扇区可以存储512K的数据,俗称,block,它是磁盘读取数据最最小单位,这种按照块了读取数据的设备称之为块设备。
     磁头完成一个圆柱的数据写之后,通过“换道”;
     在一个硬盘盒子里面多个磁头一起读写,是不是代表者最大并发呢?
     磁盘的外层是设备控制器,它类似于一个微cpu,引脚是连接着计算机主板的控制总线、数据总线;
     不同的磁盘设备厂商在自己的设备控制上定义了一套指令集合用于操作磁盘读写,为了能够在不同的操作系统上使用,设备厂商理所当然的是按照操作系统驱动程序的标准接口,
     写一份针对于自己设备的驱动程序,这样操作系统上的用户才可以透明的(部分设备类型)的使用它。

     磁盘读取速率和什么有关系呢?
  磁盘的转速和换道时间、io队列算法(比如连续来了三个IO,1、3读取第一磁道,2读取三磁道,怎样对着三个IO排序)、是否有IO读写缓存(这可以放在操作系统层面上下工夫)

 

    2 磁盘阵列
    应用程序要使用的磁盘很多,一个接一个的挂上,将这批磁盘组合在一起使用,可有提高吞吐量、可以提高安全性,也就是raid0-7的各种组合类型。
    raid0,主要是提高磁盘的读写吞吐量,同时向多个磁盘上读写数据,将磁盘按照条带方式组合在一起
    raid1,主要考虑的是安全性,同时向两个盘上写同样的内容,一个做镜像
    raidx,raid1太浪费空间了,于是乎做了一种位校验的方式,数据存放在多个磁盘上,其中一个存放校验位
    raid10 raid01也就是0、1的前后组合罢了
    raid有软件、硬件实现方式,软件方式效率不高,并且操作系统必须按照在当磁盘上。硬件方式是在设备控制器前面多做一层raid卡,有他来控制磁盘的读写
    磁盘和cpu、内存的总线连接,是有多种接口的,主要的有ide、sata、scsi等

       3 文件系统
        文件系统是操作系统的一部分,是软件层的内容,他定义了组织、管理数据的格式和通用方法。例如ext3文件系统。他的控制范围应该是两层,一种是文件系统的格式,定义了如何组织、存放、管理数据,第二层,也就是下一层,是基于通用的设备读取方法的,这部分由具体厂商的设备驱动程序按照抽象的接口实现。
       OS按照好后,我们会将一组可读写的“区域”做成一个卷,这个卷是逻辑的,你不知道它下面有多少个真正的磁盘,这里成为logic volume
       LV是从VG(volume group)中划分出来的
       一组VG又包括了多个PV(physical volume)。。
       是不是有点晕了,好吧首先挂在了一个硬盘,我们称为设备,这个设备本身就是逻辑的,因为可能通过raid卡,最终组成部分是一堆磁盘。
      我们把这个设备简称一个PV,再将PV划到VG,在从VG里面分出一点点LV,最后对LV进行磁盘格式化。
 其实这里根本就没有谈文件系统,仅仅是说了下文件系统和物理磁盘的些许关系。

 http://hovertree.com/menu/yingjian/

      4 存储
   到这里貌似已经讲得差不多了,其实不然。
   随后对海量存储设备需求,很快人们将存储设备与计算机本身分离了,将一大堆磁盘单独放进了一个柜子里面
   最开始时将一个线(ide、ata、scsi)直接挂到计算机设备上,这种物理卷可以看做是本地卷
   后来有了分布式的要求,在网络上实现数据存储由此而诞生了两种主要的存储方式nas(cifs)、san

          nas和san的根本性区别在于nas的文件系统放在了存储端,而san的放在了计算机端。
          因此通讯协议上,一种是按照文件单位进行访问的,另一种则使用的是块单位。
          san使用的事fc协议,需要专有的交换机设备和网卡适配器,据说传输起来很快。
         nas是依附在原有的tcp/ip协议上,所以具有良好的扩展性。

推荐:http://www.cnblogs.com/roucheng/p/texiao.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120462.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月25日 上午10:00
下一篇 2021年12月25日 上午11:00


相关推荐

  • c语言程序答案PDF,C语言程序设计答案.pdf

    c语言程序答案PDF,C语言程序设计答案.pdfC 语言程序设计答案 pdfC 语言程序设计教师用书颜晖张泳主编高等教育出版社 1 前言程序设计是高校重要的计算机基础课程 它以编程语言为平台 介绍程序设计的思想和方法 通过该课程的学习 学生不仅要掌握高级程序设计语言的知识 更重要的是在实践中逐步掌握程序设计的思想和方法 培养问题求解和语言的应用能力 C 语言程序设计是一门实践性很强的课程 该课程的学习有其自身的特点 学习者必须

    2026年3月18日
    1
  • 最新封装版EVE模拟器部署和使用说明(图文版)

    最新封装版EVE模拟器部署和使用说明(图文版)本着分享和帮助他人的态度,用给人以鱼的方式写下这个文档——乾颐堂达叔michael-lightEVE模拟器使用说明基础部署篇第一步:下载准备好所需资料;网盘链接:其中包含的内容有:Firefox浏览器(浏览器,用来搭拓扑,开关模拟机)Wireshark(抓包软件)Vmware(虚拟化软件,用来承载模拟器运行的)Putty(这个是用来操作设备的一种终端)SecureC…

    2022年6月6日
    56
  • Asp.net web.config customErrors 如何设置

    Asp.net web.config customErrors 如何设置<customErrorsmode=”Off”/>On:服务器开发的最安全选项,因为它总是隐藏错误提示信息。 RemoteOnly:向大多数用户展示一般的错误信息,但向拥有服务器访问权限的用户展示完整的错误提示信息。换句话说,仅向远程客户端端显示自定义错误,并向本地主机显示ASP.NET错误。默认值。 Off:最容易受到攻击的选项,它向访问网站的每个用户展示详细的错误提…

    2022年7月16日
    16
  • 用Pyinstaller打包时遇到No module named win32timezone问题

    用Pyinstaller打包时遇到No module named win32timezone问题用Pyinstaller打包时遇到Nomodulenamedwin32timezone问题Pyinstaller使用方法我遇到的问题解决办法利用tkinter+python+pyinstaller实现了小工具的项目,没有pyinstaller打包时程序没有问题,打包后运行.exe过程中会在控制台打印错误。Pyinstaller使用方法我们对Markdown编辑器进行了一些功能拓展与语法…

    2025年7月7日
    3
  • httpclient4.x访问https[通俗易懂]

    httpclient4.x访问https[通俗易懂]https有单向认证和双向认证之分,单向认证即客户端只会认证服务端,双向认证是客户端需要认证服务端,服务端也需要认证客户端。先说单向认证,浏览器访问服务端,服务端接收请求,会把证书(包含密钥和其他信息)和加密后响应返回给浏览器。如果这个证书不是向第三方权威机构申请的,浏览器会提示证书有问题(使用httpclient访问的话会报错)。如果忽略错误,则浏览器接受证书并解密响应,发送的数据也用此密钥

    2022年7月22日
    13
  • 【Java】Red5服务器搭建(实现在线直播,流媒体视频播放)「建议收藏」

    引言流媒体文件是目前非常流行的网络媒体格式之一,这种文件允许用户一边下载一边播放,从而大大减少了用户等待播放的时间。另外通过网络播放流媒体文件时,文件本身不会在本地磁盘中存储,这样就节省了大量的磁盘空间开销。正是这些优点,使得流媒体文件被广泛应用于网络播放。流媒体服务器是通过建立发布点来发布流媒体内容和管理用户连接的。流媒体服务器能够发布从视频采集卡或摄像机等设备中传来的实况流,也可以发布事先…

    2022年4月18日
    302

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号