knox0x1怎么锁东西?

在一个共享存储的环境下多台主机可能会同时访问同一台存储设备,如果此时多台主机在同一时点上对一个Lun进行写的操作那么可想而知这个Lun将不知道哪个数据先写,哪个数据后写为了防止这种情况发生而导致的数据损坏,于是就引入了SCSI锁的概念如下图中HostA对Lun进行读写时,对Lun加上SCSI锁此时HostB将无法对该Lun進行访问。

一般设备被打开时将会被加上锁比如varyonvg、dd等等,需要注意的是对于dd这种命令当它运行时设备会被加锁运行完成后会自动解锁。

注意:以下命令方式不仅限于SCSI-2锁对SCSI-3锁也适用。

每个厂商的设备与驱动都有自己的属性但大多都类似。我们这里以MPIO的reserve_policy为例:

但早期DS4000的微码(SM8.4或更早未经确认)则使用SCSI-2的锁。

当然我们也可以通过修改dpo、hdisk、vpath等属性指定锁的方式

varyoffvg则会对VG相关的设备进行正常的解锁操作。

varyonvg -b也會将VG相关的设备进行解锁操作通常该命令在VG正在被使用的主机上运行,与“-u”参数一起使用可用来在HA环境下的LVM操作。

-bdatavg”可以解掉hdisk0上的鎖特别注意:varyonvg设计不是用在此种环境下的,可能出现一些不可预知情况请慎用!一个可以尝试该方法的情况是HostA与HostB共享一台非IBM存储,这囼存储没有自己的工具用来解锁也不被HACMP支持。hdisk0所构成的datavg在HostA上被varyon此时HostA异常宕机,此时HostB肯定无法正常接管因此hdisk0的锁无法释放。这时候可鉯尝试在HostB上使用varyonvg -b datavg来解锁但不一定成功(需要看存储厂商的支持情况)。

总而言之当一个设备不用之后,请正常varyoffvg后再关机慎用varyonvg -b来解锁。

注意:单独使用这些命令不一定对所有存储都适用而且单独使用这些命令不被IBM官方所支持。

简单总结来讲这个问题产生原因是两个:

该问题非常典型,请大家自己举一反三

我要回帖

更多关于 knox0x1 的文章

 

随机推荐