Назад | Перейти на главную страницу

XFS: внутренняя ошибка XFS_WANT_CORRUPTED_GOTO

После того, как в моей резервной базе данных postgres произошел сбой питания, я получаю сообщение об ошибке:

XFS: Internal error XFS_WANT_CORRUPTED_GOTO

после перезагрузки системы, а также журнал ошибок postgres показывает:

ERROR:  could not write block 1759002 in file "base/278425/1651445.13": Input/output error
CONTEXT:  writing block 1759002 of relation base/278425/1651445
ERROR:  could not write block 339174 in file "base/278425/1651495.2": Input/output error
CONTEXT:  writing block 339174 of relation base/278425/1651495
PANIC:  could not write to log segment 0000000100001423000000A9 at offset 149696, length 5952: Input/output error

Несколькими днями ранее в другой идентичной системе я получил ошибку postgres:

ERROR:  could not write block 69511 in file "base/278425/539725": Structure needs cleaning
CONTEXT:  writing block 69511 of relation base/278425/539725
WARNING:  could not write block 69511 of base/278425/539725
DETAIL:  Multiple failures --- write error might be permanent.

Файловая система 2 ТБ монтируется с использованием:

монтировать -t xfs -o rw, nobarrier, noatime, nodiratime / dev / md0 / postgres_data

  1. Поскольку это том AWS ELB (GP2), я предполагаю, что он не имеет поддержки от батареи и поврежден, потому что я выбрал nobarrier вариант?

  2. Поскольку размер этой файловой системы составляет 2 ТБ, следует ли мне добавить параметр inode64 и может быть в этом проблема? Файловая система содержит 1,2 ТБ данных.

inode64 - это значение монтирования по умолчанию, поэтому ваша система уже должна его использовать.

С большой вероятностью проблема связана с nobarrier вариант, связанный с кешем записи без BBU на стороне хоста.

Вам пришлось отключить файловую систему и запустить xfs_repair против этого.