Apple Mac a luxusné zariadenia. LTO, SAS, Fibre Channel, eSATA

Témou tohto článku je pripojenie externých zariadení k počítaču Mac cez rozhrania SAS, Fibre Channel (FC), eSATA. Okamžite si povedzme, že na vyriešenie problému prístupu k takýmto zariadeniam existuje cesta pre zdravého človeka: postavte si lacný počítač, zapojte kartu ovládača HBA SAS alebo FC (napríklad jednoduchý adaptér LSI), pripojte svoje zariadenia k tento ovládač, nainštalujte si na PC ľubovoľný Linux a pracujte z Mac cez sieť. Ale to je banálne a nezaujímavé. Pôjdeme tvrdou cestou a prepojíme naše zariadenia priamo na Mac.

Čo k tomu potrebujeme:
– slušné množstvo peňazí na nákup nového vybavenia, alebo veľa šťastia v aukciách na eBay (kde pri troche snahy kúpite požadované vybavenie predchádzajúcich generácií 10-krát lacnejšie, ako je cenníková cena);
- Tento článok.

Ak chcete pracovať s magnetickou páskou (teraz takmer univerzálne zastúpenou vo formáte LTO), musíte mať páskovú jednotku (streamer) alebo páskovú knižnicu. Ide o pomerne drahé zariadenie na prvý nákup (od stoviek tisíc rubľov), ale pri nákupe použitého stojí za primeranú sumu. Keďže generácie LTO sa menia približne každé dva roky a kompatibilita je obmedzená na dve generácie, sekundárny trh je dosť nasýtený funkčnými zariadeniami starými štyri a viac rokov, t.j. predminulú a ďalšiu generáciu. Ak si kúpite nové zariadenie na komerčné účely, potom sami rozumiete, prečo ho potrebujete. Ak si chcete kúpiť domov a rodinu, môžete túto možnosť považovať za spôsob archivácie informácií (keďže samotné médiá sú veľmi lacné za 1 gigabajt).

Od generácie LTO-5 (a čiastočne LTO-4) sú zariadenia na prácu s magnetickou páskou hardvérovo pripojené k počítaču cez rozhranie SAS alebo FC (zvyčajne existujú dve verzie každého zariadenia)

Na druhej strane nám spoločnosť Apple láskavo poskytuje rozhranie USB-C v našom počítači Mac (fungujúce pomocou protokolov USB, Thunderbolt 3 alebo DisplayPort), niekedy aj rozhranie Ethernet, ako aj proprietárne Thunderbolt 3 - Thunderbolt 2 a Thunderbolt - FireWire 800. adaptéry.

Patová situácia? Nie naozaj. Našťastie Thunderbolt dokáže fungovať v režime PCIe a umožňuje pripojenie PCIe kariet rovnakým spôsobom, ako keby boli inštalované priamo vo vnútri skrinky počítača. Vďaka tomu je možné akékoľvek rozšírenie hardvérovej konfigurácie Mac za predpokladu, že je k dispozícii vhodný adaptér a ovládače.

Koncepčne najjednoduchším spôsobom riešenia problému je externý box pre PCIe adaptéry s rozhraním Thunderbolt (systém rozšírenia PCIe karty), do ktorého môžete nainštalovať SAS alebo FC Host bus adaptér (HBA). Napríklad takéto boxy vyrába firma sonet a niektoré ďalšie. Je tu nuansa: nie každý ovládač je pre nás vhodný, ale iba ten, ktorý má ovládač pre macOS. Existuje len niekoľko takýchto dosiek a tie najlacnejšie a najobľúbenejšie (napríklad rovnaké LSI) nie sú zahrnuté v ich počte. Našťastie si Sonnet dal tú námahu s kompiláciou tabuľku kompatibility PCIe karty s rôznymi OS cez rozhranie Thunderbolt.

Ďalším riešením je kúpa hotového prevodníka rozhrania Thunderbolt - SAS alebo Thunderbolt - FC, čo je v skutočnosti hotová zostava krabičky a ovládača. Najznámejšia spoločnosť v tejto oblasti ATTO, ale sú tu aj produkty iných firiem.

Upozorňujeme, že nie všetky ovládače SAS a FC sú certifikované tak, aby vyhovovali štandardu LTO, pretože to samo o sebe stojí peniaze. Niektorí výrobcovia priamo píšu, že ich radiče nie sú určené na prácu s páskovými jednotkami.

Na doplnenie obrazu poznamenávame, že mlogic produkuje zariadenie, čo je disk IBM LTO-8 v externom puzdre, do ktorého je okamžite integrovaný prevodník SAS na Thunderbolt 3. To je však na pomery našich končín ešte exotickejšia vec ako všetko vyššie popísané. Pochybujem, že toto zariadenie je vôbec možné legálne doviezť do Ruska (jednotky LTO obsahujú kryptografické prvky a výrobcovia ako IBM a HP z tohto dôvodu dostávajú povolenie FSB na import pre každý model).

Ďalej zvážime ako príklad konkrétnu sadu zariadení, ktorých vlastníkom sa autor stal v dôsledku niekoľkých úspešných akvizícií, ale všeobecný princíp by sa mal zachovať pre všetky možnosti.

Takže máme nasledujúce vybavenie na prácu s páskou:
– Počítač Apple Mac mini 2018 s macOS 10.15 Catalina, ktorý má porty USB-C s podporou Thunderbolt 3;
– adaptér Apple Thunderbolt 3 / Thunderbolt 2;
– kábel Apple Thunderbolt 2;
– prevodník rozhrania ATTO ThunderLink SH 1068 (2*Thunderbolt / 2*SAS-2);
– kábel SAS SFF-8088 – SFF-8088;
– pásková jednotka LTO-5 IBM TS2350;
– kazety LTO-5, čistiaca kazeta.

Teraz, ako sa hovorí, so všetkými týmito vecami sa pokúsime vzlietnuť.

Z webovej stránky ATTO sťahujeme najnovšiu verziu ovládača ThunderLink SH 1068 (zjavne je pre naše pohodlie kombinovaný s ovládačom SH 2068 a nachádza sa v sekcii 2068, ktorá je zapísaná iba v archíve s ovládačom) a Konfiguračný nástroj ATTO.

Apple Mac a luxusné zariadenia. LTO, SAS, Fibre Channel, eSATA

Ovládač samozrejme vyžaduje inštaláciu. Pred takýmito akciami autor radí vždy urobiť snímku súborového systému APFS zavádzacieho disku pomocou príkazu

tmutil localsnapshot

alebo záložnú kópiu zavádzacieho disku, ak má HFS+. Nikdy nevieš. Potom bude ľahké vrátiť sa späť zo snímky.

Ďalej, neskúsený, ale dôsledný rozum bude nepochybne naklonený pozorne si prečítať pokyny na inštaláciu ovládača ATTO a postupovať podľa nich. V dôsledku toho - tadam! – dostaneme operačný systém, ktorý visí vo fáze načítania. Tu môžeme potrebovať snímku, z ktorej sa môžeme zotaviť volaním Time machine z obnovovacej partície, alebo z tej istej obnovovacej partície môžeme manuálne vymazať chorý kext z adresára kernel extensions (autor to vo všeobecnosti neodporúča).

Prečo sa to deje? Pretože Apple sa o nás postaral. V najnovších verziách systému macOS nie je možné jednoducho vložiť cudzí kód do procesu zavádzania. Dobrí programátori Apple zablokovali toto deštruktívne správanie. Presnejšie, zablokovali to na polceste, kedy sa implementuje očakávanie vodiča, ale vodič sám nie, takže všetko len zamrzí.

Čo by mala sofistikovaná myseľ urobiť pred inštaláciou ovládača? Najprv zadajte príkaz:

csrutil status

Ak ako odpoveď na ňu dostaneme:

Stav ochrany integrity systému: povolený.

potom to znamená, že dobrí programátori Apple sa o nás starajú, takže nám nič nevyjde, kým nevypneme ich úžasnú ochranu. Ak to chcete urobiť, reštartujte do obnovovacej oblasti (⌘R), zavolajte na terminál a zadajte príkaz:

csrutil disable

Potom reštartujeme pracovný systém a až potom nainštalujeme ovládač a súčasne konfiguračnú pomôcku ATTO (v zásade je konfiguračná pomôcka potrebná iba na diagnostiku a pri bežnej prevádzke sa nevyžaduje). Po ceste na výzvu potvrdíme oprávnenie ATTO v systémových nastaveniach. Po inštalácii môžete reštartovať znova do obnovovacej oblasti a zadať príkaz

csrutil enable

Apple sa o nás opäť stará.

Teraz máme ovládačom podporované rozhranie pre externé zariadenia SAS (alebo FC, ak bol použitý prevodník FC). Ako však pracovať s páskou na logickej úrovni?

Ako neskúsený, no erudovaný rozum vie, každý Unix-kompatibilný systém podporuje páskové mechaniky na úrovni jadra a základných systémových utilít, medzi ktoré patrí predovšetkým mt (správa pások) a tar (archivátor podporujúci prácu s archívmi na páske). Čo však na to môže povedať sofistikovaná myseľ? Akýkoľvek systém kompatibilný s Unixom, okrem macOS. Apple sa o nás postaral odstránením podpory páskových zariadení zo svojho kódu.

Je však naozaj nemožné vrátiť tento kód portovaním štandardných unixových pomôcok s otvoreným zdrojovým kódom do systému macOS? Dobrou správou je, že Tolis (na ktorý neodkazujem) to už urobil vo svojom produkte Tolis Tape Tools. Zlou správou je, že spomínaná spoločnosť stojí 399 dolárov za využitie výsledkov svojej práce. Odhady tejto skutočnosti sa môžu líšiť, ale autor osobne nie je pripravený zaplatiť niekomu 400 dolárov za kód, ktorý väčšinou napísali úplne iní ľudia a ktorý sa bežne používa od 1970. rokov minulého storočia, a preto si autor kladie túto otázku sám pre seba. považuje za uzavreté. (Mimochodom, na Githube je opustený bezplatný projekt v nejasnom stave IOSCSITape na rovnakú tému).

Našťastie je na svete korporácia IBM, ktorej komerčné chúťky sú v úplne inom meradle, a preto sa neprejavia v každej maličkosti. Vyvinula najmä open-source páskový súborový systém LTFS, ktorý je distribuovaný aj pre macOS.

Výhradou je, že rôzni výrobcovia páskových zariadení vydávajú svoje vlastné verzie LTFS na podporu svojich zariadení. Keďže autor používa páskovú jednotku IBM, nainštaloval LTFS od IBM. Disky tretích strán môžu vyžadovať vlastné porty LTFS. A existuje univerzálna implementácia openLTFS na Github a Homebrew.

Pre nás je dôležité, že LTFS používa funkciu delenia médií, a preto môže pracovať so zariadeniami a kazetami počnúc generáciou LTO-5.

Takže v našom prípade stiahneme IBM Spectrum Archive Single Drive Edition pre macOS z webovej stránky IBM, ktorá obsahuje implementáciu LTFS. Bez akýchkoľvek dobrodružstiev nainštalujeme produkt pomocou vlastného inštalátora. Po ceste si nainštaluje aj balík FUSE a v nastaveniach systému bude musieť potvrdiť oprávnenie šikovného programátora menom Anatol Pomozov, na ktorom v tomto prípade závisí celé IBM. Rešpekt a rešpekt k tomuto mužovi.

Je vhodné ihneď zapísať riadok do súboru /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

možnosť synchronizácie typ_jednotky=čas@1

ktorý určuje, že páska je predvolene pripojená a vyrovnávacia pamäť nahrávania sa vynuluje po 1 minúte nečinnosti (predvolená hodnota je 5 minút).

Apple Mac a luxusné zariadenia. LTO, SAS, Fibre Channel, eSATA

Nakoniec je všetko pripravené na pripojenie. Zapojíme reťaz: Mac – adaptér T3/T2 – kábel Thunderbolt – prevodník ATTO – kábel SAS – pásková mechanika (výber viacerých portov na Macu, prevodníka a mechaniky nie je dôležitý). Zapnite napájanie konvertora. Zapnite napájanie páskovej jednotky. Čakáme, kým disk dokončí inicializáciu podľa jeho indikácie.

Dávame príkaz:

ltfs -o device_list

Hurá! Dostaneme (bežným diagnostickým spôsobom IBM):

307 LTFS14000I Spustenie LTFS, verzia LTFS 2.4.2.0 (10418), úroveň protokolu 2.
307 LTFS14058I Špecifikácia formátu LTFS verzia 2.4.0.
307 LTFS14104I Spustený pomocou "ltfs -o device_list".
307 LTFS14105I Tento binárny súbor je vytvorený pre Mac OS X.
Verzia 307 LTFS14106I GCC je 4.2.1 kompatibilná s Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verzia jadra: Darwinovo jadro Verzia 19.4.0: Streda 4. marca 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Načítava sa backend pásky „iokit“.
Zoznam páskových zariadení:.
Názov zariadenia = 0, ID dodávateľa = IBM, ID produktu = ULT3580-TD5, sériové číslo = **********, názov produktu = [ULT3580-TD5].

Vložte kazetu, počkajte, kým sa načíta a naformátuje:

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

Tu parameter -d určuje číslo jednotky (vždy nula, ak je jediná, ale nemôže byť vynechaná v tomto príkaze), -n je názov pásky (môžete ho vynechať) a parameter -r vyžaduje umiestnenie obsahu súborov .DS_Store nepresahujúcich veľkosť 10 megabajtov v sekcii index (t. j. určená pre adresáre) na páske namiesto sekcie údajov.

Tajomný život sa začal v páskovej jednotke. Čakáme niekoľko minút a dostaneme nasledujúcu odpoveď:

LTFS15000I Spúšťa sa mkltfs, verzia LTFS 2.4.2.0 (10418), úroveň protokolu 2.
LTFS15041I Spustený "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Tento binárny súbor je vytvorený pre Mac OS X.
Verzia LTFS15043I GCC je 4.2.1 kompatibilná s Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
Verzia jadra LTFS17087I: Verzia jadra Darwin 19.4.0: Streda 4. marca 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formátovacie zariadenie '0'.
Veľkosť blokov zväzku LTFS15004I LTFS: 524288.
LTFS15005I Politika umiestnenia indexového oddielu: veľkosť=10M/názov=.DS_Store.

LTFS11337I Aktualizácia príznaku znečistenia indexu (1) - NO_BARCODE (0x0x1021081e0).
Doplnok LTFS17085I: Načítava sa backend pásky „iokit“.
LTFS30810I Otvorenie zariadenia cez ovládač iokit (0).
LTFS30814I ID dodávateľa je IBM.
ID produktu LTFS30815I je 'ULT3580-TD5'.
Revízia firmvéru LTFS30816I je H976.
Sériový disk LTFS30817I je **********.
LTFS17160I Maximálna veľkosť bloku zariadenia je 1048576.
LTFS11330I Vkladanie kazety.
LTFS30854I Ochrana logického bloku je vypnutá.
LTFS11332I Načítanie bolo úspešné.
LTFS17157I Zmena nastavenia jednotky na režim zápisu kdekoľvek.
LTFS15049I Kontrola média (upevnenia).
LTFS30854I Ochrana logického bloku je vypnutá.
LTFS15010I Vytvorenie dátového oddielu b na oddiele SCSI 1.
LTFS15011I Vytvorenie indexového oddielu a na oddiele SCSI 0.
LTFS17165I Resetovanie proporcie kapacity média.
LTFS11097I Rozdelenie média.
LTFS11100I Zápis menovky do oddielu b.
LTFS11278I Zápis indexu do oddielu b.
LTFS30808I READ_ATTR (0x8c) vráti hodnotu -20501.
LTFS30865I READ_ATTR vráti neplatné pole v CDB (-20501) 0.
LTFS30836I Nedá sa prečítať atribút (-20501).
LTFS11336I Atribút neexistuje. Ignorujte očakávanú chybu.
LTFS17235I Zápis indexu NO_BARCODE do b (Dôvod: Formát, 0 súborov) **********.
LTFS17236I Napísal index NO_BARCODE (b, **********).
LTFS11337I Aktualizácia príznaku znečistenia indexu (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Zápis označenia do oddielu a.
LTFS11278I Zápis indexu do oddielu a.
LTFS30808I READ_ATTR (0x8c) vráti hodnotu -20501.
LTFS30865I READ_ATTR vráti neplatné pole v CDB (-20501) 0.
LTFS30836I Nedá sa prečítať atribút (-20501).
LTFS11336I Atribút neexistuje. Ignorujte očakávanú chybu.
LTFS17235I Zápis indexu NO_BARCODE do (Dôvod: Formát, 0 súborov) 9068025555.
LTFS17236I Napísal index NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

Kapacita zväzku LTFS15019I je 1425 GB.
LTFS30854I Ochrana logického bloku je vypnutá.
LTFS15024I Médium bolo úspešne naformátované.

Namontujte naformátovanú pásku:

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

Dostávame ešte pár minút prevádzky pohonu a diagnostiky:

307 LTFS14000I Spustenie LTFS, verzia LTFS 2.4.2.0 (10418), úroveň protokolu 2.
307 LTFS14058I Špecifikácia formátu LTFS verzia 2.4.0.
307 LTFS14104I Spustený pomocou „ltfs /Volumes/LTFS/“.
307 LTFS14105I Tento binárny súbor je vytvorený pre Mac OS X.
Verzia 307 LTFS14106I GCC je 4.2.1 kompatibilná s Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verzia jadra: Darwinovo jadro Verzia 19.4.0: Streda 4. marca 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Typ synchronizácie je „čas“, čas synchronizácie je 60 sekúnd.
307 LTFS17085I Plugin: Načítava sa backend pásky „iokit“.
307 LTFS17085I Plugin: Načítava sa „zjednotený“ iosched backend.
307 LTFS14095I Nastavte režim zápisu páskového zariadenia kdekoľvek, aby ste zabránili vysunutiu kazety.
307 LTFS30810I Otvorenie zariadenia pomocou ovládača iokit (0).
307 LTFS30814I ID dodávateľa je IBM.
307 LTFS30815I ID produktu je 'ULT3580-TD5'.
307 LTFS30816I Revízia firmvéru je H976.
307 Sériová jednotka jednotky LTFS30817I je **********.
307 LTFS17160I Maximálna veľkosť bloku zariadenia je 1048576.
307 LTFS11330I Vkladanie kazety.
307 LTFS30854I Ochrana logického bloku je vypnutá.
307 LTFS11332I Načítanie bolo úspešné.
307 LTFS17157I Zmena nastavenia jednotky na režim zápisu kdekoľvek.
307 LTFS11005I Montáž jednotky .
307 LTFS30854I Ochrana logického bloku je vypnutá.
307 LTFS17227I Atribút pásky: Dodávateľ = IBM.
307 LTFS17227I Atribút pásky: Názov aplikácie = LTFS.
307 LTFS17227I Atribút pásky: Verzia aplikácie = 2.4.2.0.
307 LTFS17227I Atribút pásky: Medium Label =.
307 LTFS17228I Atribút pásky: ID lokalizácie textu = 0x81.
307 LTFS17227I Atribút pásky: Čiarový kód =.
307 LTFS17227I Atribút pásky: Verzia formátu aplikácie = 2.4.0.
307 LTFS17228I Atribút pásky: Stav uzamknutia hlasitosti = 0x00.
307 LTFS17227I Atribút pásky: Názov oblasti médií =.
307 LTFS14111I Úvodné nastavenie bolo úspešne dokončené.
307 LTFS14112I Vyvolaním príkazu 'mount' skontrolujte výsledok konečného nastavenia.
307 LTFS14113I Zadaný bod pripojenia je uvedený, ak bol úspešný.

A je to tu, náš pás s nástrojmi na pracovnej ploche s názvom Test(ltfs)! Nepomenovaná páska bude mať názov OSXFUSE Volume 0 (ltfs).

Teraz s tým môžete pracovať.

Apple Mac a luxusné zariadenia. LTO, SAS, Fibre Channel, eSATA

Vo všeobecnosti musíte mať na pamäti, že je vhodné nepreháňať prezeraním obsahu páskových adresárov v oknách vyhľadávača, pretože ide o neuveriteľne drahú operáciu pre LTFS, ale je lepšie pracovať s príkazmi terminálu alebo jednoducho resetovať záložný adresár hromadne na pásku, ako je znázornené v okne vyššie.

Mimochodom, existuje špeciálne napísaná IBM utilita ltfs_copy a jej klony, určené na efektívnejšie kopírovanie medzi páskou a diskom, no zatiaľ sa ich autorovi nepodarilo nájsť vo verejnej doméne pri povrchnom vyhľadávaní.

Pásku môžete odpojiť príkazom:

umount /Volumes/LTFS

alebo ho rovno vyhodiť do koša.

V skutočnosti v prírode existujú nejaké grafické shelly pre macOS na uľahčenie týchto akcií, ale po takýchto zvrátenostiach by sme sa mali báť napísať pár riadkov do terminálu?

Ako vedľajší efekt dostávame možnosť pripojiť externé eSATA disky cez SAS/4*eSATA kábel.

Apple Mac a luxusné zariadenia. LTO, SAS, Fibre Channel, eSATA

Zdroj: hab.com

Pridať komentár