В настоящее время я настраиваю файловый сервер и приступил к настройке дисков с данными. Система имеет 4 диска (один диск с ОС, 3 диска с данными). Диск ОС отформатирован как ext4 и не будет добавлен в пул ZFS (если я выберу запуск ZFS). Моя главная проблема - целостность данных и минимальный риск потери данных (кэширование диска отключено в BIOS). Для этого ZFS кажется идеальным кандидатом, поскольку он имеет стабильную версию для Linux (верно?) И поддерживает дублирование данных, пул и raidz, где жесткие диски не обязательно должны быть одинакового размера.
Но вот моя проблема. Сервер имеет только 2 ГБ оперативной памяти, и это не может быть обновлено в ближайшем будущем, и реально только 1,5 будет фактически доступно для ZFS после того, как я установлю все другие службы. Максимум около 10 клиентов будут использовать его одновременно (более 4 в среднем). Это слишком низко, чтобы считаться безопасным?
Из того, что я понимаю, ZFS может аварийно завершить работу в ситуациях с нехваткой ОЗУ и взять с собой пул. Я слышал противоречивые мнения о том, поможет ли раздел подкачки решить эту проблему (у меня есть выделенный диск подкачки объемом 20 ГБ). Кто-нибудь испытывал потерю данных в ZFS с небольшим объемом оперативной памяти и какие оптимизации вы предприняли, чтобы предотвратить это?
Учитывая вышесказанное, можно ли будет по-прежнему запускать ZFS, хотя уменьшить размер ack и немного его урезать, или это будет слишком рискованно?
Системные спецификации: 2 ГБ ОЗУ, 20 ГБ, подкачка ОС, Debian 7, минимальная установка, с FTP, и XBMC, DNLA (чтобы понять требования к ОЗУ). Используется для сервера хранения и потоковой передачи музыки на другие устройства.
Ответы:
Вы определяете целостность данных и минимальный риск потери данных в качестве основных проблем. Запуск ZFS только с 2 ГБ памяти опасен и не рекомендуется. Слишком мало ОЗУ снижает производительность и является причиной многочисленных несмонтируемых пулов в прошлом. Проект FreeNAS заявляет 8 ГБ ОЗУ как минимум.
Кроме того, поскольку ваша проблема заключается в потере данных, вы захотите использовать ECC RAM. Поскольку ваш компьютер может поддерживать только 2 ГБ ОЗУ, я предполагаю, что это действительно старый компьютер, который не будет хорошим выбором для ZFS.
Чтобы ответить на ваши вопросы:
На практике забудьте о дедупликации, когда у вас нет как минимум 32 ГБ, как правило. Вам может потребоваться значительно больше оперативной памяти, в зависимости от размера пула. Во-вторых, посчитайте, если затраты на дедупликацию и оперативную память дешевле, чем на несколько дополнительных дисков. Чаще всего больше дисков - более дешевая альтернатива.
Да, это слишком низко.
Это правда, и многие люди потеряли свои пулы из-за нехватки оперативной памяти.
Забудьте о свопе, ваш ящик ZFS никогда не должен использовать своп.
РЕДАКТИРОВАТЬ: Если вы чувствуете себя предприимчивым и не боитесь риска случайной паники или потери данных, прочитайте руководство по настройке ZFS и измените указанные настройки. Вот пример настройки для системы объемом 768 МБ памяти.
В противном случае инвестируйте сотни долларов в полосу памяти и наслаждайтесь стабильной и производительной системой.
источник
В системах с высоким давлением памяти (linux) действительно необходимо обновить память. Есть еще ошибка ( ссылка ), когда подкачка блокирует IO (зависание ядра), что делает его непригодным для использования до перезагрузки. Я считаю, что vm.swappiness = X не влияет на zfs, поэтому ограничение дуги до определенного числа может немного помочь.
источник