使用解码功能轻松操作光纤通道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'

许可证

有关详细信息,请参见许可证文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像