Эмулировать жесткий диск в Linux - PullRequest
9 голосов
/ 06 августа 2011

Я разработал файловую систему на основе FUSE в рамках исследовательского проекта, и теперь мне нужно изучить фактические запросы на чтение / запись, полученные жестким диском.В попытке сделать это, я смотрю на вариант создания виртуального жесткого диска в Linux, который будет перехватывать запросы, генерируемые файловой системой, и регистрировать их.

Есть ли какие-либо ресурсы, доступные наИнтернет, который может помочь мне написать эмулятор и / или разработать навыки, необходимые для его написания?В настоящее время я читаю книгу Linux Device Drivers 3, чтобы понять, как Linux управляет блочными устройствами.

Любая помощь приветствуется.

Спасибо

Ответы [ 2 ]

3 голосов
/ 08 августа 2011

Посмотрите на драйвер отладки SCSI.Цитирование с сайта

Драйвер адаптера scsi_debug имитирует переменное количество дисков SCSI, каждый из которых использует общий объем ОЗУ, выделенный драйвером для работы в качестве (энергозависимого) хранилища.

Если бы это был я, я бы включил ведение журнала отладки, уже имеющегося в этом драйвере, а затем улучшил бы его в соответствии с вашими потребностями.

3 голосов
/ 06 августа 2011

Ну, есть способ смонтировать файл образа как раздел:

mount -t <fs type> -o loop file.img /mnt

замените его типом файловой системы, файл file.img должен быть образом нужного раздела.1005 * Еще один способ: вы можете установить virtualbox, установить linux на виртуальную машину, добавить новый виртуальный жесткий диск и изнутри виртуальной машины отформатировать виртуальный жесткий диск с нужной файловой системой и использовать его.Преимущество этого подхода заключается в том, что он обеспечивает безопасную изолированную программную среду, чтобы вы случайно не повредили существующую систему во время экспериментов.

...