Apple Mac and curious devices. LTO, SAS, Fibre Channel, eSATA

Témou tohto článku je pripojenie externých zariadení k Macu prostredníctvom rozhraní SAS, Fibre Channel (FC) a eSATA. Hneď na úvod si povedzme, že pre prístup k takýmto zariadeniam existuje jednoduché riešenie: zostaviť si lacný PC, nainštalovať doň kartu HBA SAS alebo FC (napríklad najjednoduchší adaptér LSI), pripojiť k tejto karte svoje zariadenia, nainštalovať na PC akýkoľvek Linux a pracovať s Macom cez sieť. Ale to je nuda a nezaujímavé. Pôjdeme ťažšou cestou a pripojíme svoje zariadenia priamo k Macu.

Čo na to potrebujeme:
– slušné množstvo finančných prostriedkov na kúpu novej techniky, alebo šťastie na aukciách na eBay (kde, ak sa trochu snažíte, môžete získať požadované zariadenia predchádzajúcich generácií za viac ako 10-krát lacnejšie ako v cenníku);
– tento článok.

Aby ste mohli pracovať s magnetickou páskou (v súčasnosti takmer všade prítomnou vo formáte LTO), potrebujete páskový systém (streamer) alebo páskovú knižnicu štandardu LTO. Toto je pomerne drahé zariadenie pri prvotnom nákupe (od stoviek tisíc rubľov), ale pri nákupe z druhej ruky je jeho cena celkom rozumná. Pretož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 štyri a viac rokov starými, t.j. starších generácií a ďalej. Ak kupujete nové zariadenie na obchodné účely, tak viete, na čo ho potrebujete. Ak ho chcete kúpiť do domácnosti a pre rodinu, môžete tento variant zvážiť ako spôsob archivovania informácií (keďže samotné médiá sú veľmi lacné na 1 gigabajt).

Od generácie LTO-5 (a čiastočne LTO-4) sa zariadenia na prácu s magnetickou páskou hardvérovo pripájajú k počítaču pomocou rozhrania SAS alebo FC (zvyčajne existujú dve varianty pre každé zariadenie)

Na druhej strane, spoločnosť Apple nám láskavo poskytuje na našom Macu rozhraní USB-C (pracujúce s protokolmi USB, Thunderbolt 3 alebo DisplayPort), niekedy rozhranie Ethernet, ako aj proprietárne adaptéry Thunderbolt 3 – Thunderbolt 2 a Thunderbolt – FireWire 800.

Nie je situácia bezvýchodisková? Nie celkom. Našťastie, Thunderbolt môže fungovať v režime PCIe a umožňuje pripojenie PCIe kariet rovnakým spôsobom, akoby boli nainštalované priamo v skrini počítača. Vďaka tomu je možné akékoľvek rozšírenie hardvérovej konfigurácie Macu, za predpokladu, že máme vhodný adaptér a ovládače.

Konceptuálne najjednoduchším spôsobom, ako vyriešiť problém, je externý box pre PCIe adaptéry s rozhraním Thunderbolt (systém rozšírenia kariet PCIe), do ktorého môžeme nainštalovať ovládač (Host bus adapter, HBA) SAS alebo FC. Napríklad takéto boxy vyrába firma Sonnet a niektoré ďalšie. Je tu však nuansa: nie každý ovládač bude vyhovovať, ale iba ten, ktorý má ovládač pre macOS. Takých kariet je skutočne málo, a tie najlacnejšie a najpopulárnejšie (napríklad tie isté LSI) medzi nimi nie sú. Našťastie, firma Sonnet si dala tú námahu vytvoriť tabuľku kompatibility PCIe kariet s rôznymi operačnými systémami cez rozhranie Thunderbolt.

Ďalší spôsob, ako to vyriešiť, je zakúpenie hotového konvertora rozhrania Thunderbolt – SAS alebo Thunderbolt – FC, ktorý v podstate predstavuje už hotovú zostavu z boxu a ovládača. Najznámejšou firmou v tejto oblasti je ATTOale objavujú sa aj výrobky od iných spoločností.

Poznamenajme, že nie všetky ovládače SAS a FC sú certifikované na zhodu s normou LTO, keďže to samo o sebe stojí peniaze. Niektorí výrobcovia priamo uvádzajú, že práca ich ovládačov s páskovými úložiskami nie je predpokladaná.

Pre úplnosť obrazu treba poznamenať, že firma mLogic vyrába zariadenie, ktoré predstavuje úložisko IBM LTO-8 vo vonkajšom kryte, do ktorého je okamžite integrovaný konvertor SAS na Thunderbolt 3. To je však niečo ešte exotickejšie než všetko vyššie opísané, najmä z pohľadu našich končín. Pochybujem, že toto zariadenie je možné dokonca legálne doviezť do Ruska (úložiská LTO obsahujú kryptografické prostriedky a výrobcovia, ako IBM a HP, z tohto dôvodu získavajú pre každý model povolenie FSB na import).

Ďalej si vezmeme ako príklad konkrétnu súpravu hardvéru, ktorého majiteľom sa autor stal v dôsledku niekoľkých úspešných akvizícií, ale všeobecný princíp by mal zostať rovnaký pre všetky možnosti.

Takže máme k dispozícii na prácu s páskou nasledujúce zariadenia:
– počítač Apple Mac mini 2018 s macOS 10.15 Catalina, ktorý má USB-C porty 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ý ukladací systém LTO-5 IBM TS2350;
– kazety LTO-5, čistiaca kazeta.

Teraz, ako sa hovorí, s touto všetkou technikou sa pokúsime vzlietnuť.

Sťahujeme z webu ATTO najnovšiu verziu ovládača ThunderLink SH 1068 (zjavne je pre naše pohodlie zlúčená s ovládačom SH 2068 a nachádza sa v sekcii 2068, o čom je napísané iba v samotnom archíve s ovládačom) a konfiguračného nástroja ATTO.

Apple Mac and curious devices. LTO, SAS, Fibre Channel, eSATA

Ovládač samozrejme potrebuje inštaláciu. Pred takými akciami autor odporúča vždy vytvoriť snapshot súborového systému APFS spúšťacím príkazom

tmutil localsnapshot

alebo zálohu spúšťacieho disku, ak je tam HFS+. Kto vie, čo sa môže stať. Potom sa z snapshotu ľahko vrátime.

Ďalej nezkušený, ale prejavujúci potrebnú opatrnosť, rozum sa nepochybne prikloní k tomu, aby si pozorne prečítal inštrukcie ATTO k inštalácii ovládača a vykonal ich. Výsledkom je – tadá! – operačný systém, ktorý visí na fáze zavádzania. Tu nám môže pomôcť snapshot, z ktorého môžeme obnoviť systém spustením Time machine z obnovovacieho oddielu, alebo z toho istého obnovovacieho oddielu môžeme ručne vymazať problematický kext z adresára rozšírení kernelu (autor vo všeobecnosti neodporúča robiť to).

Prečo k tomu dochádza? Pretože sa o nás postarala firma Apple. V posledných verziách macOS nie je možné len tak vložiť cudzí kód do procesu zavádzania. Dobrí programátori Apple zablokovali takéto deštruktívne správanie. Presnejšie povedané, zablokovali ho napoly, keď sa čaká na ovládač, ktorý sa nevloží, takže všetko jednoducho zamrzne.

Čo by mal robiť skúsený rozum pred inštaláciou ovládača? Predovšetkým zadať príkaz:

csrutil status

Ak naň dostaneme odpoveď:

Stav ochrany integrity systému: povolené.

to znamená, že dobrí programátori Apple sa o nás starajú, takže nič nám nevyjde, pokiaľ túto vynikajúcu ochranu nevypneme. Na to reštartujeme v obnovovacom oddiele (⌘R), otvoríme terminál a zadáme príkaz:

csrutil disable

Potom sa reštartujeme do pracovného systému a až potom nainštalujeme ovládač, a zároveň aj konfiguračnú utilitu ATTO (v princípe je konfiguračná utilita potrebná iba na diagnostiku a nie je potrebná pri normálnom chode). Po ceste, keď to bude potrebné, potvrdíme v systémových nastaveniach autorizáciu firmy ATTO. Po inštalácii sa môžeme znova reštartovať do režimu obnovy a zadať príkaz

csrutil enable

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

Teraz máme podporovaný ovládačom rozhranie k externým zariadeniam SAS (alebo FC, ak by sa používal prevodník FC). Ale ako pracovať s páskou na logickej úrovni?

Ako je známe nevyhnutnému, ale erudovanému, rozumu, každá unixová kompatibilná sústava podporuje páskové pamäte na úrovni jadra a hlavných systémových utilít, ku ktorým patrí predovšetkým mt (riadenie páskového mechanizmu) a tar (archivátor, ktorý má podporu pre prácu s archívmi na páse). Avšak, čo objasní na toto erudovaný rozum? Akákoľvek unixová kompatibilná sústava, okrem macOS. Spoločnosť Apple sa postarala o nás tým, že odstránila podporu páskových zariadení zo svojho kódu.

Ale naozaj nie je možné vrátiť tento kód, portovaním štandardných open-source utilít Unix do macOS? Dobrá správa je, že to už urobila firma Tolis (odkaz na ktorú nezverejňujem) vo svojom produkte Tolis Tape Tools. Zlá správa je, že využívanie výsledkov jej práce táto firma ocení na 399 dolárov. Odhady tejto skutočnosti môžu byť rôzne, ale osobne nie som pripravený platiť niekomu 400 dolárov za kód, väčšinou napísaný úplne inými ľuďmi a nachádzajúci sa v otvorenom používaní od 70-tych rokov, a preto tento problém považujem za uzavretý. (Mimochodom, na GitHube existuje zanedbaný projekt IOSCSITape na túto tému).

Našťastie, na svete existuje korporácia IBM, jej komerčné apetity majú úplne iné dimenzie a preto sa neprejavujú v každej maličkosti. Konkrétne vyvinula páskový súborový systém LTFS s otvoreným zdrojovým kódom, ktorý je distribuovaný aj pre macOS.

Existuje nuansa, že rôzni výrobcovia páskových zariadení vydávajú svoje vlastné verzie LTFS, ktoré podporujú ich zariadenia. Keďže autor používa páskový disk IBM, LTFS je nainštalovaný od IBM. Pre disky iných firiem môžu byť potrebné ich vlastné porty LTFS. Existuje aj univerzálna implementácia openLTFS na Githube a Homebrew.

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

Takže v našom prípade stiahneme z webu IBM produkt IBM Spectrum Archive Single Drive Edition pre macOS, ktorý práve zahŕňa implementáciu LTFS. Bez akýchkoľvek problémov nainštalujeme produkt jeho vlastným inštalátorom. Počas tohto procesu sa nainštaluje aj balík FUSE, pričom v systémových nastaveniach bude potrebné potvrdiť autorizáciu múdreho programátora menom Anatol Pomozov, od ktorej v tomto prípade závisí celá IBM. Respekt a úcta tomuto človeku.

Je rozumné hneď v súbore /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local zapísať riadok:

option single-drive sync_type=time@1

ktorý nastavuje predvolené pripojenie pásky so resetom zápisového bufferu po 1 minúte neaktivity (predvolene 5 minút).

Apple Mac and curious devices. LTO, SAS, Fibre Channel, eSATA

Nakoniec je všetko pripravené na pripojenie. Pripojíme reťazec: Mac – adaptér T3/T2 – kábel Thunderbolt – prevodník ATTO – kábel SAS – páskový disk (výber z viacerých portov na Macu, prevodníku a disku nie je dôležitý). Zapneme napájanie prevodníka. Zapneme napájanie páskového disku. Čakáme na ukončenie inicializácie disku podľa jeho indikácie.

Dáme príkaz:

ltfs -o device_list

Hurá! Dostaneme (v bežnom diagnostickom štýle IBM):

307 LTFS14000I LTFS sa spúšťa, verzia LTFS 2.4.2.0 (10418), úroveň protokolu 2.
307 LTFS14058I Specifikácia formátu LTFS verzia 2.4.0.
307 LTFS14104I Spustené príkazom «ltfs -o device_list».
307 LTFS14105I Tento binárny súbor je zostavený pre Mac OS X.
307 LTFS14106I GCC verzia je 4.2.1 Kompatibilný Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verzia kernelu: Darwin Kernel Version 19.4.0: Stred Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Načítanie «iokit» páskového backendu.
Zoznam páskových zariadení:
Názov zariadenia = 0, ID výrobcu = IBM, ID produktu = ULT3580-TD5, Séria = **********, Názov produktu =[ULT3580-TD5].

Vložte kazetu, počkajte na načítanie a naformátujte ju:

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

Tu parameter -d určuje číslo jednotky (vždy nula, ak je jediná, ale v tomto príkaze ho nemožno vynechať), -n – názov pásky (môže sa neuvádzať), a parameter -r vyžaduje umiestniť obsah súborov .DS_Store, nepresahujúcich veľkosť 10 megabajtov, do indexovej (t.j. určené pre adresáre) časti pásky namiesto časti údajov.

Začala tajomná činnosť v páskovom úložisku. Čakáme pár minút a dostávame reakciu:

LTFS15000I Spúšťam mkltfs, verzia LTFS 2.4.2.0 (10418), úroveň logovania 2.
LTFS15041I Spustené pomocou «mkltfs -d 0 -nTest -r size=10M/name=.DS_Store».
LTFS15042I Tento binárny súbor je vytvorený pre Mac OS X.
LTFS15043I Verzia GCC je 4.2.1 Kompatibilné s Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Verzia jadra: Darwin Kernel Version 19.4.0: streda 4. mar. 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formátovanie zariadenia ‘0’.
LTFS15004I Bloková veľkosť LTFS volume: 524288.
LTFS15005I Politika umiestňovania indexovej partition: size=10M/name=.DS_Store.

LTFS11337I Aktualizujem index-dirty flag (1) — NO_BARCODE (0x0x1021081e0).
LTFS17085I Plugin: Načítavam «iokit» páskový backend.
LTFS30810I Otváram zariadenie cez iokit ovládač (0).
LTFS30814I ID predajcu je IBM.
LTFS30815I ID produktu je ‘ULT3580-TD5 ‘.
LTFS30816I Verzia firmvéru je H976.
LTFS30817I Sériové číslo jednotky je **********.
LTFS17160I Maximálna veľkosť bloku zariadenia je 1048576.
LTFS11330I Načítavam kazetu.
LTFS30854I Ochrana logických blokov je zakázaná.
LTFS11332I Načítanie úspešné.
LTFS17157I Mením nastavenie jednotky na režim zapisovania kdekoľvek.
LTFS15049I Kontrola média (mount).
LTFS30854I Ochrana logických blokov je zakázaná.
LTFS15010I Vytváram dátovú partíciu b na SCSI partícii 1.
LTFS15011I Vytváram indexovú partíciu a na SCSI partícii 0.
LTFS17165I Resetujem proporcie kapacity média.
LTFS11097I Rozdeľujem médium.
LTFS11100I Zapisujem štítok do partície b.
LTFS11278I Zapisujem index do partície b.
LTFS30808I READ_ATTR (0x8c) vracia -20501.
LTFS30865I READ_ATTR vracia Neplatné pole v CDB (-20501) 0.
LTFS30836I Nemožno prečítať atribút (-20501).
LTFS11336I Atribút neexistuje. Ignorujte očakávanú chybu.
LTFS17235I Zapisujem index NO_BARCODE do b (Dôvod: Formát, 0 súborov) **********.
LTFS17236I Zapísal som index NO_BARCODE (b, **********).
LTFS11337I Aktualizujem index-dirty flag (0) — NO_BARCODE (0x0x1021081e0).
LTFS11100I Zapisujem štítok do partície a.
LTFS11278I Zapisujem index do partície a.
LTFS30808I READ_ATTR (0x8c) vracia -20501.
LTFS30865I READ_ATTR vracia Neplatné pole v CDB (-20501) 0.
LTFS30836I Nemožno prečítať atribút (-20501).
LTFS11336I Atribút neexistuje. Ignorujte očakávanú chybu.
LTFS17235I Zapisujem index NO_BARCODE do a (Dôvod: Formát, 0 súborov) 9068025555.
LTFS17236I Zapísal som index NO_BARCODE (a, **********).
LTFS15013I UUID objemu je: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I Kapacita objemu je 1425 GB.
LTFS30854I Ochrana logických blokov je zakázaná.
LTFS15024I Medium úspešne naformátované.

Pripojujeme naformátovanú pásku:

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

Získavame ešte pár minút práce zariadenia, diagnostiku:

307 LTFS14000I LTFS sa spúšťa, verzia LTFS 2.4.2.0 (10418), úroveň protokolu 2.
307 LTFS14058I Specifikácia formátu LTFS verzia 2.4.0.
307 LTFS14104I Spustené pomocou «ltfs /Volumes/LTFS/».
307 LTFS14105I Tento binárny súbor je zostavený pre Mac OS X.
307 LTFS14106I GCC verzia je 4.2.1 Kompatibilný Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verzia kernelu: Darwin Kernel Version 19.4.0: Stred Mar 4 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.
307 LTFS17085I Plugin: Načítanie «iokit» páskového backendu.
307 LTFS17085I Plugin: Načítavam «unified» iosched backend.
307 LTFS14095I Nastavte režim zápisu páskového zariadenia na mohol-kdekoľvek, aby ste predišli vybratiu kazety.
307 LTFS30810I Otváram zariadenie cez iokit ovládač (0).
307 LTFS30814I ID predajcu je IBM.
307 LTFS30815I ID produktu je ‘ULT3580-TD5 ‘.
307 LTFS30816I Verzia firmvéru je H976.
307 LTFS30817I Sériové číslo jednotky je **********.
307 LTFS17160I Maximálna veľkosť bloku zariadenia je 1048576.
307 LTFS11330I Načítavam kazetu.
307 LTFS30854I Ochrana logických blokov je zakázaná.
307 LTFS11332I Načítanie úspešné.
307 LTFS17157I Mením nastavenie jednotky na režim zapisovania kdekoľvek.
307 LTFS11005I Pripojenie objemu.
307 LTFS30854I Ochrana logických blokov je zakázaná.
307 LTFS17227I Atribút pásky: Predajca = 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: Stredný štítok =.
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 zámku objemu = 0x00.
307 LTFS17227I Atribút pásky: Názov média pool =.
307 LTFS14111I Počiatočná konfigurácia bola úspešná.
307 LTFS14112I Spustite príkaz 'mount', aby ste skontrolovali výsledok konečnej konfigurácie.
307 LTFS14113I Určený bod pripojenia je uvedený, ak bol úspešný.

A tu je, náš pás na pracovnej ploche, s názvom Test(ltfs)! Bezmenný pás dostane názov OSXFUSE Volume 0 (ltfs).

Teraz sa s ním dá pracovať.

Apple Mac and curious devices. LTO, SAS, Fibre Channel, eSATA

Treba mať však na pamäti, že je lepšie nevykonávať časté prezeranie obsahu adresárov pásky vo Finderi, pretože to je pre LTFS mimoriadne náročná operácia; radšej pracujte s príkazmi terminálu alebo jednoducho skopírujte zálohovaný adresár na pásku, ako je uvedené v predchádzajúcom okne.

Existuje špeciálne napísaný nástroj IBM ltfs_copy a jeho klony, ktorý slúži na efektívnejšie kopírovanie medzi páskou a diskom, ale autor ich zatiaľ pri povrchnom hľadaní nenašiel vo voľnom prístupe.

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

umount /Volumes/LTFS

alebo ju jednoducho presuňte do koša.

Existujú grafické rozhrania pre macOS, ktoré uľahčujú tieto akcie, ale po takýchto kúskach sa predsa nemusíme báť napísať niekoľko riadkov v termináli?

Ako vedľajší dôsledok môžeme cez kábel SAS/4*eSATA pripojiť externé disky eSATA.

Apple Mac and curious devices. LTO, SAS, Fibre Channel, eSATA

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster