Lze Linuxu na starším laptopu vnutit 4K sektory?

Lze Linuxu na starším laptopu vnutit 4K sektory?
« kdy: 12. 04. 2016, 14:28:02 »
Ahoj,

Mám disk Seagate 1TB 2.5" interní plotnový, s fyzickým sector size 4K (detail spec zde  http://pevne-disky.heureka.cz/samsung-spinpoint-d8x-1tb-sataiii-7200rpm-st1000lm044/ ) . Přes USB kabel ho na novém laptopu i starším routeru vidím správně s logickým i fyzickým sector size 4K a mezi těmito dvěma zařízeními ho mohu bez problémů přehazovat.

Pak mám ale starší laptop - Fujitsu-Siemens Amilo Si2636 (orientační spec zde http://www.engadget.com/products/fujitsu-siemens/amilo/si-2636/specs/ ), kam ho připojuji přímo na interní SATA řadič, a tam ho v Kali Linuxu vidím s fyzickým sector size 4K, ale s logickým jen 512 . Výsledek je ten, že si OS myslí, že rozměry partition (start sector, end sector) jsou v měřítku 512B a tudíž je hledá na disku úplně jinde (konkrétně děleno osmi, tj. vidí v MBR místo 1TB partition jen 125 GB) a celý filesystem je pro OS už dále samozřejmě nečitelný.

Vzhledem k tomu, že na binární úrovni (dd, zkrátka přímým přístupem na disk) je ale disk pod tím samým OS (v tom starém laptopu) bez problémů čitelný, lze nějak Linux přinutit, aby pracoval s tímto diskem, jako kdyby měl 4K sector size ? On ho totiž opravdu má :).

« Poslední změna: 12. 04. 2016, 15:46:02 od Petr Krčmář »


P_V

  • ***
  • 227
    • Zobrazit profil
    • E-mail
Re:Lze linuxu na starším laptopu vnutit 4K sector size ?
« Odpověď #1 kdy: 12. 04. 2016, 15:49:05 »
Chyba je v tom USB převodníku, který ty sektory iniciativně přemapuje. Protože právě ten logický sektor je pro komunikaci s diskem jediný správný. Nevím proč to ti výrobci převodníku takhle někdy dělají, možná aby snížili režii a zvýšili výkon za cenu nekompatibility.
(vím, k řešení tahle informace nepomůže, ale je dobré vědět kde problém vzniká)

P_V

  • ***
  • 227
    • Zobrazit profil
    • E-mail
Re:Lze Linuxu na starším laptopu vnutit 4K sektory?
« Odpověď #2 kdy: 14. 04. 2016, 14:56:59 »
Nikdo nic neví? Taky by mě to zajímalo, jak tohle namountovat.
Ještě jsem se k tomu dozvěděl, že tohle slučování logických sektorů do jednoho většího dělají USB adaptéry kvůli 32 bitovým příkazům pro mass storage class. Možná kvůli nepodpoře 64bitového SCSI ve starších windows? A že to tak asi kvůli výkonnosti dělají i u menších disků, které hlásí větší fyzický sektor než logický.

Jenda

Re:Lze Linuxu na starším laptopu vnutit 4K sektory?
« Odpověď #3 kdy: 14. 04. 2016, 16:54:45 »
Prasárna: ručně přes mount -o offset=xxx, případně device mapper ofset a vyrobit z toho mapovaná zařízení

Trident

Re:Lze Linuxu na starším laptopu vnutit 4K sektory?
« Odpověď #4 kdy: 15. 04. 2016, 07:02:46 »
Nebo takovyhle kraviny nedelat kdyz potrebujete drzet zpetnou kompatibilitu. Pri cene casu s tim straveneho uz ted by bylo na novy disk a mezitim byste stihl i repartitioning.

Jak decka developeri. Rozhodnou se pro novy system ale bez predchozi analyzy ho chteji namontovat na stary...


Trident

Re:Lze linuxu na starším laptopu vnutit 4K sector size ?
« Odpověď #5 kdy: 15. 04. 2016, 07:39:39 »
Chyba je v tom USB převodníku, který ty sektory iniciativně přemapuje. Protože právě ten logický sektor je pro komunikaci s diskem jediný správný. Nevím proč to ti výrobci převodníku takhle někdy dělají, možná aby snížili režii a zvýšili výkon za cenu nekompatibility.
(vím, k řešení tahle informace nepomůže, ale je dobré vědět kde problém vzniká)
Nenapadlo te treba ze chyba neni v USB prevodniku ale mezi lebkou a klavesnici? Co ocekavas za vysledek kdyz radic toho stareho notasu neumi prenaset 4k bloky? Jak myslis ze se k tomu asi postavi firmware toho disku? Samozrejme prepne se zpatky na rezim kompatibility s 512bloky a bude to prekladat. Se vsemi fatalnimi dusledky. To je zas material tohleto...

Trident

Re:Lze Linuxu na starším laptopu vnutit 4K sektory?
« Odpověď #6 kdy: 15. 04. 2016, 07:51:34 »
Nikdo nic neví? Taky by mě to zajímalo, jak tohle namountovat.
Ještě jsem se k tomu dozvěděl, že tohle slučování logických sektorů do jednoho většího dělají USB adaptéry kvůli 32 bitovým příkazům pro mass storage class. Možná kvůli nepodpoře 64bitového SCSI ve starších windows? A že to tak asi kvůli výkonnosti dělají i u menších disků, které hlásí větší fyzický sektor než logický.
Situace je jeste komplikovanejsi o to ze se dlouho vyrabely disk (prvni s tim byly enterprise disky), ktere neumi logicky vetsi sektor nez 512 ale interne pouzivaji 4k+- par bajtu. Cele rady od seagatu to tak mely. Proto je naprosta kravina tohle resit az kdyz je pruser na svete.  Ty se muzes dostat do stavu kdy ti disk prezentuje sve 4k bloky a pak je rozlozi na 512 aby je tam zmetek prevodnik zase slozil do 4k.
Takze vubec nemudruj a pouzij KISS reseni.

P_V

  • ***
  • 227
    • Zobrazit profil
    • E-mail
Re:Lze linuxu na starším laptopu vnutit 4K sector size ?
« Odpověď #7 kdy: 15. 04. 2016, 10:56:46 »
Nenapadlo te treba ze chyba neni v USB prevodniku ale mezi lebkou a klavesnici? Co ocekavas za vysledek kdyz radic toho stareho notasu neumi prenaset 4k bloky? Jak myslis ze se k tomu asi postavi firmware toho disku? Samozrejme prepne se zpatky na rezim kompatibility s 512bloky a bude to prekladat. Se vsemi fatalnimi dusledky. To je zas material tohleto...
Sám jseš materiál.  :P  :) Ten disk komunikuje furt a pouze na úrovni 512 bloků. To ani SATA specifikace neumí, možnost si vybrat jak velké bloky se budou adresovat. 4k sektory jsou interní záležitost a ven se to oznamuje pouze jako doporučující informace pro OS ohledně zarovnání datových přenosů. Problém nastane až u toho USB převodníku, který provede přemapování 512B bloků u disku na 4k bloky mass storage. Dělá to patrně proto, aby se vyhnul nekompatibilitě se staršími OS nebo různými multimediálními krabičkami, které by neskously víc jak 32bitovou adresaci nebo umí pouze MBR. Za cenu toho, že zapsaný obsah pak nedává smysl při přímém připojení přes SATA, pokud se OS nějak nevnutí, aby dělal stejné přemapování jako ten převodník.
Ano, existují disky co v přímém připojení používají jinou velikost logického sektoru než 512B. Zmíněné enterprise disky co mají sektory o pár byte větší kvůli softwarovému CRC, a v budoucnosti i takové co budou natvrdo komunikovat ve 4k blocích. Ale tohle není ten případ.

Re:Lze Linuxu na starším laptopu vnutit 4K sektory?
« Odpověď #8 kdy: 15. 04. 2016, 14:40:17 »
Díky všem za věcné komentáře. Docela mě překvapilo, že to v podstatě vyřešit nejde :) . Myslel jsem, že to půjde určitě nějak ohnout.

V praxi nešlo o žádnou tragédii, potřeboval jsem přenést data z jednoho 1TB disku na druhý stejně velký, ale žádný z nich nebyl USB. Tedy jsem oba musel připojit přes USB/ATA kabel, který jsem měl ale jen jeden. Takže jsem právě zkusil menší (2.5") z těch disků připojit přímo na interní řadič v jednom cca 8 let starém notebooku, ale zpátky po připojení na USB/ATA kabel už se právě projevil ten rozdíl v sector size. No každopádně jsem to vyřešil překopírováním dat na třikrát přes jiný "pravý" USB disk.