使用解码功能轻松操作光纤通道WWN
devicewwn的Python项目详细描述
此包提供了在 具有解码功能的SAN存储环境。大部分存储空间 制造商在其设备的WWN中编码一些信息 (序列号、董事姓名等)。
此软件包可以为以下设备提取这些信息:
- EMC Symmetry DMX、VMax和VMax3
- EMC vplex
- NetApp FAS
欢迎拉取请求!:-)
创建WWN
您可以使用专用的工厂方法创建WWN对象。这个 返回类型将为WWN或制造商的特定类型(如果 可用):
>>> from devicewwn.factory import WWNFactory >>> factory = WWNFactory() >>> wwn1 = factory.create("10000000c9907a92") >>> wwn1 <WWN(10:00:00:00:c9:90:7a:92)> >>> >>> >>> wwn2 = factory.create("50:00:09:72:08:13:49:AD") >>> wwn2 <EmcVmaxWWN(50:00:09:72:08:13:49:ad)>
您可以使用“:”作为WWN字节之间的分隔符(或不使用)。
示例:50000972081349ad或50:00:09:72:08:13:49:ad被接受
此包还支持使用名为“设备WWN”的WWN对象
(符合ieee naa6)用于标识许多设备中的特定lun。>>> from devicewwn.vendors.EMC.Symmetrix import EmcVmaxWWN
>>> wwn = EmcVmaxWWN('6006048000018790064853594d353844')
>>> wwn
<EmcDmxWWN(60:06:04:80:00:01:87:90:06:48:53:59:4d:35:38:44)>
>>>
比较WWN
WWN之间的比较也是可能的(即使是在WWN对象之间 一个字符串):
>>> from devicewwn.factory import WWNFactory >>> factory = WWNFactory() >>> wwn1 = factory.create('50000972081349AD') >>> wwn2 = factory.create('50000972081349AD') >>> wwn1 == wwn2 True >>> wwn1 == '50000972081349AD' True >>>
提取WWN中编码的信息
一些制造商在其设备的WWN中编码信息。 这些信息在制造商之间并不相同,但是, 通常,您可以获取设备的序列号、端口或 控制器端口号(对于轻松识别设备非常有用 你的网络)。
WWN类的“decode”属性用于提取 信息(如果有的话)
>>> from devicewwn.factory import WWNFactory >>> factory = WWNFactory() >>> wwn = factory.create('50000972081349AD') >>> wwn.decode 'VMAX-20K S/N:HK192601234 Dir:12G Port:1'
decode属性也可以与wwns naa6一起使用以获取 特定信息(对symmetrix阵列非常有用):
>>> from devicewwn.vendors.EMC.Symmetrix import EmcVmaxWWN >>> wwn = EmcVmaxWWN('60000970000292605199533030384638') >>> wwn.decode 'VMAX S/N:000292605199 HVE:08F8' >>>
有用属性
其他属性可用:
- OUI:提取WWN的OUI(组织唯一标识符)
- wwn_nodots:显示字符串中不带“:”的wwn
- wwn_to_二进制:将wwn转换为二进制形式
>>> wwn.oui '00:60:48' >>> wwn.wwn_nodots '5006048accc86a32' >>> wwn.wwn_to_binary '101000000000110000001001000101011001100110010000110101000110010'
许可证
有关详细信息,请参见许可证文件。