Apple Mac a luxusní zařízení. LTO, SAS, Fibre Channel, eSATA

Tématem tohoto článku je připojení externích zařízení k Macu přes rozhraní SAS, Fibre Channel (FC), eSATA. Okamžitě si řekněme, že k vyřešení problému přístupu k takovým zařízením existuje pro zdravého člověka cesta: postavte si levné PC, zapojte kartu řadiče HBA SAS nebo FC (například jednoduchý adaptér LSI), připojte svá zařízení k tento ovladač, nainstalujte si na PC libovolný Linux a pracujte z Macu přes síť. Ale to je banální a nezajímavé. Půjdeme hardcore cestou a propojíme naše zařízení přímo na Mac.

Co k tomu potřebujeme:
– slušné peníze na nákup nového vybavení nebo hodně štěstí v aukcích na eBay (kde při troše snahy pořídíte požadované vybavení předchozích generací 10x levněji, než je ceníková cena);
- Tento článek.

Chcete-li pracovat s magnetickou páskou (nyní téměř univerzálně zastoupenou ve formátu LTO), musíte mít páskovou jednotku (streamer) nebo páskovou knihovnu LTO. Jedná se o poměrně drahé zařízení pro počáteční nákup (od stovek tisíc rublů), ale při nákupu použitého stojí za rozumné množství peněz. Vzhledem k tomu, že generace LTO se mění přibližně každé dva roky a kompatibilita je omezena na dvě generace, je sekundární trh docela nasycen funkčními zařízeními starými čtyři roky a více, tzn. předminulou a další generaci. Pokud si koupíte nové zařízení pro komerční účely, pak sami chápete, proč jej potřebujete. Pokud chcete nakupovat pro svůj domov a rodinu, můžete tuto možnost považovat za způsob archivace informací (protože samotná média jsou velmi levná za 1 gigabajt).

Od generace LTO-5 (a částečně LTO-4) jsou zařízení pro práci s magnetickou páskou hardwarově připojena k počítači přes rozhraní SAS nebo FC (obvykle existují dvě verze každého zařízení)

Na druhou stranu, Apple nám laskavě poskytuje rozhraní USB-C v našem Macu (fungující pomocí protokolů USB, Thunderbolt 3 nebo DisplayPort), někdy rozhraní Ethernet a také proprietární Thunderbolt 3 - Thunderbolt 2 a Thunderbolt - FireWire 800 adaptéry.

Patová situace? Spíš ne. Thunderbolt naštěstí umí fungovat v režimu PCIe a umožňuje připojení PCIe karet stejným způsobem, jako kdyby byly instalovány přímo uvnitř skříně počítače. Díky tomu je možné jakékoli rozšíření hardwarové konfigurace Mac, pokud je k dispozici vhodný adaptér a ovladače.

Koncepčně nejjednodušším způsobem řešení problému je externí box pro adaptéry PCIe s rozhraním Thunderbolt (systém rozšíření PCIe karet), do kterého lze nainstalovat adaptér SAS nebo FC Host bus (HBA). Například takové krabice vyrábí firma Sonet a některé další. Je zde nuance: ne každý ovladač je pro nás vhodný, ale pouze ten, který má ovladač pro macOS. Takových desek je jen pár a do jejich počtu se nezapočítávají ty nejlevnější a nejoblíbenější (například stejné LSI). Naštěstí si Sonnet dal tu práci s kompilací tabulka kompatibility PCIe karty s různými OS přes rozhraní Thunderbolt.

Dalším řešením je pořízení již hotového převodníku rozhraní Thunderbolt - SAS nebo Thunderbolt - FC, což je ve skutečnosti hotová sestava krabičky a ovladače. Nejznámější společnost v této oblasti ATTO, ale existují i ​​produkty jiných firem.

Všimněte si, že ne všechny ovladače SAS a FC jsou certifikovány pro splnění standardu LTO, protože to samo o sobě stojí peníze. Někteří výrobci přímo píší, že jejich řadiče nejsou určeny pro práci s páskovými jednotkami.

Aby byl obrázek kompletní, poznamenáváme, že mlogic produkuje устройство, což je disk IBM LTO-8 v externím pouzdře, do kterého je ihned integrován převodník SAS na Thunderbolt 3. To je ovšem na poměry našich končin ještě exotičtější věc než vše výše popsané. Pochybuji, že toto zařízení lze vůbec legálně dovézt do Ruska (disky LTO obsahují kryptografické prvky a výrobci jako IBM a HP z tohoto důvodu dostávají povolení FSB pro import pro každý model).

Dále uvážíme jako příklad konkrétní soubor zařízení, jehož vlastníkem se autor stal v důsledku několika úspěšných akvizic, ale obecný princip by měl být zachován pro všechny možnosti.

Máme tedy následující zařízení pro práci s páskou:
– Počítač Apple Mac mini 2018 s macOS 10.15 Catalina, který má porty USB-C s podporou Thunderbolt 3;
– adaptér Apple Thunderbolt 3 / Thunderbolt 2;
– kabel Apple Thunderbolt 2;
– převodník rozhraní ATTO ThunderLink SH 1068 (2*Thunderbolt / 2*SAS-2);
– SAS kabel SFF-8088 – SFF-8088;
– pásková mechanika LTO-5 IBM TS2350;
– kazety LTO-5, čisticí kazeta.

Nyní, jak se říká, se všemi těmi věcmi se pokusíme vzlétnout.

Z webu ATTO stahujeme nejnovější verzi ovladače ThunderLink SH 1068 (zřejmě je pro naše pohodlí kombinován s ovladačem SH 2068 a nachází se v sekci 2068, která je zapsána pouze uvnitř archivu s ovladačem) a konfigurační nástroj ATTO.

Apple Mac a luxusní zařízení. LTO, SAS, Fibre Channel, eSATA

Ovladač samozřejmě vyžaduje instalaci. Před takovými akcemi autor doporučuje vždy pořídit snímek souborového systému APFS spouštěcího disku pomocí příkazu

tmutil localsnapshot

nebo záložní kopii spouštěcího disku, pokud má HFS+. Nikdy nevíš. Pak bude snadné vrátit se ze snímku zpět.

Dále, nezkušení, ale důvěřiví mysl bude nepochybně nakloněna pečlivě si přečíst pokyny k instalaci ovladače ATTO a řídit se jimi. Ve výsledku - tadam! – získáme operační systém, který visí ve fázi načítání. Zde můžeme potřebovat snímek, ze kterého se můžeme zotavit voláním Time machine z oddílu pro obnovení, nebo ze stejného oddílu pro obnovení můžeme ručně vymazat nemocný kext z adresáře kernel extensions (autor to obecně nedoporučuje).

Proč se tohle děje? Protože se o nás Apple postaral. V posledních verzích macOS nemůžete snadno vložit cizí kód do procesu spouštění. Dobří programátoři Applu toto destruktivní chování zablokovali. Přesněji to zablokovali napůl, kdy se implementuje očekávání řidiče, ale samotný ovladač nikoliv, takže vše jen zamrzí.

Co by měla sofistikovaná mysl udělat před instalací ovladače? Nejprve zadejte příkaz:

csrutil status

Pokud v reakci na něj obdržíme:

Stav ochrany integrity systému: povoleno.

pak to znamená, že dobří programátoři Applu se o nás starají, takže nám nic nevyjde, dokud nevypneme jejich úžasnou ochranu. Chcete-li to provést, restartujte počítač do oddílu pro obnovení (⌘R), zavolejte terminál a zadejte příkaz:

csrutil disable

Poté restartujeme do fungujícího systému a teprve poté nainstalujeme ovladač a zároveň konfigurační utilitu ATTO (v zásadě je konfigurační utilita potřebná pouze pro diagnostiku a při běžném provozu není nutná). Cestou na dotaz potvrzujeme v nastavení systému oprávnění ATTO. Po instalaci můžete restartovat znovu do oddílu pro obnovení a zadat příkaz

csrutil enable

Apple se o nás opět stará.

Nyní máme ovladač podporované rozhraní k externím zařízením SAS (nebo FC, pokud byl použit převodník FC). Jak ale s páskou pracovat na logické úrovni?

Jak nezkušený, ale erudovaný mozek ví, každý systém kompatibilní s Unixem podporuje páskové jednotky na úrovni jádra a základních systémových utilit, mezi které patří především mt (správa pásek) a tar (archivátor, který podporuje práci s archivy na pásce) . Co na to však může říci sofistikovaná mysl? Jakýkoli systém kompatibilní s Unixem, kromě macOS. Apple se o nás postaral tím, že ze svého kódu odstranil podporu pro pásková zařízení.

Ale je opravdu nemožné vrátit tento kód portováním standardních unixových nástrojů s otevřeným zdrojovým kódem do macOS? Dobrou zprávou je, že Tolis (na který neodkazuji) to již udělal ve svém produktu Tolis Tape Tools. Špatnou zprávou je, že zmíněná společnost stojí 399 dolarů za využití výsledků své práce. Odhady této skutečnosti se mohou lišit, ale autor osobně není ochoten někomu zaplatit 400 babek za kód, který většinou napsali úplně jiní lidé a který se otevřeně používá od 1970. let, a proto si tuto otázku autor klade sám pro sebe. považuje za uzavřené. (Mimochodem, na Githubu je opuštěný bezplatný projekt v nejasném stavu IOSCSITape na stejné téma).

Naštěstí je na světě korporace IBM, jejíž komerční choutky jsou ve zcela jiném měřítku, a proto se neprojevují v každé maličkosti. Zejména vyvinula open-source páskový souborový systém LTFS, který je distribuován také pro macOS.

Upozornění je, že různí výrobci páskových zařízení uvolňují své vlastní verze LTFS na podporu svých zařízení. Jelikož autor používá páskovou jednotku IBM, nainstaloval LTFS od IBM. Disky třetích stran mohou vyžadovat vlastní porty LTFS. A existuje univerzální implementace openLTFS na Github a Homebrew.

Pro nás je důležité, že LTFS využívá funkci media partitioning, a proto může pracovat se zařízeními a kazetami počínaje od generace LTO-5.

V našem případě si tedy z webu IBM stáhneme IBM Spectrum Archive Single Drive Edition pro macOS, která obsahuje implementaci LTFS. Bez jakýchkoliv dobrodružství nainstalujeme produkt pomocí vlastního instalátoru. Cestou si také nainstaluje balíček FUSE a v nastavení systému bude muset potvrdit autorizaci chytrého programátora jménem Anatol Pomozov, na kterém v tomto případě závisí celé IBM. Respekt a respekt k tomuto muži.

Je vhodné ihned zapsat řádek do souboru /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

možnost sync_type=time@1 pro jeden disk

který určuje, že páska je standardně připojena a vyrovnávací paměť pro nahrávání se resetuje po 1 minutě nečinnosti (výchozí je 5 minut).

Apple Mac a luxusní zařízení. LTO, SAS, Fibre Channel, eSATA

Konečně je vše připraveno k připojení. Zapojíme řetězec: Mac – adaptér T3/T2 – kabel Thunderbolt – převodník ATTO – kabel SAS – pásková mechanika (výběr více portů na Macu, převodníku a mechaniky není důležitý). Zapněte napájení konvertoru. Zapněte napájení páskové jednotky. Čekáme na dokončení inicializace jednotky podle jejího označení.

Dáváme příkaz:

ltfs -o device_list

Hurá! Dostaneme (obvyklým diagnostickým způsobem IBM):

307 LTFS14000I Spouštění LTFS, verze LTFS 2.4.2.0 (10418), úroveň protokolu 2.
307 LTFS14058I Specifikace formátu LTFS verze 2.4.0.
307 LTFS14104I Spuštěno "ltfs -o seznam_zařízení".
307 LTFS14105I Tento binární soubor je vytvořen pro Mac OS X.
Verze 307 LTFS14106I GCC je 4.2.1 kompatibilní s Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verze jádra: Darwinovo jádro Verze 19.4.0: St Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Načítání backendu pásky „iokit“.
Seznam páskových zařízení:.
Název zařízení = 0, ID dodavatele = IBM, ID produktu = ULT3580-TD5, sériové číslo = **********, název produktu = [ULT3580-TD5].

Vložte kazetu, počkejte, až se načte a naformátuje:

mkltfs -d 0 -nTest -r "size=10M/name=.DS_Store"

Parametr -d zde určuje číslo jednotky (vždy nula, pokud je jediná, ale nelze ji v tomto příkazu vynechat), -n je název pásky (můžete jej vynechat) a parametr -r vyžaduje umístění obsahu souborů .DS_Store nepřesahujících velikost 10 megabajtů, v sekci indexu (tj. určené pro adresáře) na pásce místo v sekci dat.

Tajemný život začal v páskové jednotce. Počkáme několik minut a obdržíme následující odpověď:

LTFS15000I Spouštění mkltfs, LTFS verze 2.4.2.0 (10418), úroveň protokolu 2.
LTFS15041I Spuštěno "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Tento binární soubor je vytvořen pro Mac OS X.
Verze LTFS15043I GCC je 4.2.1 kompatibilní s Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Verze jádra: Darwinovo jádro Verze 19.4.0: St Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formátovací zařízení '0'.
LTFS15004I Velikost bloku svazku LTFS: 524288.
LTFS15005I Zásady umístění indexového oddílu: velikost=10M/název=.DS_Store.

LTFS11337I Aktualizujte příznak znečištění indexu (1) - NO_BARCODE (0x0x1021081e0).
Plugin LTFS17085I: Načítání backendu pásky „iokit“.
LTFS30810I Otevření zařízení pomocí ovladače iokit (0).
LTFS30814I ID dodavatele je IBM.
ID produktu LTFS30815I je 'ULT3580-TD5'.
Revize firmwaru LTFS30816I je H976.
Sériový disk LTFS30817I je **********.
LTFS17160I Maximální velikost bloku zařízení je 1048576.
LTFS11330I Načítání kazety.
LTFS30854I Ochrana logického bloku je zakázána.
LTFS11332I Načtení bylo úspěšné.
LTFS17157I Změna nastavení jednotky na režim zápisu odkudkoli.
LTFS15049I Kontrola média (připojení).
LTFS30854I Ochrana logického bloku je zakázána.
LTFS15010I Vytvoření datového oddílu b na oddílu SCSI 1.
LTFS15011I Vytvoření indexového oddílu a na SCSI oddílu 0.
LTFS17165I Resetování proporce kapacity média.
LTFS11097I Rozdělení média.
LTFS11100I Zápis štítku do oddílu b.
LTFS11278I Zápis indexu do oddílu b.
LTFS30808I READ_ATTR (0x8c) vrátí -20501.
LTFS30865I READ_ATTR vrátí neplatné pole v CDB (-20501) 0.
LTFS30836I Nelze přečíst atribut (-20501).
LTFS11336I Atribut neexistuje. Ignorujte očekávanou chybu.
LTFS17235I Zápis indexu NO_BARCODE do b (Důvod: Formát, 0 souborů) **********.
LTFS17236I Zapsal index NO_BARCODE (b, **********).
LTFS11337I Aktualizujte příznak znečištění indexu (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Zápis jmenovky do oddílu a.
LTFS11278I Zápis indexu do oddílu a.
LTFS30808I READ_ATTR (0x8c) vrátí -20501.
LTFS30865I READ_ATTR vrátí neplatné pole v CDB (-20501) 0.
LTFS30836I Nelze přečíst atribut (-20501).
LTFS11336I Atribut neexistuje. Ignorujte očekávanou chybu.
LTFS17235I Zápis indexu NO_BARCODE do (Důvod: Formát, 0 souborů) 9068025555.
LTFS17236I Zapsal index NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

Kapacita svazku LTFS15019I je 1425 GB.
LTFS30854I Ochrana logického bloku je zakázána.
LTFS15024I Medium bylo úspěšně naformátováno.

Namontujte naformátovanou pásku:

sudo mkdir /Volumes/LTFS
sudo chmod 777 /Volumes/LTFS/
sudo ltfs /Volumes/LTFS

Získáme ještě pár minut provozu a diagnostiky pohonu:

307 LTFS14000I Spouštění LTFS, verze LTFS 2.4.2.0 (10418), úroveň protokolu 2.
307 LTFS14058I Specifikace formátu LTFS verze 2.4.0.
307 LTFS14104I Spuštěno „ltfs /Volumes/LTFS/“.
307 LTFS14105I Tento binární soubor je vytvořen pro Mac OS X.
Verze 307 LTFS14106I GCC je 4.2.1 kompatibilní s Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verze jádra: Darwinovo jádro Verze 19.4.0: St Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Typ synchronizace je „čas“, doba synchronizace je 60 sekund.
307 LTFS17085I Plugin: Načítání backendu pásky „iokit“.
307 LTFS17085I Plugin: Načítání „sjednoceného“ iosched backendu.
307 LTFS14095I Nastavte režim zápisu páskového zařízení kdekoli, abyste zabránili vysunutí kazety.
307 LTFS30810I Otevření zařízení pomocí ovladače iokit (0).
307 LTFS30814I ID dodavatele je IBM.
307 ID produktu LTFS30815I je 'ULT3580-TD5'.
307 LTFS30816I Revize firmwaru je H976.
307 LTFS30817I Sériový disk je **********.
307 LTFS17160I Maximální velikost bloku zařízení je 1048576.
307 LTFS11330I Vkládání kazety.
307 LTFS30854I Ochrana logického bloku je zakázána.
307 LTFS11332I Načtení bylo úspěšné.
307 LTFS17157I Změna nastavení jednotky na režim zápisu odkudkoli.
307 LTFS11005I Montáž svazku.
307 LTFS30854I Ochrana logického bloku je zakázána.
307 LTFS17227I Atribut pásky: Dodavatel = IBM.
307 LTFS17227I Atribut pásky: Název aplikace = LTFS.
307 LTFS17227I Atribut pásky: Verze aplikace = 2.4.2.0.
307 LTFS17227I Atribut pásky: Medium Label =.
307 LTFS17228I Atribut pásky: ID lokalizace textu = 0x81.
307 LTFS17227I Atribut pásky: Čárový kód =.
307 LTFS17227I Atribut pásky: Verze formátu aplikace = 2.4.0.
307 LTFS17228I Atribut pásky: Stav uzamčení svazku = 0x00.
307 LTFS17227I Atribut pásky: Název fondu médií =.
307 LTFS14111I Počáteční nastavení bylo úspěšně dokončeno.
307 LTFS14112I Vyvoláním příkazu 'mount' zkontrolujte výsledek konečného nastavení.
307 LTFS14113I V případě úspěchu je uveden zadaný bod připojení.

A je to tady, náš pás karet na ploše s názvem Test(ltfs)! Nepojmenovaná páska bude pojmenována OSXFUSE Volume 0 (ltfs).

Nyní s tím můžete pracovat.

Apple Mac a luxusní zařízení. LTO, SAS, Fibre Channel, eSATA

Obecně je třeba mít na paměti, že je vhodné nepřetěžovat prohlížení obsahu páskových adresářů v oknech vyhledávače, protože je to pro LTFS neuvěřitelně drahá operace, ale je lepší pracovat s příkazy terminálu nebo jednoduše resetovat zálohovací adresář hromadně na pásku, jak je znázorněno v okně výše.

Mimochodem, existuje speciálně napsaná IBM utilita ltfs_copy a její klony, určená pro efektivnější kopírování mezi páskou a diskem, ale zatím je autor nedokázal najít ve veřejné doméně povrchním vyhledáváním.

Pásku můžete odpojit pomocí příkazu:

umount /Volumes/LTFS

nebo to rovnou vyhodit do koše.

Ve skutečnosti v přírodě existují nějaké grafické shelly pro macOS, které tyto akce usnadňují, ale po takových perverzích bychom se měli bát napsat pár řádků do terminálu?

Jako vedlejší efekt dostáváme možnost připojit externí eSATA disky přes SAS/4*eSATA kabel.

Apple Mac a luxusní zařízení. LTO, SAS, Fibre Channel, eSATA

Zdroj: www.habr.com

Přidat komentář