各位大神,我想知道两台Linux服务器如何通过HBA卡发送文件(由于安全的原因,两台服务器之前网通不通,无法通过网络传输)?目前我通过在一台服务器上安装targetcli工具,作为存储服务器,另一台作为客户端,可以将文件从客户端写入服务器,但是服务器并不能实时看到(读取)客户端写入的文件,请问有什么办法可以让一个块存储即作为targetcli的backstores,又能同时被服务器挂载(只读挂载就行),实时获取客户端写入的文件信息?另一个思路直接通过FC协议或者SCSI协议进行通讯,但是不知道有什么合适的API,能实现两台服务器通过HBA卡通讯,求各位大神指点,谢谢!

解决方案 »

  1.   

    你这个情况的本质是两个服务器共享同一个块设备(block),   双机共享块设备的话,单机文件系统(ext3/xfs)只能通过轮流挂载进行访问。同时挂载会损坏文件系统。 另外,如果要同时访问的话,只能安装HA+集群文件系统(gfs2/ocfs2),但你那里网络不通,这个就搞不了了。常规方法无解。
     
    pacemaker集群方案中,有个sbd组件,是通过共享磁盘(裸盘)交换有效消息的。  但消息数量极其有限, 只有一个test是可以用的...研究一下这个应该有帮助。 用这个加自己的脚本或程序去协调两个主机轮流挂载那个共享的块设备。