iSCSI協定對多User同時寫一個target device的互斥問題討論


我終於知道答案了,這幾天在參加iSCSI Enterprise Target的開發組的討論 , 這個能從理論上解釋:

iSCSI really is just the handling of data blocks to and from the hard disk. Think of it as an extension of the hard disk that goes across the wire.
If you have multiple servers connected to a volume it is exactly like having a shared SCSI bus between multiple hosts. There is nothing in the SCSI controllers to prevent you from corrupting your shared volumes. This kind of control needs to come from the operating system. The OS needs to know the volume is shared and either a special file-system or special handling needs to take place. I don't know of a shared file-system in Windows, but Microsoft Cluster Services allow one server at a time access to a shared volume using SCSI Reserve/Release.
iSCSI must follow the SCSI protocol and the only function available to aid in shared access is SCSI RESERVE/RELEASE, which is a form of mutex.
這樣的話 , SCSI本身不能解決互斥的問題, 必須由kernel來解決。
通過google , 知道 iSCSI本身不能作share storage , 必須配合cluster file system才能實現真正的simultaneously read and write to and from a same target device .
GFS 就是這樣一個文件系統 ,由RedHat開發, 而且是open source的。



粤ICP备14056181号  © 2014-2021