Использование RAID-0 для двух NVMe устройств в Linux в качестве файла подкачки (для обеспечения быстрого обмена данными и гибернации)

Вопрос или проблема

Обзор системы

Я преобразовал материнскую плату Supermicro в рабочую станцию. К плате подключены два очень хорошие устройства NVMe. Мои файловые системы смонтированы по сети, и я доволен их производительностью. Моя операционная система – Debian Linux.

Желаемый результат

Я хотел бы использовать эти устройства NVMe для свопинга. Насколько я понимаю, способ обработки свопов в Linux заключается в том, что подключение двух отдельных своп-устройств приведет к поведению, функционально довольно схожему с RAID-0 с точки зрения производительности. Пока все хорошо.

Однако я также хотел бы позволить рабочей станции входить в какие-то значимые режимы сна. Насколько я знаю, материнские платы Supermicro notoriously problematic with S3 sleep states. Поэтому моя единственная опция – это какая-то форма гибернации в Linux.

Похоже, что функция гибернации требует, чтобы использовалось только одно своп-устройство для хранения содержимого ОЗУ. Я хотел бы воспользоваться комбинированной производительностью устройств NVMe в этой машине, так как объем ОЗУ довольно большой, и сокращение времени дампа и восстановления вдвое имеет значение. Одно из возможных решений, которое я вижу – использовать dm-raid с конфигурацией RAID-0 для этих двух устройств NVMe.

  1. Мой первый вопрос – будет ли свопинг через dm-raid, организованный в RAID-0, эквивалентен с точки зрения производительности и надежности использованию двух своп-устройств.
  2. Мой второй вопрос – могу ли я фактически использовать устройство 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 устройство в качестве своп-устройства для гибернации. Однако для этого нужно учитывать несколько моментов.

  1. Конфигурация svop: Вы должны создать RAID-0 устройство, которое будет выступать в качестве свопа, и отформатировать его соответствующим образом. В Linux это делается с помощью команд mdadm для создания RAID-массива, а затем mkswap для подготовки своп-устройства.

  2. Настройки системных параметров: Убедитесь, что ваш файл /etc/fstab настроен для использования нового своп-устройства, чтобы система могла его обнаружить при загрузке. Например:

    /dev/md0 none swap sw 0 0
  3. Поддержка гибернации: Чтобы система успешно вышла в гибернацию, нужно указать параметр resume в конфигурации загрузчика (например, GRUB) с указанием на то, где находится своп-устройство. Важно, чтобы размер свопа был не меньше, чем объём оперативной памяти для гарантии успешной загрузки из гибернации. Убедитесь, что вы протестировали свою конфигурацию на нескольких циклах «гибернация-возобновление», чтобы убедиться в её корректности.

Заключение

Использование RAID-0 для свопа на двух NVMe устройствах предоставляет вам ценные преимущества в производительности, одновременно открывая возможности для гибернации. Не забывайте, что RAID-0 несёт в себе риски, поэтому регулярное резервное копирование данных и мониторинг состояния устройств остаются важными аспектами.

Рекомендуется внимательно протестировать все этапы настройки, чтобы убедиться в эффективности решения, а также использовать только проверенные версии ПО и ядра Linux, чтобы избежать возможных проблем с поддержкой RAID и гибернацией.

Оцените материал
Добавить комментарий

Капча загружается...