Избегайте избыточной записи сигнатур сканирования на вирусы в виртуальных машинах на одном диске [закрыто]

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

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

Я подключил виртуальный диск к первой виртуальной машине с помощью: $ virsh attach-disk vdb --cache none

Однако при попытке подключить тот же виртуальный диск на вторую виртуальную машину после успешного подключения к первой с: $ virsh attach-disk vdb --cache none --mode readonly

ошибка { {1}} невозможно выполнить команду QEMU 'device-add':Не удалось получить общую блокировку записи . Это просто невозможно, или мне не хватает варианта?

Как лучше всего поделиться этими подписями? между виртуальными машинами для этой цели?

5
задан 4 August 2020 в 12:23
2 ответа

Вам нужна некоторая кластерная файловая система, чтобы совместно использовать любое блочное устройство между несколькими потребителями, не использующими R / O. См. Всю историю здесь:

https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392

То же самое для любого блочного хранилища, такого как SAS, FC, iSCSI или виртуального блочного устройства.

5
ответ дан 4 January 2021 в 07:28

Гипервизор не поддерживает совместное использование виртуального хранилища для двух разных виртуальных машин одновременно. Это не имеет смысла, поскольку для одной виртуальной машины (или, возможно, обеих) невозможно будет иметь согласованное представление о хранилище, даже если одна из них предназначена только для чтения. Гостевая ОС не будет ожидать, что что-либо еще будет записывать в хранилище.

Для совместного использования хранилища между виртуальными машинами используйте существующее решение, такое как NFS или iSCSI, которые предназначены для этой цели, или кластерную файловую систему, если вы действительно хотите сделайте его намного более сложным, чем действительно требуется вашему варианту использования.

0
ответ дан 4 January 2021 в 07:28

Теги

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