chp845 发表于 2016-04-11 21:09

请问ISCSI 的多路读写的问题

本帖最后由 chp845 于 2016-04-11 21:20 编辑

运行环境:
存在HOST1和HOST2,同时挂载一个ISCSI TAGET(使用Multipath连接),ISCSI设备创建两个LVM卷 (lvm1 和lvm2)
(ISCSI的读写维护是由挂载机器的内核维护的,理论上ISCSI的不支持多设备同时读写)。

请问:
      1.如果,HOST1和HOST2,同一个时刻只有一台主机在lvm1卷上进行读写,这时候,两台主机同时读取lvm1,会有影响吗?
         (个人认为,ISCSI本身面向块设备,这时候读取应该是没有影响的,不知道我理解的对不对?)
      2.如果,HOST1在读取lvm1的时候,这时候HOST2进行lvm2卷进行写入(HOST1不会访问lvm2),请问这样会有问题吗?

chp845 发表于 2016-04-12 08:47

求解答!求解答!

misihua 发表于 2016-04-13 15:05

不能同时读写。因为文件系统不会同步。 如果同时mount,A机就算只读,也读不到B机刚写入的内容。 当然,你不需要它读到刚写的内容那就无所谓。

另外,既然host1不需要读取lvm2,那为何不host1 host2各划一个独立的iscsi盘?

chp845 发表于 2016-04-14 09:18

本帖最后由 chp845 于 2016-04-14 09:19 编辑

回复 3# misihua

如果HOST1,HOST2同时进行读写卷,但是同一时刻不同主机不会一个操作同一卷,例如:host1读写lvm1的时候,host2只会读写lvm2;
这样操作应该不会发生读写冲突吧,因为lvm1和lvm2创建的时候,文件系统已经分配好了磁盘区域。

izee 发表于 2016-04-14 13:37

iscsi可以同时写,但是如果文件系统本身不支持多路径写入的话,同时写会导致数据丢失或异常

chp845 发表于 2016-04-14 14:19

回复 5# izee
同时写肯定可以写的,只不过多路些会发生写入的数据被其它路径写入的数据覆盖,我在写入之前创建完几个lvm卷,(比如lvm1,lvm2), 那么主机host1就只在lvm1上写入,不会去写入其它卷;同样host2,只会写入lvm2.

izee 发表于 2016-04-15 10:14

你说host1写入时,host2只是读取,但是谁来保证呢,靠人吗?
即便人可以做到万无一失,你知道写入缓存的队列有多长吗?你知道操作系统什么时候结束写入吗?
如果没有文件系统的支持,你会死得很惨的。
页: [1]
查看完整版本: 请问ISCSI 的多路读写的问题