- Вопрос или проблема
- Обзор системы
- Желаемый результат
- Ответ или решение
- Использование RAID-0 для свопа на двух NVMe устройствах в Linux
- Обзор системы
- Пожелание
- Вопрос 1: Соответствие производительности и надежности RAID-0 и двух своп-устройств
- Вопрос 2: Использование dm-raid как свопа для гибернации
- Заключение
Вопрос или проблема
Обзор системы
Я преобразовал материнскую плату Supermicro в рабочую станцию. К плате подключены два очень хорошие устройства NVMe. Мои файловые системы смонтированы по сети, и я доволен их производительностью. Моя операционная система – Debian Linux.
Желаемый результат
Я хотел бы использовать эти устройства NVMe для свопинга. Насколько я понимаю, способ обработки свопов в Linux заключается в том, что подключение двух отдельных своп-устройств приведет к поведению, функционально довольно схожему с RAID-0 с точки зрения производительности. Пока все хорошо.
Однако я также хотел бы позволить рабочей станции входить в какие-то значимые режимы сна. Насколько я знаю, материнские платы Supermicro notoriously problematic with S3 sleep states. Поэтому моя единственная опция – это какая-то форма гибернации в Linux.
Похоже, что функция гибернации требует, чтобы использовалось только одно своп-устройство для хранения содержимого ОЗУ. Я хотел бы воспользоваться комбинированной производительностью устройств NVMe в этой машине, так как объем ОЗУ довольно большой, и сокращение времени дампа и восстановления вдвое имеет значение. Одно из возможных решений, которое я вижу – использовать dm-raid с конфигурацией RAID-0 для этих двух устройств NVMe.
- Мой первый вопрос – будет ли свопинг через dm-raid, организованный в RAID-0, эквивалентен с точки зрения производительности и надежности использованию двух своп-устройств.
- Мой второй вопрос – могу ли я фактически использовать устройство dm-raid в качестве своп-устройства для гибернации.
Я был бы признателен за ваши комментарии.
Ответ или решение
Использование RAID-0 для свопа на двух NVMe устройствах в Linux
Обзор системы
Вам удалось преобразовать материнскую плату Supermicro в рабочую станцию, оснащённую двумя высокопроизводительными NVMe устройствами. Ваши файловые системы монтируются через сеть, и вы удовлетворены их производительностью на текущий момент. Однако вы хотите оптимизировать использование NVMe для выполнения свопинга и улучшения процесса гибернации.
Пожелание
Ваши цели – это использование NVMe для свопа и возможность поддержки гибернации, поскольку вы сталкиваетесь с проблемами с состоянием сна S3 на вашей материнской плате. Вы правильно заметили, что использование RAID-0 через dm-raid может стать важным шагом на пути к достижению вашей цели.
Вопрос 1: Соответствие производительности и надежности RAID-0 и двух своп-устройств
Использование RAID-0 с двумя NVMe устройствами действительно может обеспечить производительность, аналогичную использованию двух отдельных своп-устройств. Это объясняется тем, что RAID-0 (или "striping") делит данные между двумя дисками, позволяя одновременно осуществлять чтение и запись. Таким образом, нагрузка распределяется, что значительно увеличивает скорость доступа к данным.
Однако надежность – это другая сторона медали. В конфигурации RAID-0, если одно устройство выйдет из строя, данные на обоих устройствах будут потеряны, поскольку для восстановления данных не существует избыточности. Поэтому рассматривать RAID-0 следует, исходя из ваших потребностей: если вам критично быстрое время работы с памяти, это может быть оправданным вариантом, но с учётом повышенного риска потери данных.
Вопрос 2: Использование dm-raid как свопа для гибернации
Теперь, касаясь второго вопроса: да, вы можете использовать dm-raid устройство в качестве своп-устройства для гибернации. Однако для этого нужно учитывать несколько моментов.
-
Конфигурация svop: Вы должны создать RAID-0 устройство, которое будет выступать в качестве свопа, и отформатировать его соответствующим образом. В Linux это делается с помощью команд
mdadm
для создания RAID-массива, а затемmkswap
для подготовки своп-устройства. -
Настройки системных параметров: Убедитесь, что ваш файл
/etc/fstab
настроен для использования нового своп-устройства, чтобы система могла его обнаружить при загрузке. Например:/dev/md0 none swap sw 0 0
-
Поддержка гибернации: Чтобы система успешно вышла в гибернацию, нужно указать параметр
resume
в конфигурации загрузчика (например, GRUB) с указанием на то, где находится своп-устройство. Важно, чтобы размер свопа был не меньше, чем объём оперативной памяти для гарантии успешной загрузки из гибернации. Убедитесь, что вы протестировали свою конфигурацию на нескольких циклах «гибернация-возобновление», чтобы убедиться в её корректности.
Заключение
Использование RAID-0 для свопа на двух NVMe устройствах предоставляет вам ценные преимущества в производительности, одновременно открывая возможности для гибернации. Не забывайте, что RAID-0 несёт в себе риски, поэтому регулярное резервное копирование данных и мониторинг состояния устройств остаются важными аспектами.
Рекомендуется внимательно протестировать все этапы настройки, чтобы убедиться в эффективности решения, а также использовать только проверенные версии ПО и ядра Linux, чтобы избежать возможных проблем с поддержкой RAID и гибернацией.