Linux, (не)блочные устройства, какие могут быть «подводные камни»?
в linux имеется возможность создавать логические разделы в файлах. И в последующем использовать их как и обычные логические разделы размещенные на блочном устройстве.
Например: после установки OS были выполнены многие настройки и/или последующее изменение размеров разделов не представляется возможным. Требуется физически ограничить размер каталога до 3TB. Создаем file.hdd размером 3TB. Далее mkfs.ext4 /file.hdd и делаем ей mount. Все работает. Размер ограничен.
Или например мы можем сделать 4 файла по 1 TB. и mdadm объединить их в RAID5 и получить те же 3TB но уже в 4 файлах.
Вопрос: какие подводные камни мы можем поймать используя файлы в качестве устройств хранения информации? Во всех инструкциях подобный метод рекомендуется только для экспериментов, но никак не для продакшена. А "почему?" не объясняется.
"Почему" - ответ очень простой. Медленно. Раза в 1.5-2 по iops меньше, чем у нормального диска.
При этом на ssd такого ответа на вопрос "почему" уже не будет. И там такой совет - следствие инерции мышления.