Sadece bir bitin değişmesi mümkün mü, böylece dosyam bana “S” yerine “Q” harfini göstersin.


22

Bizim uygulamada veri depolamak için Hazırda Bekletme ve PostgreSQL kullanın. Veritabanı tablolarımızdan birinde, örneğin "TIPPSPIEL" yazan bir ayırıcı sütuna sahibiz. Sabit bir dizedir ve herhangi bir kullanıcı tarafından manipüle edilemez.

Birdenbire "TIPPSPIEL" yerine "TIPPQPIEL" sahibi olduğumuz bu devasa masaya bir giriş yaptık. Bunun nasıl olabileceğine dair hiçbir fikrimiz yok.

Herhangi bir şekilde sabit diskimizin bir bit değiştirmesi mümkün mü, bu nedenle "S" harfimiz artık "1010001" olarak kodlanmış değil, aniden bir bit gibi sabit diskte "Q" olur: 1010011?

Sabit diskte biraz fizik uzmanı değilim ama sanırım bir işletim sisteminde veya bir diskte bunun gerçekleşmemesini sağlamak için sağlama toplamı ve başka şeyler var.

Sadece bir bitin değişmesi mümkün mü, böylece dosyam bana "S" yerine "Q" harfini göstersin mi?

GÜNCELLEME: Daha fazla analiz yaptık. Köle veritabanımız, WAL Kayıtlarını master'dan alır (PostgreSQL özelliği). Her neyse: köle sunucumuz senkronize olmalı. Fakat köle bu sıraya göre senkronize değildi. Birkaç gün önce bu belirli bir girişte bir kullanıcıdan herhangi bir etkileşim olmadan gerçekleştiğini görebiliyorduk. Bu yüzden biraz etrafında saygısız olmalı. korkutucu!


Bunun hatalı bir hafızadan geldiğini farz ediyorum. Bu sütun yazıldığı zaman hala kayıt defterinde var mı?
ott--

1
Olasılıksız ancak mümkün olan transit geçişler yüksek bir düzenlilik derecesine çevrilmişlerdir, bkz. 'Bitkinlik'
Sirch

Yanıtlar:


10

Bu sitede çok ilginç bir soru görüyoruz, o yüzden öncelikle teşekkür ederim.

Gördüğün şeyin gerçekten tek bitli bir hata olduğunu düşünüyorum, dürüst olmak için farkediyor olabilirsiniz ancak ikinci en az anlamlı bitin değiştirildiğini varsaymakta haklısınız (ASCII kullanıyorsanız. Neyse).

Sağlama toplamları vs. gelince, diske yazıldığında büyük olasılıkla iyi olduğu doğrulanmış olacak - bu sorunun basit bir manyetik sızıntı hatasıyla geliştiğinden eminim. Ama haklısın, kodlama kontrolleri yapıldı, üreticiden farklı ama bir yerlerde 'bu biraz garip görünüyor' diyen bir hata var - ama IO zincirinizin hangi seçeneği var? tüm bloğu inkar mı ettin? Bunun RAIDed olmayan tek bir disk olduğunu farz edeceğim çünkü RAID diskleri hataları algıladıklarında daha fazla seçeneğe sahip olma eğilimindedirler.

Bu garip bir şey, ancak bu tür bir şey muhtemelen tüm dünyada saniyede birkaç kez oldu.


1
Haklısınız, bu durumda Raid olmayan bir disk kurulumuydu. Diğer analizlerimin gösterdiği gibi, kayıt yazıldıktan çok sonra oldu.
Janning

1
Bir sysadmin olarak 20 yıl sonra 3 bitlik bir tek flip-flip gördüm. Bunlardan sadece bir tanesi% 100 kanıtlanmış olabilir. Diğer 2'sinin bit sayıldığından şüphelenildi, kesin olarak söyleyemedik. (Dosyayı okuduktan sonra Bit hafızaya çarpmış olabilir. Tutarsızlığı fark ettiğimizde orijinal dosya artık mevcut değildi veya dokunulmuştu. Her birinin düşündüğünden daha sık meydana geldiğinden eminim, ancak nadiren fark edilir. ve genellikle fark edilirse kanıtlanamaz
Tonny

1
Tüm bloğun okunamaması, sürücülerin düzeltilemez bir hata aldıklarında tam olarak ne yaptıklarıdır. Sektörün kullanıcı veri kısmında sadece bir bit çevirme yapmak mümkün değildir ve tespit edilemez. Bit, diske yazıldığında çevrilmiş olmalıdır.
psusi

Bu soru kanonik mi yapılmalı?
Deer Hunter

@psusi İmkansız değil, çünkü ECC'nin doğru çıkması için sektörde yeterli miktarda bit'e ihtiyacınız var. Muhtemel, fakat mümkün ve disk üreticileri, bazılarını görmeyi beklediğiniz için yeterince yüksek hata oranları sunar.
ZFS'nin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.