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

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

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

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

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

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


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

4 8 15 16 23 42
...
Рейтинг: 0 / 0
27.01.2012, 00:31
    #37634202
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый хеш ?
Раз уж различия в объемах, так почему бы не проверить идентичность размеров одноименных файлов в каждой из трех копий.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.01.2012, 00:49
    #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
27.01.2012, 01:01
    #37634227
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый хеш ?
Кароч, я таки запустил хеш на два потока (пока только две копии генерят кеш)

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

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

Обязательно сообщи результат! Вся страна с замиранием ждет это знаменательное событие!
...
Рейтинг: 0 / 0
27.01.2012, 03:42
    #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
27.01.2012, 13:32
    #37634930
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый хеш ?
Мимо проходилсяAklin

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

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

ПРИЧЕМ

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

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

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

похоже на то

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

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

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

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

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

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

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


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

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

получилось, что в первом файле который я проверил - не совпадает один блок, причем подрят байты несовпадающие идут :-/
...
Рейтинг: 0 / 0
02.02.2012, 21:48
    #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
02.02.2012, 21:59
    #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
03.02.2012, 00:12
    #37644952
Быстрый хеш ?
Интересно, смешному лунтику Алкину кто-нибудь уже пояснит уже, что у него битая оперативка?
...
Рейтинг: 0 / 0
03.02.2012, 00:23
    #37644961
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый хеш ?
Ваш капитан очевидностьИнтересно, смешному лунтику Алкину кто-нибудь уже пояснит уже, что у него битая оперативка?

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

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

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

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

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

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

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

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

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

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

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

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

А потом - поменять местами планки, и еще раз прогнать. Объяснять зачем менять?
...
Рейтинг: 0 / 0
03.02.2012, 01:18
    #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
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Быстрый хеш ? / 25 сообщений из 56, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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