Сканирование всей файловой системы параллельно с clamscan

Я запускаю сканирование clamav еженедельно на моих серверах. Существует один сервер с кластером raid6 объемом 30 ТБ дискового пространства, сканирование которого занимает более 24 часов.

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

Я знаю о --multiscan параметр clamdscan, Основная проблема, которую я имею с clamdscan, заключается в том, что он не может обрабатывать файлы, которые clamav пользователь не может получить к нему доступ, и, кажется, не рекомендуется запускать демон от имени пользователя root.

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

2 ответа

У вас есть два отдельных вопроса:

  1. Распараллеливание clamdscan - кроме объединения --multiscan а также --fdscan мало что можно сделать Кроме того, вы можете запустить несколько экземпляров clamscan на отдельных папках независимо от демона.
  2. Сканирование файлов, которые clamd не могу получить доступ - это невозможно. clamd требует как минимум доступа на чтение любых файлов, которые вы хотите отсканировать и отчитаться, и доступа на запись к любым файлам, которые вы хотите отсканировать и очистить. Я бы запустил демон с доступом только на чтение и обработал отчеты вручную. Если вы не доверяете ClamAV для обработки вредоносных файлов, вам следует использовать другой сканер.
  1. Лучшим способом было бы запустить несколько экземпляров clamsdcan, гарантируя, что все демоны имеют сродство к разным ядрам, и все они используют разные физические устройства (то есть диски) и, что еще лучше, - отдельные шинные каналы. Ввод / вывод будет узким местом в этой задаче.
  2. Убедитесь, что вы сканируете то, что вам действительно нужно. При сканировании архивов или образов дисков могут потребоваться ресурсы ЦП, В / В и ОЗУ, поскольку процесс должен считывать (ввод / вывод), распаковывать (ЦП, ОЗУ для сопоставления файлов, В / В для записи в кэш) и сканировать их после. Может быть хорошей идеей, чтобы исключить файлы ISO, файлы MKV, jpgs.
  3. Вы могли бы рассмотреть возможность сканирования только недавно измененных файлов, потому что при сканировании большого ISO, никто не меняет каждое сканирование.
Другие вопросы по тегам