2009-10-27 81 views
6

我的項目涉及通過遠程主機模擬塊設備。Linux塊設備仿真和保險絲

爲了測試我使用FUSE,我的文件系統是「你好」示例應用程序,在那裏,而不是返回一個字符串常量我只是從文件中讀取數據,直接的簡單變化。

當我嘗試正常安裝文件(安裝鄰環=的/ dev/LOOP1)效果很好。 當我加載保險絲並通過它暴露此文件時,所有正常的文件操作工作。但安裝失敗,並顯示「權限被拒絕」。

任何人有一個想法,其中拒絕「權限」是哪裏來的?

任何其他方法來,讓我來創建一個虛擬設備(只支持塊訪問)的用戶空間,這將是安裝?

在此先感謝

+0

什麼發行版是否與你一起開發?它可能就像需要將用戶添加到「保險絲」組一樣簡單。 – 2009-10-27 14:50:24

+0

Ubuntu 9. Mount與根。 – Boris 2009-10-28 16:55:40

回答

1

mount命令是一個真正的地獄,當它開始打印錯誤使用。嘗試「-v」,但更多的,往往不是額外的輸出將不利於:(

+0

可悲的是-v表示絕對沒有問題,直到可怕的「權限被拒絕」 – Boris 2009-10-28 16:56:16

4

想必問題是,FUSE文件系統不支持對它有環坐騎所需的功能。

你有沒有使用網絡塊設備代替,如NBD或iSCSI目標考慮?

+0

不會出現適合作爲NBD服務器將滿足塊請求本身很遺憾。雖然我需要我的應用程序來提供塊。 – Boris 2009-10-28 17:09:07

+0

您的應用程序可以通過實現NBD服務器或iscsi目標來提供塊;然後您可以使用內核的現有NBD或iscsi驅動程序通過網絡使其可用,然後將其掛載。 – MarkR 2009-10-28 23:00:02

+0

我錯誤地認爲編寫我自己的NBD服務器將是一個很大的痛苦。 剛剛在python中發現了一個nbd-server草案: 「http://lists.canonical.org/pipermail/kragen-hacks/2004-May/000397.html」 適合我的「Python原型」實驗 謝謝! – Boris 2009-10-29 08:53:08

2

你以root權限執行,你可以跟蹤程序以「使用strace」,然後檢查哪兒失敗。