Linux - как сравнить 2 блока файловой системы
Есть ли способ сравнить (двоичные или контрольные суммы и т.д.) файловых блоков между 2 различными серверами Linux. Файлы на обоих серверах находятся в сети SAN. Причина - репликация настроена на базе данных postgres, я хочу проверить, будут ли блоки таблицы для основного и зеркала точно одинаковыми или разными для таблиц?
1 ответ
Я хотел бы использовать dd
прочитать блок файла, который вам нужен, а затем передать его md5sum
чтобы получить контрольную сумму, которую я могу сравнить с другой машиной, например:
$ dd if=/path/to/postgresql/data bs=4096 skip=<block number minus one> count=1 | md5sum
5561f64d760047a7a56e99a71a66c890
(Вы должны заменить свой собственный размер блока в bs=
параметр, если 4KB не подходит для PostgreSQL.)