Uživatelský test: 8TB Seagate Archive na „domácí zálohování internetu“
Kapitoly článků
Nedalo mi to. Využil jsem svou „něco jako novinářskou“ praxi a kontaktoval Seagate, aby mi chytří lidé od zdroje vysvětlili, co se vlastně v disku děje. Nedělal jsem si žádné naděje, ale zkusit jsem to musel, neměl bych bez toho klidné spaní.
Podařilo se mi zajistit rozhovor s česky mluvícím zástupcem PR oddělení Seagatu, který se dle očekávání na výbornou zhostil role heřmánku (nepomohl, ani neublížil). Bavili jsme se spolu asi čtvrt hodiny, z toho zhruba 6 minut právě o tom, kam si disk ukládá ty náhodné zápisy. Během těch 6 minut jsem z něj nedostal v podstatě nic, co by mi osvětlilo, jak disk pracuje. Na přímý dotaz, zda mi to říct nemůže proto, že to neví, nebo proto, že jde o know-how, mi odpověděl, že jde o know-how, že on to sice ví, ale tyto informace se mohou sdílet pouze se zákazníkem, který má podepsané NDA a i kdybych to podepsal, tak to stejně nesmím pustit dál. Napřímo mi to nepotvrdil ani poté, co jsem trval na tom, že vím, že to musí být plotny (to jsem to ještě neměl potvrzené z následně nalezených materiálů, ale logika věci velela, že jiná možnost není, pokud elektronika neobsahuje kus SSD, jakože neobsahuje).
Následně jsem z něj zkoušel dostat informaci o nevhodnosti těchto disků do pole, zejména mě zajímalo pole typu mirror neboli zrcadlení (RAID 1), které by podle mého názoru nemělo činit potíže, protože by mělo docházet u všech (obou) disků k identické zápisové činnosti (za předpokladu, že se skutečně data zapisují paralelně na oba disky naráz). Byl jsem v podstatě ujištěn, že to by problém být neměl, ale do polí, kam se dává víc disků s tím, že bude také narůstat kapacita, by tyto disky přijít neměly, a to právě proto, že v takovém případě se zpravidla nebude jednat o dlouhé sekvenční zápisy a výkon bude rychle padat k bodu mrazu. Klíčovým problémem při umisťování těchto disků do polí a zejména těch „hardwarovějších“ polí je pak skutečnost, že případné dlouhé odezvy disku po náročné šichtě náhodných zápisů může pole samo o sobě vyhodnotit jako problém a disk z konfigurace vyřadit. Jinými slovy pole by s takovýmito disky fungovalo do prvního zahlcení a pak by se jednoduše řečeno zvoralo :).
Nezbývalo než si informace zkusit dohledat po svém. Poměrně hodně mi v tom pomohla Davidova zmínka o podpoře SMR disků v linuxovém kernelu 4.7. Z toho, co se mi podařilo dohledat, jsem došel k závěru, že Linux je na tom s podporou SMR disků vlastně nejdál. O tom, že by systém Windows nativně podporoval SMR disky, nikde není ani zmínka. Teď nemám na mysli zrovna Seagate Archive, což je drive-managed SMR disk, který se o obsluhu SMR zón stará sám (má na to poměrně nařvanej firmware, jehož složitost si může podat ruku s firmwary složitějších SSDček), ale např. 10TB heliové HGST SMR Ultrastary. Ty jsou právě host-managed SMR, což (jak je v odkazovaném článku zmíněno) znamená, že potřebují speciální software. A ten je zatím jen pro Linux a ještě to zdaleka není finální verze, protože ani specifikace potřebných sad SCSI (ZBC) a (S)ATA (ZAC) příkazů ještě není finální (aspoň jsem o tom doteď nenašel nikde zmínku - z tohoto roku pochází stále jen zmínky o draftech, tedy návrzích, byť jde z velké části o použitelné záležitosti). Proto ani 10TB SMR Ultrastar není v běžném prodeji. Western Digital má prý sice pro Windows nějaký lower-filter driver, který dokáže podporu těmto diskům zajistit, ale v praxi se s tím setkalo nejspíš jen pár vyvolených jedinců.
Aby bylo jasno: SMR disky nakonec uvidíme na trhu ve třech verzích, přičemž pokaždé by měl výrobce uvést, o jakou verzi jde.
Zdroj: linuxfoundation.org (© HGST)
- Drive-managed: to jsou SMR disky, které jsou na trhu už nyní a které si můžete běžně koupit. O obsluhu zón se stará firmware a operační systém nemá šanci zjistit, že jde o SMR disk. Pro OS se jeví takový disk jako každý jiný. A to jsou právě ty disky, u nichž nutně musí docházet k propadům výkonu poté, co jsou zahlceny hromadou náhodných zápisů. Je výhradně na firmwaru, aby se s tím vypořádal. Firmware musí umět odhadnout povahu zápisů, musí umět vytušit, jestli má ještě čekat na data a jestli to dá zaplnění zóny (proto graf zápisu v HD Tach RW korespondoval se čtením) a teprve pokud by to nedalo jednu zónu, musí zapsat data do diskové cache a do zón je naskládat později.
- Host-aware: to jsou disky, které jsem v prodeji ještě neviděl, ale je možné, že jsem se blbě koukal. Je to tak trochu kombinace prvního a třetího typu. OS může zjistit, jaké má disk zóny, může mu poslat příkaz na reset zóny (= reset write pointeru) a tím prohlásit zónu za prázdnou - obdoba příkazu TRIM na SSD, akorát že účel je trošku jiný (SSD tyto volné bloky sám využívá, zatímco u SMR disku se to dělá proto, aby případný zápis do takové zóny, který by ji neměl zaplnit celou, proběhl rovnou do ní, neboť se považuje za prázdnou a není třeba brát ohled na stopy znehodnocené zápisem prvních sto zóny). Operační systém tak může disku servírovat data efektivněji a „ušít mu je přímo na zóny“ a tím se vyhnout propadu výkonu. Disk by nicméně měl fungovat i se systémem, který host-aware nezná, pak by se choval stejně jako drive-managed SMR disk.
- Host-managed: to je právě případ 10TB Ultrastaru. V operačním systému, který takový disk nepodporuje, by se nejspíš toto zařízení vůbec neukázalo jako pevný disk (měl by se identifikovat jinak) a pokud ano, hromada pokusů o zápis by měla skončit s chybou. Zápis do SMR zón by měl být výhradně v režii systému, případně aplikace (např. velké databáze jako Oracle, které mohou na disk přistupovat přímo a nevyužívat přitom žádného tradičního způsobu rozdělení disku, natož pak souborového systému). S každou zónou se pak pracuje podobně jako s CD-RW bez využití paketového zápisu - zónu lze zapisovat buďto od začátku, nebo lze v zápisu pokračovat v místě, kde skončil zápis předchozí, ale nelze zapisovat tam, kam už bylo zapsáno, pokud nebyla zóna smazána (reset write-pointeru), nebo (a to u CD-RW nebylo) se write-pointer (ukazatel, kam se v zóně zapsalo naposled) nastaví na nějakou hodnotu uprostřed zóny, čímž se zbytek zóny považuje za volný.
Pro druhý a třetí typ disku se pak připravují ony sady příkazů - pro SCSI je to Zone Block Command set a pro ATA (SATA) pak Zone ATA Command set. A protože ještě nejsou tyto specifikace finální, nejsou tyto produkty v běžném prodeji. Dá se říci, že to, co dodává třeba HGST (10TB SMR Ultrastar), slouží i k tomu, aby se na tom tyhle věci ladily. A jímá mě podezření, že Microsoft nechá výrobce a linuxovou komunitu udělat špinavou práci a teprve pak sám přijde s podporou host-aware a host-managed SMR disků. Myslím, že se dá se stoprocentní jistotou říci, že podporu určitě nedostanou Windows 7 a příbuzné servery ;-) (u Windows Serveru 2012 vycházejícího z Windows 8 a Windows Serveru 2012 R2 vycházejícího z Windows 8.1 už bych si tak jistý nebyl).
Nyní stručně k tomu, proč jsou náhodné zápisy tak rychlé a kam si to vlastně disk ukládá. Od Seagatu se nedozvíme nic konkrétního, snad s výjimkou tohoto obrázku:
O něco sdílnější jsou u Westernů (zdrojem je prezentace odkazovaná v článku, z něhož čerpal David u své novinky o podpoře SMR v Linuxu), byť následující obrázek je z prezentace, která se zabývá právě host-managed disky):
Na disku (na plotnách) je zkrátka kus prostoru vyhrazený pro náhodné zápisy (ano, znamená to, že kapacita je o trošičku větší než těch 8 TB, ale vzhledem k velikosti celého disku je tento prostor skutečně malinký). Nezapisuje se na ně ale náhodně, nýbrž sekvenčně a co je zajímavější: nezapisuje se na něj šindelově, tedy alespoň ne do celé té části. Nějaká část musí nutně zůstat přístupná pro klasické náhodné zápisy, protože se tam často mění data o tom, co se kde nachází (to je na obrázku ten CMR Write Log). Určitá část této cache pak klidně může být i šindelová (SMR Write Log), protože se přepisuje kolem dokola a disk ví, kde má jaká data.
Opět lehce zpátky k Seagate a jeho Surveillance SMR diskům: v těch je 64 tradičních PMR zón, každá má 256 MiB, dohromady je zde tedy 16 GiB nešindelového prostoru. Jde o host-aware SMR disk, takže ve Windows by měl fungovat, ale bude se chovat stejně jako Seagate Archive (mimochodem z rozhovoru s PR zástupcem Seagatu jsem se dozvěděl, že SMR disky Seagate Archive jsou druhou generací Archive řady, první generace nebyla šindelová a třetí bude SMR host-aware stejně jako Seagate Surveillance).