avryabov: (peace)
[personal profile] avryabov
Увидел в ленте предупреждение о том, что может быть повреждение данных на дисках в определенных условиях. Поскольку у меня железо было похожее решил проверить. И совпало.
Если у кого из linux'оидов есть сомнение о том, нет ли у него такой проблемы, то их очень быстро можно решить запустив следующую команду:

for sdn in /dev/sd? ; do echo -n $sdn - ; sn=$[`blockdev --getsize $sdn`-1]
[ $sn -lt $[1<<32] ] && echo small && continue ; sn=$[$sn%(1<<32)]
st=`dd if=$sdn bs=1b count=1 skip=$sn 2>/dev/null| head -c 8`
[ 'EFI PART' = "$st" ] && echo bad && continue; echo ok ; done


требуется root и bash

команда отрабатывает буквально за доли секунды.

вот так она отрабатывает у меня:

root@edward:~# for sdn in /dev/sd? ; do echo -n $sdn - ; sn=$[`blockdev --getsize $sdn`-1]
> [ $sn -lt $[1<<32] ] && echo small && continue ; sn=$[$sn%(1<<32)]
> st=`dd if=$sdn bs=1b count=1 skip=$sn 2>/dev/null| head -c 8`
> [ 'EFI PART' = "$st" ] && echo bad && continue; echo ok ; done
/dev/sda -ok
/dev/sdb -ok
/dev/sdc -ok
/dev/sdd -ok
/dev/sde -ok
/dev/sdf -ok
/dev/sdg -bad
/dev/sdh -bad
/dev/sdi -bad
/dev/sdj -bad
root@edward:~#


как видно: 4 последних диска с проблемами.

Проблема явно не зависит от операционной системы, ибо у того кто описал баг первым - Windows 2003.
Вероятно, данные портятся в момент перезагрузки, когда отрабатывает EFI bios, он обновляет secondary GPT, но дурной контроллер пишет его не в конец диска как должен, а посреди, в тот адрес который получается если взять остаток от деления адреса на 2^32. Поскольку последний сектор диска должен иметь характерный заголовок из 8 байт "EFI PART" то команда просто проверяет наличие этих 8 байт в ненужном месте диска.
update: Данные портятся именно при перезагрузке. Проверено.

Но данных портится больше - 33 сектора (по размеру secondary GPT)
Точно есть проблема с контроллером Marvell 88SE9128. Куплен под именем ST-Lab A-450
Надпись на чипе:
88SE9128-NAA2
PAX4430.4
1230 B1P
TW

Вот так он про него пишет lspci:
01:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller (rev 11)
01:00.1 IDE interface: Marvell Technology Group Ltd. 88SE91A4 SATA 6Gb/s Controller (rev 11)

точно нет проблемы с контроллером встроенным в чипсет Intel H77
точно нет проблемы с контроллером ASMedia ASM1062 про который lspci пишет:
05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)

Очевидно проблеме будут подвержены все диски объёмом более 2.2Tb (2TiB), т.е. 3Tb и 4Tb из выпускающихся сейчас.




PS: добавлю несколько слов, чтобы было удобнее искать эту запись в поисковых системах:
Marvell 91xx + GPT = broken files, Марвел портит данные на диске, ST-Lab A-450 - bad controller
From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

December 2016

S M T W T F S
    123
45678910
11121314151617
181920212223 24
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 26th, 2017 04:38 am
Powered by Dreamwidth Studios