Назад | Перейти на главную страницу

Можете ли вы использовать оперативную память сервера для кэша NAS?

У меня есть система с 4 процессорами и 16 ГБ оперативной памяти с картой RAID Areca 1230 и 6 жесткими дисками в конфигурации RAID 0 + 1 с 1 горячим резервом.

Система имеет 2 встроенных сетевых адаптера 1 Гбит / с.

Я хочу превратить систему в NAS.

Однако похоже, что 16 ГБ ОЗУ для NAS - это пустая трата.

Есть ли способ превратить значительную часть этой дополнительной оперативной памяти в кеш или, может быть, в какой-то RAMDRIVE для дополнительного быстрого пространства подкачки?

Хост-контроллер использует Ubuntu.

Какой метод наиболее надежен и относительно прост в настройке?

Увижу ли я заметное улучшение производительности, если бы у меня был какой-то кеш, использующий системную RAM для NAS?

Это зависит от того, какая служба предоставляет функциональные возможности NAS. Самба? NFS? Все вышеперечисленное? По сути, Linux будет использовать всю доступную нераспределенную память в качестве файлового кеша. Этот объем памяти будет использоваться по умолчанию через обычные механизмы кеширования Linux. Особенно, если используется 64-битное ядро.

16 ГБ ОЗУ для этой проблемы - довольно много. И тем не менее, он может быть как раз для того, что вам нужно. Все зависит от того, какая часть ваших данных активно используется в любой момент времени. Если ваш «рабочий набор» активных / открытых файлов превышает 12 ГБ, то 16 ГБ ОЗУ идеально. В идеале вы хотите, чтобы все открытые файлы могли помещаться в кеш-сервер, чтобы обеспечить максимальную производительность. Какой это уровень, зависит от вашей среды, поэтому нет никаких определенных ответов.

Хорошо, когда все эти данные помещаются в ОЗУ по нескольким причинам, одна из которых предназначена для записи. Это позволяет серверу переупорядочивать операции ввода-вывода, чтобы минимизировать задержку HD, что делает и карта RAID.

Linux по умолчанию будет использовать вашу нераспределенную оперативную память в качестве кеша ... но ваш сценарий сразу вызывает у меня два вопроса:

  • Сеть, вероятно, станет узким местом
  • Что происходит с вашим кешем при перезагрузке сервера? неожиданно? как записываются на диск?

Вы, конечно, можете настроить ramfs, чтобы они были доступны по сети, но вам действительно нужно обязательно сбросить его в более постоянное хранилище. Если ваш набор данных предназначен только для чтения (или даже для случайной записи), это может сработать идеально. Но для пользовательских данных или общих файловых ресурсов - ура!

Я не знаю, как выглядит ваша конкретная среда, но, возможно, вам будет гораздо лучше виртуализировать этот сервер, если он имеет избыточную емкость. Еще одна площадка для игр / испытаний / испытаний вообще приветствуется.