RAW设备导出

时间:2010-11-17 13:30:58

标签: drawing nfs cifs

如何使用NFS或CIFS导出RAW设备以供数据库使用?

2 个答案:

答案 0 :(得分:2)

我记得这样做是为了满足Oracle安装的一些神秘要求。我想出了如何实现这一目标,但意识到在任何情况下我都不想实际实现这一点。

那就是说,如果你喜欢做出错误的选择:

创建一个您最终将作为原始设备公开的空文件:

   dd if=/dev/zero of=/netapp/ocr/file bs=8k count=50000

制作原始设备:

mknod /dev/raw1 c 162 1

创建一个指向您要使用的文件的环回设备:

losetup /dev/loop1 /netapp/ocr/file

将原始设备绑定到环回设备:

raw /dev/raw/raw1 /dev/loop1

生成可确认原始设备绑定正确的输出:

raw -qa

答案 1 :(得分:0)

简短的回答:你不能!

答案很长:

NFS和CIFS都旨在处理文件,而不是设备。

在Unix上使用NFS导出设备节点实际上会引用客户端上的(可能不存在的)设备,就客户端的内核而言。 NFS也因锁定使任何并发(包括数据库事务)成为主要问题的问题而臭名昭着。 NFS上的ACID通常是禁止的。

我认为CIFS对特殊文件的支持也有限,尽管我可能会弄错。

也许您正在寻找像NBD(网络块设备),DRBD(分布式复制块设备)甚至iSCSI这样的东西?

http://en.wikipedia.org/wiki/ISCSI

http://en.wikipedia.org/wiki/Network_block_device

http://en.wikipedia.org/wiki/DRBD

请记住,如果您尝试将原始设备共享到多个节点,可能会出现非常严重的锁定问题 - 您需要支持分布式操作并一直锁定到您的数据库中。

如果您在更高级别解释了您想要做的事情,您可能会获得更多帮助......