powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Быстрый хеш ?
25 сообщений из 56, страница 1 из 3
Быстрый хеш ?
    #37634181
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Время доброго

Понадобилась задача.

Есть 130К файлов общим объемом 3.2Тб в трех копиях
Сортированные списки файлов совпадают, даты сбиты.
Суммарный размер всех файлов прыгают примерно на тысячные доли процентов (при объеме в терребайты, разница в объеме в сто мегабайт)

Но. Есть подозрение что часть файлов в каждой копии битая.

Как определить, какие именно ?

Пытался намутить md5sum, но она медленная ужасно.
Какие еще могут быть варианты ?


Пока на уме - сделать некое подобие xor-хеша с фибоначи-позициями.
То есть брать позиции 1 2 3 5 8 13... и делать исключающее или.
Теоретически, это быстрее и возможно даже что-то выдаст...

4 8 15 16 23 42
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37634202
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз уж различия в объемах, так почему бы не проверить идентичность размеров одноименных файлов в каждой из трех копий.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37634218
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
размеры не совпадают.

Пока грешу на разные настройки файловых систем (везде ext4)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
root@sandbox-abc:~/migr/cs# ls -hl /virt/*/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
-rwxr-xr-x 1 root root 49M 2012-01-25 19:15 /virt/cold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
-rwxr-xr-x 1 root root 49M 2012-01-24 16:50 /virt/data/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
-rwxr-xr-x 1 root root 49M 2012-01-21 13:32 /virt/hold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
root@sandbox-abc:~/migr/cs# du --block-size=1 /virt/*/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
51195904	/virt/cold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
51195904	/virt/data/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
51200000	/virt/hold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
root@sandbox-abc:~/migr/cs# md5sum /virt/*/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
65310d29c88e8839b39685f9b65ea977  /virt/cold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
65310d29c88e8839b39685f9b65ea977  /virt/data/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
65310d29c88e8839b39685f9b65ea977  /virt/hold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37634227
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кароч, я таки запустил хеш на два потока (пока только две копии генерят кеш)

за 50 минут прошло 20к и 29к файлов (хз какого размера суммарно)

оставлю на ночь - посмотрю что будет утром :-)
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37634265
Aklinоставлю на ночь - посмотрю что будет утром :-)

Обязательно сообщи результат! Вся страна с замиранием ждет это знаменательное событие!
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37634305
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinразмеры не совпадают.

Пока грешу на разные настройки файловых систем (везде ext4)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
root@sandbox-abc:~/migr/cs# ls -hl /virt/*/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
-rwxr-xr-x 1 root root 49M 2012-01-25 19:15 /virt/cold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
-rwxr-xr-x 1 root root 49M 2012-01-24 16:50 /virt/data/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
-rwxr-xr-x 1 root root 49M 2012-01-21 13:32 /virt/hold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
root@sandbox-abc:~/migr/cs# du --block-size=1 /virt/*/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
51195904	/virt/cold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
51195904	/virt/data/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
51200000	/virt/hold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
root@sandbox-abc:~/migr/cs# md5sum /virt/*/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
65310d29c88e8839b39685f9b65ea977  /virt/cold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
65310d29c88e8839b39685f9b65ea977  /virt/data/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
65310d29c88e8839b39685f9b65ea977  /virt/hold/raid/virt/packard/v/q3/q3b/quake3--/baseq3/X3map_v1_final.pk3
Это наверняка "дырки" в файлах (sparse). ls дает размер подразумеваемый, du фактически занимаемый
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
lubomudr@lvl-suse:~> touch a1.tmp
lubomudr@lvl-suse:~> dd if=/dev/random of=a1.tmp bs=1 seek=10000000 count=1
1+0 records in
1+0 records out
1 byte (1 B) copied, 0.000105278 s, 9.5 kB/s
lubomudr@lvl-suse:~> dd if=a1.tmp of=a2.tmp bs=1024
9765+1 records in
9765+1 records out
10000001 bytes (10 MB) copied, 0.0942274 s, 106 MB/s
lubomudr@lvl-suse:~> ls -l a?.tmp
-rw-r--r-- 1 lubomudr users 10000001 Jan 27 10:35 a1.tmp
-rw-r--r-- 1 lubomudr users 10000001 Jan 27 10:36 a2.tmp
lubomudr@lvl-suse:~> du a?.tmp
4       a1.tmp
9768    a2.tmp
lubomudr@lvl-suse:~> rm a?.tmp
cp в некоторых системах по умолчанию умеет обрабатывать эти "дырки" и не копирует лишнее, поэтому здесь использовано dd
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37634930
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимо проходилсяAklin

Обязательно сообщи результат! Вся страна с замиранием ждет это знаменательное событие!

29 несовпадений по хеш :-/

ПРИЧЕМ

две резервных копии (cold и hold) - совпадают между собой

а основная копия (data) - с ними не совпадает :-/
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37635259
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin, ты хоть что-нибудь гуглишь ? есть cksum.
похоже это crc32
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37635324
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindAklin, ты хоть что-нибудь гуглишь ? есть cksum.
похоже это crc32

видел вроде, но в на машине еще не установлена и установить не могу - инета нету
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37635638
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin, да стандартная она. из пакета coreutils
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37635666
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Врятли дело в скорости хеша. Мой Core Duo P8600 считает MD5 на скорости > 400 мбайт/с, так что всё скорее всего упирается в диски.
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37635671
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МутагенВрятли дело в скорости хеша. Мой Core Duo P8600 считает MD5 на скорости > 400 мбайт/с, так что всё скорее всего упирается в диски.

похоже на то

поэтому я и думал какой-нибудь кеш, который не требует всего файла...
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37635672
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindAklin, да стандартная она. из пакета coreutils

на моей убунте почему то нет :-(
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37635722
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем

такое ощущение что повторным копированием этих файлов (их оказалось 30 штук всего, причем разного размера все - от килобайтных до десятков гб) - проблема решилась

хеши md5sum стали совпадать

запустил на ночь md5sum + sha1sum
посмотрю что будет...
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644662
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поднимаю вопрос

ребилдил рейд, увеличил ФС

снова выдает овер 120 ошибок на тех же файлах


в чем может быть проблема ??

пытаюсь сейчас написать програмулину, которая бы сравнивала файлы бинарно и исправляла ошибки при необходимости :-/
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644699
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что интересно - прогонял одновременно и md5 и sha1 хеши.
по md5 - 490 строк различий (примерно - 4 строки это один различающийся файл)
по sha1 - 430строк
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644726
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
написал програмулину, побайтово сравнивающую файлы

получилось, что в первом файле который я проверил - не совпадает один блок, причем подрят байты несовпадающие идут :-/
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644847
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересная статистика расхождений:

я сделал так, что бы выводились блоки. случайное попадание одного символа - не считается.
получилось:

Код: plaintext
1.
2.
3.
4.
5.
6.
diff from  771719680 to  771747721 size     28041
diff from  771747723 to  771751936 size      4213
diff from  772243968 to  772272009 size     28041
diff from  772272011 to  772276224 size      4213
diff from  773292544 to  773320585 size     28041
diff from  773320587 to  773324800 size      4213

блоки 28к отличаются от блоков в 4к двумя совпадающими символами.
если не считать и их - получается весьма и весьма забавная картика :-)
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644867
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот отличие на другом, 40гб файле:
Код: plaintext
1.
2.
3.
4.
5.
 [code=plaintext]diff from  44132631040 to  44132663296 size     32256
diff from  44133679616 to  44133711872 size     32256
diff from  45009568256 to  45009600512 size     32256
diff from  45010092544 to  45010124800 size     32256
diff from  45011141120 to  45011173376 size     32256
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644952
Интересно, смешному лунтику Алкину кто-нибудь уже пояснит уже, что у него битая оперативка?
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644961
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш капитан очевидностьИнтересно, смешному лунтику Алкину кто-нибудь уже пояснит уже, что у него битая оперативка?

почему именно память а не контроллер ?
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644967
AklinВаш капитан очевидностьИнтересно, смешному лунтику Алкину кто-нибудь уже пояснит уже, что у него битая оперативка?

почему именно память а не контроллер ?

В контроллере есть встроенные механизмы (CRC и прочие), да еще и OS часто следит за этим, а в памяти - нет. При этом даже ECC не спасает.

Подобное поведение было замечено, и не раз, если на сервере криво выставлены тайминги и вообще скорость. Тупо сыпется память, бьются блоки в Oracle.

Метод проверки - .iso файл(ы) записывается в /tmp (tmpfs), потом два раза (ну или 100) считается md5. Если поймал расхождение - ищи косяк в мозгах. В своих в т.ч. (тебе это
особенно актуально). Метод гарантии не дает, кстати. Особенно если в своих.
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644993
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш капитан очевидность,

md5 и sha1 на 20 запусков - одинаковы
фот

запущу на ночь новсякей
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644995
AklinВаш капитан очевидность,

md5 и sha1 на 20 запусков - одинаковы
фот

запущу на ночь новсякей

Откуда ты запускал, глупыш? Совсем про tmpfs ничего не понял?

Файл должен целиком залезть в оперативку. Целиком.

Какой дурак проверяет работоспособность отдельного буфера размером в мегабайт при 8 гектарах оперативы, которая просто ничего не делает при этом?

А потом - поменять местами планки, и еще раз прогнать. Объяснять зачем менять?
...
Рейтинг: 0 / 0
Быстрый хеш ?
    #37644999
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш капитан очевидность,

посмотри в зеркало - что ты там видишь ?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
root@sandbox-abc:~/migr/crot/tmp# mount
/dev/md5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/md4 on /boot type ext4 (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
/dev/md2 on /virt/data type ext4 (rw)
/dev/md9 on /virt/hold type ext4 (rw)
/virt/data/raid/torrent on /raid/torrent type none (rw,bind)
/virt/data/raid/jeecard/_laavien on /raid/laavien type none (rw,bind)
/virt/hold/raid on /raid/torrent/help type none (rw,bind)
/virt/data/raid/virt/packard on /raid/packard type none (rw,bind)
tmpfs on /root/migr/crot/tmp type tmpfs (rw,size=5G)
root@sandbox-abc:~/migr/crot/tmp# pwd
/root/migr/crot/tmp
root@sandbox-abc:~/migr/crot/tmp# ls -hs
total 4.4G
4.0K crot  4.4G debian-6.0.3-amd64-DVD-1.iso  4.0K log1  4.0K log5
root@sandbox-abc:~/migr/crot/tmp# free
             total       used       free     shared    buffers     cached
Mem:       8194548    8143972      50576          0      10608    7678472
-/+ buffers/cache:     454892    7739656
Swap:            0          0          0
root@sandbox-abc:~/migr/crot/tmp# 
...
Рейтинг: 0 / 0
25 сообщений из 56, страница 1 из 3
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Быстрый хеш ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]