0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对磁盘的深度解析,从操作系统层面来讲解

独爱72H 来源:itworld123 作者:itworld123 2019-12-06 16:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

(文章来源:itworld123)

企业级存储系统通常也是运行在常规操作系统之上的,比如早期的EMC的中端存储是运行在Windows XP平台上的,而国内的存储厂商的产品通常是基于Linux平台。分布式存储更是不例外,目前分布式存储通常都是运行在Linux操作系统之上。

为了更好地理解存储技术,从操作系统层面理解磁盘就显得尤为重要了。为了便于学习,本文以Linux操作系统作为参考,介绍磁盘在Linux操作系统层面的相关内容。我们通常看到的磁盘是在/dev目录下的文件(设备)。在Linux操作系统中一切皆文件,因此磁盘设备本身也是以文件的形态呈现的。比如某个操作系统下面我们可能会看到如下内容。

上述设备中形似sdX的设备为SCSI磁盘设备。无论是基于SAS、iSCSI还是FC的磁盘设备,大概都是这个样子。形似dm-X的是Device Map块设备,也就是通过LVM进行管理的设备,这种设备是一种逻辑设备。在Linux操作系统中块设备的种类很多,有本地磁盘设备、有SAN设备还有基于网络的块设备。在虚拟机中块设备又呈现为另外一种文件名,比如在Xen虚拟机中伪xvdX。

虽然名称差异很大,但是在Linux操作系统内核中的实现确实非常简单。在内核中任何磁盘块设备都是通过调用add_disk函数完成的。在《Linux设备驱动程序》这本书对块设备进行了详细的介绍,并且可以通过非常简单的代码实现一个自己的块设备。

SAN的全称是存储区域网络,也就是通过网络的形式实现计算节点(客户端)对存储系统的访问。在存储系统中可以划分若干个LUN,这些LUN通过网络的方式连接,在客户端呈现为一个磁盘。如图所示,存储系统的资源在计算节点以磁盘的形式呈现。

对于Linux操作系统来说,块设备就好像一个文件一样。任何读写数据都是以偏移和长度为基本信息下发到磁盘块设备进行处理。因此,对于块设备来说,它并不关系这些数据在底层是如何存储。对于SAN存储来说,当块设备接收到请求后,会调用底层协议层的接口将请求转发出去。SAN存储使用的是SCSI协议,因此,块设备的请求都会转换为SCSI协议进行处理。

Linux内核实现了一个SCSI子系统,所有SCSI设备及驱动都基于该子系统实现。该SCSI子系统分为3层,SCSI上层、SCSI中层和SCSI下层。其中上层是设备层,实现比如磁盘驱动、磁带驱动或者光盘等所有的块设备。中层是通用层,实现SCSI的公共功能,比如错误处理等内容。下层是硬件驱动层,比如FC-HBA驱动和SAS-HBA卡驱动等等。

针对Linux磁盘设备来说,其发送的请求经过SCSI层后会封装为SCSI协议包,然后通过底层的协议发送出去。对于块设备,底层协议对用户来时是透明的,用户在使用块设备的时候也不用关心块设备底层所使用的通信协议。但是对于SCSI子系统来说是需要关系底层通信协议的,因为它要调用底层驱动的接口将数据通过该驱动发送出去。对底层驱动的调用是通过其回调函数完成的,回调函数的注册发生在设备初始化的时候。

至此,我们了解到SAN存储磁盘与本地磁盘并无本质的差别,核心差异在与其数据需要通过某种协议与比较远的设备进行数据的交换。SAN存储最早只支持FC协议。后来随着以太网技术的飞速发展,IBM发明了iSCSI协议,该协议是基于TCP/IP协议实现的存储协议。iSCSI协议可以简单地理解为一个应用层的协议,类似HTTP协议。只不过HTTP协议用于传输Web内容,而iSCSI协议则用于传输磁盘内容。

可以看出,iSCSI其实就是对SCSI协议的封装,然后通过以太网进行传输。说白了,iSCSI就是以以太网作为传输媒介的SCSI协议。iSCSI协议分为客户端和服务端两部分,在iSCSI协议中称为启动器和目标器。其中启动器就是计算端,而目标器就是存储端。

(责任编辑:fqj)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    7437

    浏览量

    129621
  • 磁盘
    +关注

    关注

    1

    文章

    401

    浏览量

    26592
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    龙芯中科深度适配统信桌面操作系统V25

    2026年4月15日,统信软件正式发布统信桌面操作系统V25。作为国产操作系统里程碑式版本,该版本在智能化、高效性、可靠性三大维度实现系统性突破,标志着国产操作系统
    的头像 发表于 04-16 15:54 259次阅读

    海光信息全面适配统信桌面操作系统V25

    产桌面操作系统领军者统信软件深度携手,在统信桌面操作系统V25推出之际完成全面适配,以软硬协同破解产业攻坚难题,树立国产AI终端与内生安全新标杆。
    的头像 发表于 04-16 09:26 590次阅读
    海光信息全面适配统信桌面<b class='flag-5'>操作系统</b>V25

    兆芯全系列CPU深度适配统信桌面操作系统V25

    这款号称国内操作系统里程碑式版本的统信桌面操作系统V25在智能化、高效性、可靠性三个维度实现了突破,推动国内操作系统“可用”全面迈向“成熟与智能”的发展新阶段。V25桌面
    的头像 发表于 04-15 18:03 965次阅读

    主流国产操作系统解析:技术特点与行业适配指南

    、消费电子等领域实现深度渗透,成为数字中国建设的重要底座。本文将聚焦主流国产操作系统解析不同品牌的技术特点、核心优势与应用场景,为不同用户的选型提供参考。 一、银河麒麟操作系统:全领
    的头像 发表于 03-27 14:27 217次阅读

    Linux磁盘管理指令合集:查看、分区到修复

    在 Linux 服务器运维或日常使用中,磁盘管理是高频操作 —— 无论是排查磁盘空间不足的问题,还是新增硬盘后的分区配置,都离不开一系列核心指令。今天就为大家整理一份「Linux 磁盘
    的头像 发表于 02-03 16:07 3372次阅读
    Linux<b class='flag-5'>磁盘</b>管理指令合集:<b class='flag-5'>从</b>查看、分区到修复

    海格通信加入中关村智能终端操作系统产业联盟

    近日,海格通信(股票代码:002465)加入中关村智能终端操作系统产业联盟。双方将在智能终端操作系统在技术、应用场景与产业生态层面加强联合,开启智能终端操作系统产业协同发展的新篇章。
    的头像 发表于 01-20 17:04 1524次阅读

    海光整机搭配银河麒麟桌面操作系统V10SP1(X86)「使用命令挂载磁盘报错结构需要清理」问题解决方法

    整机型号:集特IPC-660 搭载GM0-5602 海光3350主板 搭配银河麒麟桌面操作系统V10SP1(X86) 问题:使用命令挂载磁盘报错结构需要清理 问题描述 在银河麒麟桌面操作系统
    的头像 发表于 01-06 17:53 1642次阅读
    海光整机搭配银河麒麟桌面<b class='flag-5'>操作系统</b>V10SP1(X86)「使用命令挂载<b class='flag-5'>磁盘</b>报错结构需要清理」问题解决方法

    EV10AS180A模数转换器支持哪些操作系统

    应用。EV10AS180A转换器本身并不直接依赖或支持特定的操作系统,其核心功能是完成模拟信号到数字信号的转换,属于硬件层面的数据处理设备。硬件独立性:EV10AS180A作为一款高性能ADC,其工作原理
    发表于 11-18 09:18

    单片机的操作系统

    单片机操作系统主要分为实时操作系统(RTOS)和嵌入式操作系统两类,以下是常见选择: 实时操作系统(RTOS) ‌ FreeRTOS ‌:轻量级开源内核(最小内核约6 KB RAM)
    发表于 11-14 06:18

    亮钻科技与银河麒麟桌面操作系统深度适配

    最近,亮钻多款RK3568/RK3588主板和主机,获得银河麒麟桌面操作系统(工业版)的官方认证,双方产品相互兼容、稳定运行。
    的头像 发表于 10-22 10:49 1073次阅读

    龙芯CPU与银河麒麟操作系统V11深度适配

    /3C6000)、LoongGPU及龙芯浏览器等产品均已完成与银河麒麟操作系统V11的深度适配,未来将以该操作系统为支撑,为终端用户和企业客户提供全新解决方案。
    的头像 发表于 09-02 10:44 1100次阅读

    树莓派操作系统:版本、特性及设置完整指南!

    树莓派操作系统是什么?树莓派操作系统是由树莓派基金会专为树莓派开发的官方操作系统。它基于DebianLinux发行版,并针对树莓派的ARM架构进行了专门优化。树莓派操作系统有多个版本,
    的头像 发表于 07-28 18:26 1812次阅读
    树莓派<b class='flag-5'>操作系统</b>:版本、特性及设置完整指南!

    深度智能 基座跃迁 鸿道Intewell,面向“AI+智造”的新型工业操作系统

    科东软件受邀参加“数字化与智能制造技术论坛”,带来“AI+智造”的精彩分享。在“AI+智造”深度融合的时代洪流中,工业操作系统作为底层基座的重要性日益凸显。鸿道Intewell操作系统已成为驱动中国制造业智能化跃迁的关键力量。
    的头像 发表于 07-23 17:02 727次阅读
    <b class='flag-5'>深度</b>智能 基座跃迁  鸿道Intewell,面向“AI+智造”的新型工业<b class='flag-5'>操作系统</b>

    深度操作系统deepin 25正式发布

    历经 Preview、Alpha、Beta 三轮社区共创测试,deepin 25 于今日发布亮相!本次版本以 “万物向新” 为核心,四大革新特性全面进化,1000+ 项优化修复落地,为广大开发者与用户朋友们带来更可靠、更流畅、更自由的开源操作系统体验。
    的头像 发表于 07-01 16:57 1433次阅读

    理想汽车智驾操作系统解读

    [首发于智驾最前沿微信公众号]在智能网联与生成式AI技术深度融合的浪潮下,汽车操作系统已经最初的简单资源管理平台,演化为承载感知决策、执行控制与安全防护的智能化中枢。理想汽车自主研发的星环OS
    的头像 发表于 05-13 10:54 1440次阅读
    理想汽车智驾<b class='flag-5'>操作系统</b>解读