sushy.resources.system.storage 包

子模块

sushy.resources.system.storage.constants 模块

class sushy.resources.system.storage.constants.RAIDType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

基础: Enum

NONE = 'None'

设备级别上没有冗余的放置策略。

RAID0 = 'RAID0'

将连续的逻辑数据块均匀分布在一组独立的存储设备上,而不提供任何形式的冗余的放置策略。

RAID00 = 'RAID00'

在两个或多个 RAID 0 集上创建 RAID 0 条带集的放置策略。

RAID01 = 'RAID01'

在条带设备集(RAID 0)上创建镜像设备(RAID 1)的数据放置策略。

RAID1 = 'RAID1'

将每个逻辑数据块存储在多个独立存储设备上的放置策略。

RAID10 = 'RAID10'

在镜像设备集(RAID 1)上创建条带设备(RAID 0)的放置策略。

RAID10E = 'RAID10E'

使用 RAID 0 条带集在两个或多个 RAID 10 集上的放置策略。

RAID10_TRIPLE = 'RAID10Triple'

在三倍镜像设备集(RAID 1Triple)上使用条带设备(RAID 0)的放置策略。

RAID1E = 'RAID1E'

使用在独立的存储设备集上实现的镜像形式的放置策略,其中逻辑块复制到成对的独立存储设备上,以便数据在存储设备上均匀分布。

RAID1_TRIPLE = 'RAID1Triple'

将每个逻辑数据块在三个独立的存储设备上镜像三次的放置策略。

RAID3 = 'RAID3'

使用基于奇偶校验的保护的放置策略,其中逻辑字节的数据均匀分布在一组独立的存储设备上,并且奇偶校验存储在专用的独立存储设备上。

RAID4 = 'RAID4'

使用基于奇偶校验的保护的放置策略,其中逻辑块的数据均匀分布在一组独立的存储设备上,并且奇偶校验存储在专用的独立存储设备上。

RAID5 = 'RAID5'

使用基于奇偶校验的保护的放置策略,用于在 ‘n+1’ 个独立的存储设备上存储 ‘n’ 个逻辑数据块和一个逻辑奇偶校验块,其中奇偶校验和数据块交错分布在存储设备上。

RAID50 = 'RAID50'

使用 RAID 0 条带集在两个或多个 RAID 5 集上放置策略。

RAID6 = 'RAID6'

使用基于奇偶校验的保护的放置策略,用于在 ‘n+2’ 个独立的存储设备上存储 ‘n’ 个逻辑数据块和两个独立的逻辑奇偶校验块,其中奇偶校验和数据块交错分布在存储设备上。

RAID60 = 'RAID60'

使用 RAID 0 条带集在两个或多个 RAID 6 集上放置策略。

RAID6TP = 'RAID6TP'

使用基于奇偶校验的保护的放置策略,用于在 ‘n+3’ 个独立的存储设备上存储 ‘n’ 个逻辑数据块和三个独立的逻辑奇偶校验块,其中奇偶校验和数据块交错分布在存储设备上。

class sushy.resources.system.storage.constants.VolumeInitializeType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

基础: Enum

FAST = 'Fast'

卷被快速准备好使用,通常通过仅擦除空间的开头和结尾来进行分区。

SLOW = 'Slow'

卷被缓慢准备好使用,通常通过完全擦除卷来进行。

class sushy.resources.system.storage.constants.VolumeType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

基础: Enum

MIRRORED = 'Mirrored'

卷是一个镜像设备。

NON_REDUNDANT = 'NonRedundant'

卷是一个非冗余存储设备。

RAW_DEVICE = 'RawDevice'

卷是一个原始物理设备,不应用任何 RAID 或其他虚拟化。

SPANNED_MIRRORS = 'SpannedMirrors'

卷是镜像设备的跨度集。

SPANNED_STRIPES_WITH_PARITY = 'SpannedStripesWithParity'

卷是使用奇偶校验来保留冗余信息的设备跨度集。

STRIPED_WITH_PARITY = 'StripedWithParity'

卷是一个使用奇偶校验来保留冗余信息的设备。

sushy.resources.system.storage.controller 模块

class sushy.resources.system.storage.controller.ControllerCollection(connector, path, redfish_version=None, registries=None, root=None)

基类: ResourceCollectionBase

property summary

存储控制器摘要

返回值:

控制器 ID 和其状态的字典,格式为

{'RAID.Integrated.1-1': {'Health': sushy.Health.OK,
                         'State': sushy.State.ENABLED}}
class sushy.resources.system.storage.controller.StorageController(connector, path='', redfish_version=None, registries=None, reader=None, json_doc=None, root=None)

基类: ResourceBase

存储控制器

controller_protocols = <sushy.resources.base.MappedListField object>

此存储控制器可以通信的协议

device_protocols = <sushy.resources.base.MappedListField object>

可用于与连接设备通信的协议

identifiers = <sushy.resources.common.IdentifiersListField object>

此存储控制器的持久名称。

identity = <sushy.resources.base.Field object>

存储控制器标识

name = <sushy.resources.base.Field object>

存储控制器的名称

property pending_settings

待处理的存储控制器设置资源

raid_types = <sushy.resources.base.MappedListField object>

存储控制器支持的 RAID 类型集。

speed_gbps = <sushy.resources.base.Field object>

存储控制器设备接口的最大速度。

status = <sushy.resources.common.StatusField object>

描述资源及其子项的状态和健康状况。

property supported_apply_times

支持的 BIOS 更新应用时间列表

返回值:

支持的更新应用时间名称列表

update(payload, apply_time=None, maint_window_start_time=None, maint_window_duration=None)

更新可写属性

支持更新需要重启的属性。

参数:
  • payload – 包含要更新的属性的字典

  • apply_time – 何时更新属性。可选。一个 sushy.ApplyTime 值。

  • maint_window_start_time – The start time of a maintenance window, datetime. Required when updating during maintenance window and default maintenance window not set by the system.

  • maint_window_duration – Duration of maintenance time since maintenance window start time in seconds. Required when updating during maintenance window and default maintenance window not set by the system.

返回值:

异步任务或 None 的 TaskMonitor

sushy.resources.system.storage.drive 模块

class sushy.resources.system.storage.drive.Drive(connector, path='', redfish_version=None, registries=None, reader=None, json_doc=None, root=None)

基类: ResourceBase

此类表示磁盘驱动器或其他物理存储介质。

block_size_bytes = <sushy.resources.base.Field object>

此驱动器上可寻址最小单位的大小(以字节为单位)

capacity_bytes = <sushy.resources.base.Field object>

此驱动器的字节大小

identifiers = <sushy.resources.common.IdentifiersListField object>

驱动器的持久名称

identity = <sushy.resources.base.Field object>

驱动器标识字符串

indicator_led = <sushy.resources.base.MappedField object>

指示 LED 是否亮着或熄灭

manufacturer = <sushy.resources.base.Field object>

这是此驱动器的制造商

media_type = <sushy.resources.base.Field object>

此驱动器中包含的介质类型

model = <sushy.resources.base.Field object>

这是驱动器的型号

name = <sushy.resources.base.Field object>

资源的名称

part_number = <sushy.resources.base.Field object>

此驱动器的零件编号

protocol = <sushy.resources.base.MappedField object>

驱动器用于与存储控制器通信的协议

revision = <sushy.resources.base.Field object>

驱动器的固件/硬件版本。

serial_number = <sushy.resources.base.Field object>

此驱动器的序列号

set_indicator_led(state)

将指示 LED 设置为给定的状态。

参数:

state – 所需的 LED 状态,一个 IndicatorLED 值。

引发:

InvalidParameterValueError,如果传递的任何信息无效。

status = <sushy.resources.common.StatusField object>

此类型描述驱动器的状态和健康状况

property volumes

此驱动器所包含的卷的列表。

驱动器完全或仅部分包含的卷。

引发:

如果缺少 @odata.id’ 字段,则会引发 MissingAttributeError。

返回值:

一个 Volume 实例列表

sushy.resources.system.storage.storage 模块

class sushy.resources.system.storage.storage.Storage(connector, path='', redfish_version=None, registries=None, reader=None, json_doc=None, root=None)

基类: ResourceBase

此类表示存储子系统资源。

存储子系统表示一组存储控制器(物理或虚拟)以及可以从该子系统访问的资源,例如驱动器和卷。

property controllers

分配给此存储子系统的存储控制器。

自 Redfish v1.9 起,用 storage_controllers 替换,以允许存储控制器成为自己的资源。

property drives

返回存储资源中存在的 Drive 对象列表。

它在首次查询时设置一次。在后续调用中,它返回缓存的 Drives 对象列表,直到被标记为失效。

返回值:

一个 Drive 对象列表

引发:

ResourceNotFoundError

drives_identities = <sushy.resources.base.Field object>

包含驱动器标识符的元组

property drives_max_size_bytes

此集合中所有驱动器中的最大可用大小(以字节为单位)。

property drives_sizes_bytes

存储资源中所有驱动器的字节大小。

返回缓存值列表,直到(或其父资源)被刷新。

get_drive(drive_identity)

给定驱动器标识符,返回一个 Drive 对象

参数:

drive_identityDrive 的标识符

返回值:

一个 Drive 对象

引发:

ResourceNotFoundError

identity = <sushy.resources.base.Field object>

存储的身份字符串

name = <sushy.resources.base.Field object>

资源的名称

status = <sushy.resources.common.StatusField object>

描述资源及其子项的状态和健康状况。

storage_controllers = <sushy.resources.system.storage.storage.StorageControllersListField object>

与此资源关联的存储设备。

自 Redfish v1.13 起已弃用,以允许存储控制器成为自己的资源。在可用时使用 controllers

property volumes

属性,用于引用 VolumeCollection 实例

它在首次查询时设置一次。在刷新时,此属性标记为失效(此时不执行贪婪刷新)。此处仅当资源失效时才进行子资源的实际刷新。

class sushy.resources.system.storage.storage.StorageCollection(connector, path, redfish_version=None, registries=None, root=None)

基类: ResourceCollectionBase

此类表示存储资源集合

property drives_sizes_bytes

存储集合资源中每个驱动器的字节大小。

返回缓存值列表,直到(或其父资源)被刷新。

property max_drive_size_bytes

所有驱动器资源中的最大可用大小(以字节为单位)。

返回缓存值,直到(或其父资源)被刷新。

property max_volume_size_bytes

所有卷资源中的最大可用大小(以字节为单位)。

返回缓存值,直到(或其父资源)被刷新。

property volumes_sizes_bytes

存储集合资源中每个卷的字节大小。

返回缓存值列表,直到(或其父资源)被刷新。

class sushy.resources.system.storage.storage.StorageControllersListField(*args, **kwargs)

基础: ListField

此资源表示的存储控制器集合。

controller_protocols = <sushy.resources.base.MappedListField object>

此存储控制器可以通信的协议

device_protocols = <sushy.resources.base.MappedListField object>

控制器用于与设备通信的协议

identifiers = <sushy.resources.common.IdentifiersListField object>

此存储控制器的持久名称。

member_id = <sushy.resources.base.Field object>

唯一标识集合中的成员。

name = <sushy.resources.base.Field object>

存储控制器的名称

raid_types = <sushy.resources.base.MappedListField object>

存储控制器支持的 RAID 类型集。

speed_gbps = <sushy.resources.base.Field object>

存储控制器设备接口的最大速度。

status = <sushy.resources.common.StatusField object>

描述资源及其子项的状态和健康状况。

sushy.resources.system.storage.volume 模块

class sushy.resources.system.storage.volume.ActionsField(*args, **kwargs)

基类: CompositeField

initialize = <sushy.resources.common.InitializeActionField object>
class sushy.resources.system.storage.volume.Volume(connector, path='', redfish_version=None, registries=None, reader=None, json_doc=None, root=None)

基类: ResourceBase

此类添加存储卷资源

block_size_bytes = <sushy.resources.base.Field object>

此卷中最小可寻址单元的大小(以字节为单位)。

capacity_bytes = <sushy.resources.base.Field object>

此卷的大小(以字节为单位)。

delete(payload=None, apply_time=None, timeout=500)

删除卷。

参数:
  • payload – 可能包含 @Redfish.OperationApplyTime 属性

  • apply_time – When to update the attributes. Optional. An sushy.ApplyTime value.

  • timeout – 阻塞异步调用等待的最大时间(秒)。

引发:

ConnectionError

引发:

HTTPError

返回值:

如果异步任务成功删除,则返回 TaskMonitor;否则返回 None

encrypted = <sushy.resources.base.Field object>

此卷是否已加密。

get_allowed_initialize_volume_values()

获取初始化卷的允许值。

返回值:

包含允许值的集合。

identifiers = <sushy.resources.common.IdentifiersListField object>

卷的持久名称。

identity = <sushy.resources.base.Field object>

卷的身份字符串

initialize(value=VolumeInitializeType.FAST, apply_time=None, timeout=500)

初始化卷。

参数:
  • value – 初始化类型的值。

  • apply_time – When to update the attributes. Optional. An sushy.ApplyTime value.

  • timeout – 阻塞异步调用等待的最大时间(秒)。

引发:

如果目标值不允许,则会引发 InvalidParameterValueError。

引发:

ConnectionError

引发:

HTTPError

返回值:

TaskMonitor 如果是异步任务,否则为成功初始化

name = <sushy.resources.base.Field object>

资源的名称

operation_apply_time_support = <sushy.resources.common.OperationApplyTimeSupportField object>

指示客户端是否允许请求给定资源的创建、删除或操作的特定应用时间。

raid_type = <sushy.resources.base.MappedField object>

此卷的 RAID 类型。

volume_type = <sushy.resources.base.MappedField object>

此卷的类型。

class sushy.resources.system.storage.volume.VolumeCollection(connector, path, redfish_version=None, registries=None, root=None)

基类: ResourceCollectionBase

此类表示存储卷集合。

create(payload, apply_time=None, timeout=500)

创建卷。

参数:
  • payload – 表示要创建的新卷的有效负载。

  • apply_time – When to update the attributes. Optional. An sushy.ApplyTime value.

  • timeout – 阻塞异步调用等待的最大时间(秒)。

引发:

ConnectionError

引发:

HTTPError

返回值:

新创建的卷资源或异步任务的 TaskMonitor

property max_size_bytes

所有卷资源中的最大可用大小(以字节为单位)。

返回缓存值,直到(或其父资源)被刷新。

property max_volume_size_bytes

所有卷资源中的最大可用大小(以字节为单位)。

返回缓存值,直到(或其父资源)被刷新。

operation_apply_time_support = <sushy.resources.common.OperationApplyTimeSupportField object>

指示客户端是否允许请求给定资源的创建、删除或操作的特定应用时间。

property volumes_sizes_bytes

VolumeCollection 资源中所有卷的大小(以字节为单位)。

返回缓存值列表,直到(或其父资源)被刷新。

模块内容