Mar 15, 2020 00:28
Обновил на одном из хостов ProxMox с какой-то мега-тухлой версии (долго руки не доходили) до актуальной. Одна из виртуалок (почтарь) была слишком жирной по занимаемому месту на DAS-е. Поэтому её не стали никуда переносить, а тупо выключили на период обновления хоста. Потом включили обратно. Типа, downtime в полчаса никого не волновал.
Всё сделали, вроде всё нормально. Но потом я обнаружил странную вещь. При интенсивной записи на корневую файловую систему внутри виртуальной машины у неё в логах всплывало вот такое
[5039931.574439] end_request: I/O error, dev vda, sector 4080476
[5039931.574708] Aborting journal on device vda1-8.
[5039931.611426] EXT4-fs error (device vda1): ext4_journal_check_start:56: Detected aborted journal
[5039931.611495] EXT4-fs (vda1): Remounting filesystem read-only
[5039931.618652] EXT4-fs error (device vda1): ext4_journal_check_start:56: Detected aborted journal
после чего RootFS автоматически перемонтировалась в read-only.
А на хост-машине наблюдалось вот такое.
[5042218.923117] Page cache invalidation failure on direct I/O. Possible data corruption due to collision with buffered I/O!
[5042218.923168] File: /var/lib/vz/images/115/vm-115-disk-1.raw PID: 10125 Comm: kworker/20:1
Причина оказалась банальной.
Внутри виртуалки всё было "заточено" под VirtIO. А после обновления ProxMox-а настройки её виртуального железа "слетели" до дефолтного SCSI-контроллера "LSI 53C895A". И заметил я неполадку далеко не сразу, потому как с виду вроде как всё работает, всё как будто бы нормально. Да и сами почтовые демоны, ЧСХ, не "падали", ибо читали-писали не в RootFS, а на другой виртуальный диск.
После того как в настройках гипервизора выставил VirtIO, "плавающий глюк" пропал. Вот такая неожиданная багофича. Называется, "будьте внимательными".
грабли,
администрирование,
виртуализация,
linux,
трудовыебудни,
it