Я пытаюсь написать сценарий, похожий на mdtrim (https://github.com/Cyberax/mdtrim) для программного рейда raid 0 через mdadm. Mdtrim предназначен только для рейда 1 на данный момент, и он работает, записывая большой, в основном пустой файл в файловую систему, находя диапазоны секторов с помощью hdparm --fibmap и обрезая эти сектора (+ смещение) на отдельных дисках в зеркальная матрица.
У меня вопрос о том, как mdadm сопоставляет виртуальные LBA с физическими. Например, для двухдискового массива это так же просто, как наличие всех четных полос непрерывно на первом диске (+ некоторое смещение) и всех нечетных полос на втором диске? Сохраняет ли он внутреннюю карту и является ли эта карта постоянной. Я попытался найти в Интернете подробности того, как mdadm реализует рейд 0, но безрезультатно.