lun与lvm

http://www.boobooke.com/bbs/archiver/tid-47909.html


常见有人说起存储卷和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,这样就解决了多设备的寻址问题。这是实际设备连接的例子,存储阵列是最好的虚拟设备的例子。一个存储阵列在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和卷在物理上可能是同一个东西,只是从不同的角度,不同的层次去看它,去理解它。当然,对计算机来说,这些不同确实数据处理过程的需要,也有必要弄清楚的。



http://blog.sina.com.cn/s/blog_45722cc001010d86.html

lun是指硬件层分出的逻辑盘,如raid卡可以将做好的400G的raid5再分成若干个逻辑盘,以便于使用,每一个逻辑盘对应一个lun号,OS层仍把这些逻辑盘看做是物理盘。(lun最早出自scsi,后来引申到所有硬件层划分的逻辑盘)


卷是软件层分成的逻辑分区,如LVM的逻辑卷LV对于OS层来说就是一个分区(可以格式化成一种文件系统,挂载到某个目录下),只是逻辑卷的大小是可以扩展的,而且一个逻辑卷可能是由多个物理硬盘组成。本质上LVM是一个软件,介于OS与磁盘驱动程序之间。
LVM名称介绍
PV:物理磁盘
VG:卷组,多个PV可以组成一个VG,一个VG可以划分成多个LV(逻辑卷)。
PP:物理区块,将一个VG逻辑的划分成连续的小块。
LP:逻辑区块,若干个PP组成一个LP,多个PP组成一个LP,类似于raid0;一个LP映射多个PP镜像,类似于raid1。
LV:由VG划分,若干连续LP组成一个LV(对应OS层的分区



### 如何在 Nova 或虚拟机环境中挂载 LVM 卷 在 OpenStack 环境中,LVM(逻辑卷管理器)通常 Cinder 和 Nova 配合使用,以提供块存储服务。以下是基于引用内容以及专业知识整理的关于如何在 Nova 或虚拟机环境中挂载 LVM 卷的过程。 #### 1. 创建 LVM 卷 Cinder 是负责管理块存储的服务,在其配置文件中指定了一个或多个 LVM 卷组作为后端存储池。创建 LVM 卷的操作由 Cinder 完成: ```bash cinder create --name my_volume 10 ``` 这将在指定的 LVM 卷组中分配一块大小为 10GB 的逻辑卷[^1]。 #### 2. 将卷附加到虚拟机实例 当需要将该卷挂载至某个虚拟机时,Nova 承担协调角色。首先通过 API 或 CLI 发起请求: ```bash nova volume-attach <server-id> <volume-id> ``` 此时 Nova-API 检查卷的状态,并将其标记为 `attaching` 后通知 Cinder 进一步处理[^1]。 #### 3. Cinder 处理 Target 配置 收到消息后,Cinder 在 iSCSI 存储层面上创建相应的 target 并允许特定计算节点访问此资源。例如,它会调整 ACL 设置使得只有目标 nova-compute 节点能发现并连接该设备[^1]。 #### 4. Compute Node 上映射 Volume (Connect Volume) 随后 Nova-Compute 组件接管后续大部分任务。它获取本机唯一的 iSCSI initiator 名字并通过 iscsiadm 工具建立到远端 LUN 的链接关系。这一阶段被称为 connect volume[^1]: ```bash iscsiadm -m node -T <target-iqn> -p <portal-ip>:<port> --login ``` #### 5. XML 设备描述生成及挂载操作 一旦物理路径被成功解析出来,Nova-Compute 构建一份 libvirt 支持的标准 XML 文件表示新增硬件的信息。最后调用 attach-device 方法让 hypervisor 动态加载外部磁盘成为 guest OS 内部可见的一部分[^1]: ```xml <disk type='block' device='disk'> <driver name='qemu' type='raw'/> <source dev='/dev/disk/by-path/ip-<portal-ip>-iscsi-<target-iqn>-lun-<lun>'/> <target dev='vdb' bus='virtio'/> </disk> ``` 以上步骤完成后,虚拟机会感知到新加入的数据盘,用户可以在操作系统层面对其进行分区、格式化和挂载等常规磁盘管理活动。 --- ### 注意事项 - **SELinux 影响**: 若遇到错误提示 "Unable to find security driver for model selinux"[^2],可能是由于 SELinux 策略阻止了一些必要的权限授予。解决办法之一是临时切换到 permissive 模式观察现象变化。 - **iSCSI 服务冲突**: 对于某些部署场景下的问题报告提到 tgt 和 iscsitarget 可能存在竞争绑定同一监听端口的情况[^3]。建议统一选用单一实现方式避免潜在干扰源。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值