ZFS в Linux и KVM: NUMA узлы для хоста

Я заинтересован в использовании образов KVM на zvols под ZFS в Linux в многосокетной системе. Мне интересно, как мне закрепить узлы NUMA, чтобы максимизировать преимущества кеширования ZFS ARC для всех изображений KVM в системе. Очевидно, я должен прикрепить каждую виртуальную машину к одному сокету / узлу, чтобы вся ее память находилась на одном контроллере. Но меня озадачивает вопрос о том, как настроить хост так, чтобы ARC приносил максимальную пользу каждой виртуальной машине.

Кажется логичным, что если я сохраню хост на одном узле NUMA, это будет означать, что виртуальные машины на другом узле будут иметь более медленный доступ к ARC. Однако, если хост распределен по узлам NUMA, его производительность пострадает, что может повлиять на производительность в гостевой системе.

Из того, что я прочитал, я ' m даже не ясно, может ли хост быть привязан к определенным узлам, или если он по определению использует их все. И если это так, насколько ZFS в Linux ARC знает об узлах NUMA?

1
задан 26 February 2017 в 12:41
1 ответ

Ручное закрепление ресурсов / процессов в определенных сокетах - это то, что следует делать только в очень определенных обстоятельствах. Более того, сам по себе ARC является глобальным ресурсом с (в основном) непредсказуемыми шаблонами / совпадениями доступа.

Я настоятельно не рекомендую вам выполнять подобную тонкую настройку, если только не доказана для хорошей производительности. Попробуйте запустить установку Linux с настройками по умолчанию, вообще не вмешиваясь в NUMA, и понаблюдайте за поведением вашей системы с помощью numastat

. Если требуется дополнительная настройка, попробуйте использовать автоматическую оптимизацию с помощью numad . Только и только если этого недостаточно, попробуйте оптимизировать, используя numactl и / или закрепление гостевого ЦП KVM.

4
ответ дан 3 December 2019 в 17:35

Теги

Похожие вопросы