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)¶
-
- 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_identity –
Drive的标识符- 返回值:
一个
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)¶
-
此类表示存储资源集合
- 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.ApplyTimevalue.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.ApplyTimevalue.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)¶
-
此类表示存储卷集合。
- create(payload, apply_time=None, timeout=500)¶
创建卷。
- 参数:
payload – 表示要创建的新卷的有效负载。
apply_time – When to update the attributes. Optional. An
sushy.ApplyTimevalue.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 资源中所有卷的大小(以字节为单位)。
返回缓存值列表,直到(或其父资源)被刷新。