2009-10-27 59 views
6

Dự án của tôi liên quan đến việc mô phỏng thiết bị khối bằng máy chủ từ xa.Mô phỏng thiết bị khối Linux & cầu chì

Để thử nghiệm Tôi đang sử dụng FUSE, hệ thống tệp của tôi là một thay đổi đơn giản của ứng dụng ví dụ "hello", thay vì trả về chuỗi không đổi, tôi chỉ đọc dữ liệu trực tiếp từ tệp.

Khi tôi cố gắng gắn kết tệp thông thường (mount -o loop =/dev/loop1), nó hoạt động tốt. Khi tôi tải cầu chì và hiển thị tệp này qua nó, tất cả các thao tác tệp bình thường đều hoạt động. Nhưng lắp không thành công với "Quyền bị từ chối".

Bất kỳ ai có ý tưởng về "quyền từ chối" đến từ đâu?

Bất kỳ phương pháp nào khác cho phép tôi tạo một thiết bị ảo (chỉ hỗ trợ truy cập khối) trong không gian của người dùng, có thể mount được không?

Cảm ơn trước

+0

gì có thể đơn giản như việc cần thêm người dùng của bạn vào nhóm 'cầu chì'. –

+0

Ubuntu 9. Mount ing với gốc. – Boris

Trả lời

1

Lệnh gắn kết là địa ngục thực sự sử dụng khi bắt đầu in lỗi. Hãy thử "-v" nhưng thường xuyên hơn không, đầu ra bổ sung sẽ không giúp ích: (

+0

Rất tiếc - hiển thị hoàn toàn không có vấn đề gì cho đến khi "Quyền bị từ chối" sợ hãi – Boris

4

Có lẽ vấn đề là hệ thống tệp FUSE không hỗ trợ các tính năng cần thiết để có gắn vòng lặp trên đó.

bạn đã xem là sử dụng một thiết bị khối mạng thay vào đó, chẳng hạn như NBD hoặc iSCSI mục tiêu?

+0

Thật không may là dường như không vừa với máy chủ NBD sẽ thỏa mãn các yêu cầu khối. Trong khi tôi cần ứng dụng của tôi để cung cấp các khối. – Boris

+0

Ứng dụng của bạn có thể cung cấp các khối bằng cách thực hiện một máy chủ NBD hoặc mục tiêu iscsi; sau đó bạn có thể sử dụng các trình điều khiển NBD hoặc iscsi hiện có của hạt nhân để làm cho nó có sẵn trên mạng và sau đó gắn kết nó. – MarkR

+0

Tôi nhầm tưởng rằng việc viết máy chủ NBD của riêng tôi sẽ quá đau đớn. Chỉ cần tìm thấy một bản nháp nbd-server trong python: "http://lists.canonical.org/pipermail/kragen-hacks/2004-May/000397.html" Bộ quần áo hoàn hảo với thử nghiệm "Thử nghiệm trong python" của tôi Cảm ơn bạn! – Boris

2

bạn đang thực hiện với sự cho phép root. bạn có thể theo dõi chương trình với "strace" và sau đó kiểm tra nơi chính xác này không thành công.

Các vấn đề liên quan