linux lun是什么

发布时间 - 2023-03-25 00:00:00    点击率:
linux lun是指逻辑单元号,其英文全称是“Logical Unit Number”,它实际上是在SCSI-3中定义的,而并非单用于存储范畴,也可以指使用SCSI协议的一切外围设备,如磁带机、SCSI打印机等。

本教程操作环境:linux5.9.8系统、Dell G3电脑。

linux lun是什么?

一、LUN的概念

  LUN的全称是Logical Unit Number,也就是逻辑单元号。我们知道SCSI总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用Target ID(也有称为SCSI ID的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。

  而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了LUN的概念,也就是说LUN ID的作用就是扩充了Target ID。每个Target下都可以有多个LUN Device,我们通常简称LUN Device为LUN,这样就可以说每个设备的描述就有原来的Target x变成Target x LUN y了,那么显而易见的,我们描述设备的能力增强了。

正如我们的电脑中有一块物理上的硬盘,我们要给它进行分区,分为逻辑盘:如C盘、D盘、E盘..  

所以我们可以总结一下,LUN就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方。

LUN ID不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的LUN可能是磁盘空间,可能是磁带机,或者是media changer等等。

二、到底什么是LUN?

  LUN的神秘之处(相对于一些新手来说)在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个Target Device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比Target Device级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为LUN0、LUN1、LUN2…什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是LUN Device,这是一个逻辑对象,所以很多时候被称为Logical Device。

  有人说,我的Windows里,就认到一个磁盘呀,没看到什么LUN的说法,是不是LUN=Physical Disk呢?回答是否定的,只要你注意,磁盘的属性里就可以看到有一个LUN的值,只是因为你的Disk没有被划分为多个存储资源对象,而将整个磁盘当作 一个LUN来用,LUN ID默认为零,如此而已。

  我们曾经碰到过这样的问题,比如有人问,我们有一个磁盘阵列,连到了两个主机上,我们划分了一个LUN给两个主机认到,然后我们想,先在操作系统将磁盘分为两个分区,让两个主机分别使用两个分区,然后再出现某一台主机宕机之后,使用集群软件将该分区切换到另外一个主机上去,这样可行吗?答案也是否定的,集群软件操作的磁盘单元是LUN,而不是分区,所以该操作是不可行的。当然,在一些环境,一般也是一些要求比较低的环境,可以在多个主机上挂载不同的磁盘分区,但是这种情况下,实际上是没有涉及到磁盘的切换的,所以在一些高要求的环境里,这种情况根本就不允许存在。

  还要说明的地方是,在有些厂商和有些产品的概念里,LUN ID被绑定到了具体的Device上,比如IBM的一些带库,整个带库只有一个Target ID,然后changer,tape drive被分别分配为LUN0、LUN1、LUN2…,但是我们要注意到,这只是产品做了特别设计,也是少数情况。

三、LUN和存储卷到底有什么区别?

  常见有人说起存储卷和LUN有什么区别,然后争论不休。由上边我们可以知道什么是LUN。LUN就是英文 Logical unit number的缩写,即逻辑单元号,它实际上是在SCSI-3中定义的,而并非单用于存储范畴,也可以指使用SCSI协议的一切外围设备,如磁带机、SCSI打印机等等。从SCSI-3的SAM模型中我们知道,SCSI-3(或者之后的版本)的协议层规定,对于16位宽的SCSI总线,其寻址范围只有16个,即只能挂载16个外围设备,每个设备称为一个target。为了提高总线的寻址能力,于是又引入了一层,它规定在每个target上,还可以虚拟(也可以实际连接)出多个设备,例如某个target上可能接了一个磁带机,一个打印机,他们共用一个target地址,但为了区分他们,于是就用LUN加以区别,磁带机假设为LUN0,打印机假设为LUN2,这样就解决了多设备的寻址问题。

  这是实际设备连接的例子,存储阵列(比如:HP leftHand P4000 SAN)是最好的虚拟设备的例子。一个存储磁盘阵列在SCSI总线看来是一个Target,占用一个SCSI的Target地址,但存储阵列的存储空间太大,我们需要将其分成不同的部分,以供不同的应用,达到集中存储,集中管理的目的。所以在分割出来的每个存储部分(或区域)我们就用Lun来区别,如LUN1代表地址块0-1023,LUN2代表地址块1024-65535等等。从上面可以看出,计算机在使用SCSI标准(注意我这里用的标准一词,代表了统含SAM模型中的4层,而并不使用接口,协议或者命令等词语)接*存储时,使用的是总线(BUS)-目标(Target)-LUN三元寻址方案,总线指的是你的计算机上有几条SCSI总线,有几块SCSI卡?目标指的是在该总线上,设备的目标地址即常说的SCSI地址是多少?LUN指的是设备在一个Target上分配的逻辑地址,逻辑单元号。这种寻址方案和设备的连接方式,类似于物理上星形连接,逻辑上总线连接的一种网络拓扑。

  那么什么又是存储卷呢?这要从存储的卷管理器说起。存储卷管理器是操作系统中的一个对象,他主要负责存储块设备的在线管理。当我们的一个存储LUN接入计算机后,计算机发现这个设备的存在,就需要在卷管理器上注册,卷管理器为存储卷提供注册的虚拟接口,获取存储LUN的基础信息,如空间大小,三元地址,块大小,起止地址,健康情况等,再为其创建一个对应的数据结构的抽象,这样计算机通过卷管理器,就能够动态的扑捉被注册的存储LUN的实时信息,实现动态管理。一个存储LUN被卷管理器进行注册抽象之后,就被卷管理器认为是一个可被鱼肉的直接下属,它可以再次被分割成更小区域,当然也可以不分割,再对分割后或者没分割后的存储空间进行数据抽象,建立相关的数据结构,供文件系统层调用。   因此,存储LUN和卷在物理上可能是同一个东西,只是从不同的角度,不同的层次去看它,去理解它。当然,对计算机来说,这些不同确实数据处理过程的需要,也有必要弄清楚的。

推荐学习:《linux视频教程》


# linux  # 磁带机  # 管理器  # 多个  # 是一个  # 指的是  # 操作系统  # 是在  # 也有  # 就有  # 我们可以 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  js实现获取鼠标当前的位置  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  香港服务器选型指南:免备案配置与高效建站方案解析  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  利用python获取某年中每个月的第一天和最后一天  如何快速登录WAP自助建站平台?  如何在七牛云存储上搭建网站并设置自定义域名?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  LinuxShell函数封装方法_脚本复用设计思路【教程】  Java类加载基本过程详细介绍  Laravel如何记录自定义日志?(Log频道配置)  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何续费美橙建站之星域名及服务?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  微信公众帐号开发教程之图文消息全攻略  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  javascript如何操作浏览器历史记录_怎样实现无刷新导航  node.js报错:Cannot find module 'ejs'的解决办法  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  网站制作报价单模板图片,小松挖机官方网站报价?  实例解析Array和String方法  Laravel中的Facade(门面)到底是什么原理  黑客入侵网站服务器的常见手法有哪些?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  iOS验证手机号的正则表达式  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  C++用Dijkstra(迪杰斯特拉)算法求最短路径  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Bootstrap整体框架之JavaScript插件架构  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何在阿里云部署织梦网站?  如何快速搭建高效服务器建站系统?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  PythonWeb开发入门教程_Flask快速构建Web应用  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  googleplay官方入口在哪里_Google Play官方商店快速入口指南  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】