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