Я рассмотрел здесь множество других вопросов, касающихся пространства подкачки, но ни один из них, который я нашел, действительно не касался моей конкретной ситуации.
У меня есть 64-разрядный сервер Ubuntu 9.10 с 32 ГБ ОЗУ, работающий как хост-система KVM. Я использую LVM поверх RAID1.
Рекомендации по замене "старой школы" предполагают 2xRAM или 2xRAM + 1GB, или даже if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB
. Но я просто не могу выделить 66 ГБ дискового пространства для свопа, это кажется безумием! Я думаю, что 4 ГБ или 8 ГБ будет достаточно.
В этой системе будет работать несколько виртуальных серверов KVM. Как в этой ситуации работает своп? Должен ли я иметь раздел подкачки для хост-сервера, а затем каждый виртуальный сервер получает собственный корень LVM и раздел подкачки LVM? Или виртуальные серверы разделяют своп хоста?
Строго говоря, Linux не нужен любой своп вообще - особенно когда у вас уйма оперативной памяти. В случае KVM вам потребуется достаточно памяти для поддержки всех ваших машин. Итак, если у вас есть 20 виртуальных машин с 1 ГБ ОЗУ каждая, вам потребуется 20 ГБ ОЗУ на хосте. Однако каждая отдельная виртуальная машина может быть настроена с собственным свопом, например с 2 ГБ подкачки для каждой. Таким образом, каждая виртуальная машина может управлять своим свопом. Вы можете настроить обмен отдельно для каждого.
Достаточно будет 4 ГБ. Я не совсем уверен, как работает своп для виртуальных серверов, но предполагаю, что у каждого из них свой своп.
В таких ситуациях вам следует оставить около 2 ГБ ОЗУ для хост-системы или всего 1 ГБ, в зависимости от того, сколько вы видите, используется на машине с большей частью выделенной памяти. Своп выполняется очень медленно, и в вашей системе RAID-1 с такой высокопроизводительной машиной вы никогда не захотите менять местами.
С другой стороны, вы можете подумать о том, чтобы иметь 4 диска, работающих в RAID-10, предпочтительно диски SAS, чтобы иметь достаточный ввод / вывод для всех виртуальных серверов на узле, хотя в зависимости от того, что вы используете, это может быть необязательно. .