Варианты быстрого доступа и резервного копирования миллионов файлов
Заимствовать у людей с похожими проблемами
Это очень похоже на более легкую проблему, с которой сталкиваются серверы новостей USENET и кэширующие веб-прокси: сотни миллионов небольших файлов, к которым осуществляется произвольный доступ. Возможно, вы захотите получить подсказку от них (за исключением того, что они обычно не должны делать резервные копии).
http://devel.squid-cache.org/coss/coss-notes.txt
http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=4074B50D266E72C69D6D35FEDCBBA83D?doi=10.1.1.31.4000&rep=rep1&type=pdf
Очевидно, что циклическая природа файловой системы циклических новостей не имеет значения для вас, но концепция более низкого уровня, состоящая из нескольких файловых устройств / устройств с упакованными изображениями и быстрого индексации информации, которую пользователь предоставляет для поиска информации о местоположении, очень уместна.
Выделенные файловые системы
Конечно, это просто те же понятия, о которых говорили люди, создавая файловую систему в файле и монтируя ее через loopback, за исключением того, что вы можете написать собственный код файловой системы. Конечно, поскольку вы сказали, что ваша система в основном предназначена для чтения, вы могли бы фактически выделить для этой цели раздел диска (или раздел lvm для гибкости в настройке размеров). Если вы хотите сделать резервную копию, смонтируйте файловую систему только для чтения, а затем сделайте копию битов раздела.
LVM
Я упомянул LVM выше как полезный, чтобы позволить динамическое изменение размера раздела, чтобы вам не нужно было создавать резервные копии большого количества пустого пространства. Но, конечно, у LVM есть и другие функции, которые могут быть очень применимы. В частности, функция «снимка», которая позволяет вам мгновенно заморозить файловую систему. Любой случайный rm -rf
или что-то еще не мешало бы снимку. В зависимости от того, что именно вы пытаетесь сделать, этого может быть достаточно для ваших нужд резервного копирования.
RAID-1
Я уверен, что вы уже знакомы с RAID и, вероятно, уже используете его для надежности, но RAID-1 можно использовать и для резервного копирования, по крайней мере, если вы используете программный RAID (вы можете использовать его с аппаратным RAID, но это на самом деле обеспечивает более низкую надежность, поскольку для чтения может потребоваться одна и та же модель / контроллер версии. Идея заключается в том, что вы создаете группу RAID-1 с одним диском, который больше необходим вам для нормальной безопасности (например, третий диск, если вы используете программный RAID-1 с двумя дисками, или, возможно, большой диск и аппаратное обеспечение). RAID5 с небольшими дисками с программным RAID-1 поверх аппаратного RAID-5). Когда придет время сделать резервную копию, установите диск, попросите mdadm добавить этот диск в группу raid, подождите, пока он не укажет полноту, при необходимости запросите проверку для проверки, а затем удалите диск. Конечно,