查看服务器wwn是否在交换机侧

判断port_state是否为Online状态,是的话,读取出port_name,即为wwn。

复制代码
 1 #!/usr/bin/env python3
 2 
 3 # -*- coding: UTF-8 -*-
 4 
 5 import glob
 6 import operator
 7 import os
 8 
 9 if __name__ == "__main__":
10     work_dir='/sys/class/fc_host/host*/port_state'
11 
12     for item in glob.glob(work_dir):
13         f = open(item)
14         for line in f:
15             if line == 'Online\n':
16                 wwn_item = item.replace("state", "name")
17                 fn = open(wwn_item)
18                 for wwn in fn:
19                     print wwn,
20                 fn.close()
21         f.close()
复制代码

用集合来存放从交换机上获取的wwn信息,把从服务器上获取的wwn逐行读取,进行比对,看是否在集合内。

为True的话,说明可以从交换机上看到此台服务器。

复制代码
 1 #!/usr/bin/env python3
 2 
 3 # -*- coding: UTF-8 -*-
 4 
 5 if __name__ == "__main__":
 6     f = open("112wwn")
 7     wwn_set=set()
 8     for line in f:
 9         wwn_set.add(line)
10     f.close()
11     print(wwn_set.__len__())
12 
13     f_host = open("172wwn")
14     for wwn in f_host:
15         if wwn in wwn_set:
16             print('True')
17         else:
18             print('False')
19     f_host.close()
复制代码
posted @   东宫得臣  阅读(423)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示