Этот вопрос немного странный, я постараюсь быть максимально подробным.
Я переназначаю старый компьютер в качестве решения для резервного копирования в домашних условиях. Последним местом отдыха для данных является внешний G-Drive, подключенный через USB 2.0 (я говорил вам, что это старый компьютер). Я хотел бы выяснить, как использовать место на новом блестящем SSD-диске компьютера для буферизации записи на внешний диск. Я использую OpenSUSE Leap 15, с установкой сервера.
До сих пор я нашел bcache, который я мог установить в режим обратной записи и получить что-то похожее на то, что я ищу. Проблема в том, что раздел, который я буду буферизовать, использует btrfs (прозрачное сжатие), и были проблемы, сообщенные при их использовании вместе. Arch wiki говорит, что это было исправлено в 3.9, но я не нахожу это нигде в связанном источнике.
Там также lvmcache. Единственная ссылка на обратную запись, которую я вижу, - это краткое сообщение на странице руководства, без каких-либо дополнительных объяснений. Я также уже использую lvm для разделения SSD на различные разделы с тонкими пулами, поэтому я был бы обеспокоен тем, что использование lvmcache потребует от меня либо создания нового выделенного lvm-vg на двух дисках, чтобы предотвратить тонкие пулы распространяясь на внешний. Кроме того, в вики BTRFS есть примечания, что использование BTRFS поверх всего, что связано с уровнем блоков, может вызвать проблемы.
DM-Cache - это еще одна возможность настройки, которую я все еще изучаю. Поскольку он работает на уровне блоков, все еще возможно, что он может конфликтовать с btrfs.
Последний вариант - установка ZIL на основе SLOG с помощью zfs. Этот источник говорит, что при соединении 1 Гбит / с самый большой SLOG должен быть 0,625 ГБ, потому что он будет сбрасываться каждые 5 секунд. Тем не менее, исходя из всестороннего тестирования, самая высокая поддерживаемая скорость записи, которую я могу получить на этом диске, составляет 30 МБ / с. Это будет означать, что потребуется 20 секунд, чтобы сбросить 0,625 ГБ памяти на диск ZFS. (Обновление: на основе этого источника и этого источника устройство SLOG не предназначено для повышения пропускной способности, просто для уменьшения задержки.) (Обновление к обновлению: в комментариях Дэн уточнил, что это означает. Вполне вероятно, что ЗИЛ может быть использован в этом сценарии.)
Я знаю, что большие записи неизбежно будут ограничены внешним подключением. Я полагаю, что все, что составляет порядка десятков ГБ, будет иметь скорость 30 МБ / с. Моя цель не решить эту проблему. Скорее всего, я буду использовать rsync для отправки данных на внешние устройства, поэтому я бы хотел ускорить большинство операций передачи менее 10 ГБ.
Мне в основном любопытно, сделал ли кто-то еще что-то похожее на это, и есть ли у него рекомендации, или он может указать на конкретный вариант, который лучше других. В настоящий момент я считаю вариант ZFS/SLOG лучшим вариантом с использованием слог-накопителя 10 ГБ, но я не представляю, как этот большой диск будет играть с 5-секундным сбросом.
tl; dr: Каков наилучший способ (хотя я знаю, что не все это точно рекомендуется) для буферизации данных объемом около 10 ГБ на внутреннем диске, который затем будет перенесен на внешний диск?