Эмулировать жесткий диск в Linux

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

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

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

Спасибо

2 ответа

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

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

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

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

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

замените его типом файловой системы, файл file.img должен быть образом нужного раздела.

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

Другие вопросы по тегам