SCSI 中定义的provision

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 0、简写说明LB:logic BlockLBA: Logic Block addressLU: Logic unit (对应一个逻辑存储实体)VPD: Vital Product Data scsi 协议规定的scsi设备产品数据。

0、简写说明

LB:logic Block

LBA: Logic Block address

LU: Logic unit (对应一个逻辑存储实体)

VPD: Vital Product Data scsi 协议规定的scsi设备产品数据。

1、Provision的等级

两大等级:Full Provison和Logical Block Provision

1)Full Provision就是没有任何供给策略,所有的lb在设备上都有physical block对应。

2)Logical Block Provision 并不是所有的LB在设备上都有Physical block对应。

1.1 Logical Block Provision的两个等级

1)Resource Provison

设备上保证拥有足够的资源支持所有的LBA都映射到Physical block(虽然当前并不是所有的LBA都mapping到了Physical Block,有的LBA可能是unmap或者anchor了)

2)thin Provison

设备不能保证所有的LBA都有足够的资源映射,也就是说LB数量可以大于设备所有Physical Block支持的量。

1.2 Logical Block Provision上LBA对应的状态

1)mapping:LBA有对应的Physical Block对应(可以多个LBA对应一个Physical Block),也就是硬件为LB分配了物理资源

2)anchor:LBA有对应的phyical Block,当时此物理资源类似于暂留的意思。

3)unmapped:LBA没有对应的Physical Block。

2、scsi 命令

2.1 获取是否支持

2.1 .1 获取logical block provison 能力

通过inquiry 命令查询VPD page 0xb2(logical block provision页)。

4个字段:

1)LBPU(logical block provision unmap)

支持scsi命令unmap

2)LBPWS(logical block provision write same)

支持scsi命令write same(16)with unmap bit

3)LBPWS10(logical block provision write same 10)

支持scsi命令write same(10)with unmap bit

注:如果一个设备即支持write same 16 with unmap和write same 10 with unmap,且它支持write same 32,那么它一定得支持write same 32 with unmap

4)lbprz(logical block provision read zero)

从处于provison的logical block读出的数据为0(如果设置为xx1),或者预设值(此字段设置为010b)。

如果lbprz为000,那么设备不能保证从unmap block读取的数据。

5)ANC_SUP(anchor support)

支持anchor命令。

2.1.2 读设备容量的时候获取provison信息

read capacity 16 命令返回时刻,可以反馈当前logical block的provison状态

1)lbpme(logical block provision management enable )

当设置为1时刻,表示支持logical provision

2)lbprz(logical block provsion read zero)

为1表示,当前从provison 的lba读取的数据硬件保障为0或者特定值。

2.2 触发unmap的命令

2.2.1 unmap命令

对指定位置开始的一段lba启动unmap操作。

注:通过unmap命令我们不能期望后续read返回特定的数据值(例如0)。如果需要这样的话应该使用write same with

Unmapped字段。

2.2.2 write same 10 with unmap

write same 10 命令带unmap字段设置为1会将此字段unmap。

2.2.3 write same 16 with unmap

write same16 命令带unmap 字段为1会将此字段unmap。

注:对于write same 16 with unmap和write same 10 with unmap,如果命令数据区域写入的字段将导致unmap操作后,read去读的数据和协议定义不一致的时候,那么这个unmap操作无效,只会执行正常的write same动作。

2.3 获取设备provision status

通过Get LBA Status命令可以获取设备当前指定lba的provision状态(也可以获取所有的provison状态下的LBA)。

LBA status 为0(mapped),1(deallocated),2(anchored)

注:如果此设备(lu)是full provision,那么status为0.

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
20天前
|
Linux
【linux】【驱动】phy接口类型
【linux】【驱动】phy接口类型
11 0
|
2月前
|
存储 Java 内存技术
USB-C与TYPE-C接口的区别与应用
USB-C与TYPE-C接口的区别与应用
|
内存技术 固态存储 计算机视觉
关于PCI-E接口你要知道这些点
  PCI-E接口作为主板上可能是最大尺寸的接口,其应用范围非常广泛,不仅仅局限于我们经常用到的独立显卡,其他诸如网卡、声卡、图像采集卡等设备也是通过PCI-E标准来使用的。 PCI-E接口是主板上比较通用的一种接口标准,目前主要提供给需要直接与CPU进行通讯的设备使用,通常是为了扩展主板上没有支持的功能,比如扩展独立显卡等设备,目的是为平台输出更加强力的图形能力,弥补核显的不足。
2024 0