У меня есть система с 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, чтобы они были доступны по сети, но вам действительно нужно обязательно сбросить его в более постоянное хранилище. Если ваш набор данных предназначен только для чтения (или даже для случайной записи), это может сработать идеально. Но для пользовательских данных или общих файловых ресурсов - ура!
Я не знаю, как выглядит ваша конкретная среда, но, возможно, вам будет гораздо лучше виртуализировать этот сервер, если он имеет избыточную емкость. Еще одна площадка для игр / испытаний / испытаний вообще приветствуется.