存儲SCSI鎖解讀:Windows Cluster篇
EMC中文支持論壇 發(fā)表于:13年01月08日 00:51 [轉(zhuǎn)載] DOIT.com.cn
SCSI鎖的作用:
在一個共享存儲的環(huán)境下,多臺前端主機(jī)可能會同時(shí)訪問同一臺存儲設(shè)備,如果此時(shí)多臺主機(jī)在同一時(shí)點(diǎn)上對一個LUN進(jìn)行寫操作,那么可想而知這個LUN將不知道哪個數(shù)據(jù)先寫,哪個數(shù)據(jù)后寫。為了防止這種情況發(fā)生而導(dǎo)致的數(shù)據(jù)損壞,所以就有了SCSI鎖的概念。通過SCSI Reservation機(jī)制來進(jìn)行SCSI鎖的操作,目前絕大多數(shù)的磁盤都支持‘SCSI reservvation命令‘。如果一臺主機(jī)給磁盤傳輸了一條SCSI Reservation命令,則這個磁盤對于其他的主機(jī)就處于鎖定狀態(tài)。如果有其他的主機(jī)給已經(jīng)被鎖定的磁盤發(fā)送讀寫請求,則會收到‘reservation conflict’報(bào)錯信息。如果保留SCSI鎖的主機(jī)崩潰,或者其他主機(jī)給磁盤發(fā)送‘break reservation或者reset target命令,用來解除SCSI鎖。然后,第二個主機(jī)發(fā)送I/O請求之前需要重新發(fā)送SCSI Reservation命令給磁盤。
SCSI鎖的分類:
SCSI鎖有兩種類型:SCSI-2 Reservation和SCSI-3 Reservation。一個LUN上只能存在一種類型的SCSI鎖。
SCSI-2 Reservation只允許設(shè)備被發(fā)出SCSI鎖的Initiator訪問,也就是主機(jī)的HBA。比如主機(jī)1上的HBA1對訪問的LUN加上SCSI-2鎖,此時(shí)即使主機(jī)1的HBA2也無法訪問這個LUN。所以SCSI-2 Reservation也被稱為Single Path Reservation。
SCSI-3 Reservation(Persistent Reservation)是使用PR Key來對磁盤進(jìn)行加鎖。通常一臺Host會有唯一的PR Key,不同的主機(jī)對應(yīng)的PR Key也不同。所以一般SCSI-3 Reservation通常被應(yīng)用在多通路的共享環(huán)境下面。這里SCSI-3 Reservation也稱之為Persistent Reservation。
Windows Cluster中的SCSI鎖:
Windows 2003集群中使用SCSI-2 reserve/release命令。作為非持久的reservation,所以集群中的一臺節(jié)點(diǎn)會持有SCSI-2 Reservation的鎖,然后每過3秒會重新刷新一次。如果故障轉(zhuǎn)移發(fā)生,則切換節(jié)點(diǎn)主機(jī)會在相應(yīng)的磁盤上放置SCSI-2 Reservation然后維護(hù)SCSI鎖。如果所有節(jié)點(diǎn)主機(jī)上的集群服務(wù)都會關(guān)閉,Reservation也不會保留。
Windows 2008集群中使用SCSI-3 persistent reservation機(jī)制。如果磁盤從主機(jī)上沒有正確移除,集群使用的磁盤(Cluster Disk)會保留著這些Reservation。鎖對應(yīng)的SCSI鎖會一直存在于相應(yīng)的磁盤之上,即使集群服務(wù)被關(guān)閉或者磁盤對于主機(jī)取消掩飾(unmasked)。所以,有些時(shí)候需要強(qiáng)行移除磁盤上的Reservation。
在Windows環(huán)境中,移除Reservation移除的命令是(disknumber可以在Windows的Disk Management中找到)
公司簡介 | 媒體優(yōu)勢 | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯(lián)系我們 | 會員注冊 | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.