有一个SAN环境,edge层的交换机需要添加ISL的许可,(CORE层的交换机已经有了ISL许可)。

环境如下:

在Core层的交换机上switchshow可以看到与另一个Core互联的ISL口如下:

20  20   id    N8   Online           E-Port  (Trunk port, master is Port 23 )
 21  21   id    N8   Online           E-Port  (Trunk port, master is Port 23 )
 22  22   id    N8   Online           E-Port  (Trunk port, master is Port 23 )
 23  23   id    N8   Online           E-Port  10:00:00:xx:xx:xx:xx:xx "fabric2-core-e07-192168162023" (upstream)(Trunk master)

在Edge层的交换机上switchshow可以看到连接Core层交换机的几个口状态如下:

20  20   0a0600   id    N8   Online      FC  E-Port  10:00:00:xx:xx:xx:xx:xx "fabric2-core-e08-192168162028" 
 21  21   0a0400   id    N8   Online      FC  E-Port  10:00:00:xx:xx:xx:xx:xx "fabric2-core-e08-192168162028" 
 22  22   0a0200   id    N8   Online      FC  E-Port  10:00:00:xx:xx:xx:xx:xx "fabric2-core-e08-192168162028" 
 23  23   0a0000   id    N8   Online      FC  E-Port  10:00:00:xx:xx:xx:xx:xx "fabric2-core-e08-192168162028" (upstream)

添加license:

首先要到博科的网站上申请许可,申请完后通过licenseadd添加。添加完后会提示使用portdisable portenable 或switchdisable switchenable来生效。

由于只涉及到EDGE与CORE交换机互联的几个口子。所以使用portdisable 20;portenable 20;portdisable 21;portenable 21;portdisable 22;portenable 22;portdisable 23;portenable 23;来激活对应口子的ISL。

激活后查看相关PORT状态:

edge:

20  20   090600   id    N8   Online      FC  E-Port  10:00:00:xx:xx:xx:xx:xx "fabric2-core-e07-192168162023" (upstream)(Trunk master)  
 21  21   090400   id    N8   Online      FC  E-Port  (Trunk port, master is Port 20 )
 22  22   090200   id    N8   Online      FC  E-Port  (Trunk port, master is Port 20 )
 23  23   090000   id    N8   Online      FC  E-Port  (Trunk port, master is Port 20 )

core与edge连接口:

16  16   id    N8   Online           E-Port  10:00:00:xx:xx:xx:xx:xx "fabric2-edge-e11-192168162046" (downstream)(Trunk master)  
 17  17   id    N8   Online           E-Port  (Trunk port, master is Port 16 )
 18  18   id    N8   Online           E-Port  (Trunk port, master is Port 16 )
 19  19   id    N8   Online           E-Port  (Trunk port, master is Port 16 )

操作完以后在上层的服务器上看到一些异常输出:

服务器的DMESG输出(与操作时间吻合):

Oct 27 10:32:43 db_192_168_173_62_logdb kernel: qla2xxx 0000:07:00.0: scsi(0:0:1): Abort command issued -- 1 5309a0 2002.

查看PostgreSQL数据库日志,发现有一堆如下日志输出,持续时间约60秒:

2010-10-27 10:31:54.299 CST,"xxxx","xxxx",32212,"192.168.169.33:36466",4cbd13c4.7dd4,28,"INSERT waiting",2010-10-19 11:43:00 CST,9/461231,100827970,LOG,00000,"process 32212 still waiting for ExclusiveLock on extension of relation 22650 of database 22240 after 1000.889 ms",,,,,,"INSERT INTO tbl_download_stat .......................

从数据库日志上看正在等待数据库对象物理存储扩展的操作。根据PRIMARY KEY查看这些记录在数据库中的物理存储位置,发现都是新建BLOCK的操作。

如:select ctid,cmin,cmax,xmin,xmax,* from tbl_download_stat where pk_column='';

..............................

返回结果如:

(364981,1)
(364982,1)
(364983,1)
(364984,1)
(364985,1)
(364986,1)

格式为(block number in the file,tuple id in the block),从结果上看这些操作都是新建BLOCK的操作。

说明对存储的写操作被堵了1分钟左右。否则不会有大量的申请新建BLOCK的操作。

process 32212 still waiting for ExclusiveLock on extension of relation 22650 of database 22240 after 1000.889 ms

deadlock_timeout = 1s这个参数决定等待超过1秒的都会输出到数据库日志.

这里的ExclusiveLock和数据库逻辑层面的锁是两回事,可以使用Dynamic Tracing来跟踪。

【附】

A Fabric License allows you to connect two or more switches to form a fabric.
Trunking allows a frame-level load sharing on two or more ISLs (Inter Switch Links) between two switches.
A Fibre Channel environment usually requires that all frames are received in the same order they were sent. By default, traffic between any two devices uses only one ISL (Inter Switch Link), even if two or more interconnects exist to avoid that a frame gets ahead of one that was sent earlier.
Trunking uses special hardware features within a switch and has some requirements, e.g. only a subset of ports can form a trunking group or the distance of all ISLs within a trunk must be within a certain range.

ISL是帧级别的负载共享机制。但并不是所有的帧都可以用到多端口来共享负载,因为还有接收顺序的关系(可能和源地址有关系)。

One minute io hang when Add ISL Trunking License to Brocade Fabric相关推荐

  1. io hang linux 原理,Linux 避免IO hang

    对于DB Server 来说,删除大表来说是很棘手的.本文引用地址:http://www.eepw.com.cn/article/201610/305499.htm 删除大表的话,可以对原有表的.ib ...

  2. PostgreSQL 9.6 IO Hang问题浅析与优化

    背景 PostgreSQL检查点是将shared buffer中的脏页打标记,并集中将其刷到磁盘的动作(fsync).(期间可能有刷盘的调度,降低当脏页很多时带来的IO影响) 在检查点之外,平时bgw ...

  3. 祸害阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!

    作者 | 王知无 责编 | 郭   芮 程序员转行学什么语言? https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 2019年3月3日凌晨,微博炸锅, ...

  4. IO HANG是什么

    IO HANG 简单的说,IO HANG就是服务器磁盘读写过慢,导致线程和进程挂起.大量读写线程/进程挂起导致服务器宕机- io hang,都是指最底层的物理设备(磁盘)出现问题,比如坏块过多导致整理 ...

  5. SSD 因 NCQ hang,failed command: WRITE FPDMA QUEUED / tag 28 ncq 4096 out

    新购入的建兴ZETA 256G,在CentOS 7.2中,用PostgreSQL自带的fsync测试工具pg_test_fsync测试IOPS时,突然IO hang住了. dmesg报了一堆这样的超时 ...

  6. socket.io php 聊天室,WebSocket学习(一)——基于socket.io实现简单多人聊天室

    前言 什么是Websocket呢? 我们都知道在Http协议中,客户端与服务器端的通信是靠客户端发起请求,然后服务器端收到请求再进行回应,这个过程中,客户端是主动的,服务器端是被动的.Websocke ...

  7. Docker基础、进阶笔记,为k8s的学习预预热

    标题 Docker基础.进阶笔记,为k8s的学习预预热 笔记来源于视频: 狂神docker基础篇 狂神docker进阶篇 笔记中图片有些取自于:这位博主的两篇docker笔记中的一些图片 百度云笔记工 ...

  8. docker实战部署Javaweb项目

    一.部署环境说明 docker服务版本: version 18.09.0 nginx服务版本: version: nginx/1.15.10 redis服务版本: version: redis/5.0 ...

  9. docker java镜像_Docker JDK镜像

    Docker jdk镜像 说明 使用alpine-glibc作为基础镜像 JAVA JDK/JRE以1.8为基准 下载文件 创建Dockerfile JDK FROM docker.io/jeanbl ...

最新文章

  1. 比特大陆全球首发SOPHON系列张量处理器和解决方案
  2. 在MATLAB中,用Simulink搭建一个二阶传递函数模型
  3. ubuntu中mysql操作_uBuntu下安装MySql,及mySql操作!
  4. 浏览器保存密码后文本框出现黄色背景的解决方案
  5. JAR包使用方法指南
  6. 《Spring2之站立会议5》
  7. 学会这一招,轻松将PDF转网页HTML,快来码住
  8. 360粉碎文件可以恢复吗,如何恢复360强力删除的文件
  9. 【vant】爬坑引用本地图片
  10. python切片练习(League of Legends)
  11. android subscriber 自定义,自定义Subscriber
  12. mysql连接错误state 08S01
  13. 西电计科数据库系统期末复习笔记
  14. Uniapp进行App云打包—安卓Android端
  15. 使用Microsoft.Office.Interop.Excel批量编辑Excel文件
  16. 如何让代码在word中显示行号?
  17. 如何快速解决Unity中万向节死锁(gimbal lock)的问题
  18. 记一次成功把Vue2后台项目改造成Vite2的踩坑经历
  19. 如何避免新代码变包袱?阿里通用方法来了!
  20. 常见图片格式jpg、jpeg、png、gif等之间的区别

热门文章

  1. SQL Server中的null(没有值,空值)
  2. 超棒的响应式设计测试书签和工具(bookmarks)(转)
  3. 【NumberValidators】增值税发票代码验证
  4. Hive load data 时中文乱码的解决
  5. OpenSUSE 12.3下的终端下拉软件
  6. 鼠标连点器同时点多个位置_一台电脑登录多个微信,简单,按住ENTER,鼠标快速点,扫描OK...
  7. Android Quic协议资料
  8. 年产40万吨甲醇制乙烯MTO工艺设计
  9. vscode报错 [Code安装似乎损坏。请重新安装]
  10. 使用GDI+绘制高质量图和字体