Tema tega članka je povezovanje zunanjih naprav z Macom prek vmesnikov SAS, Fibre Channel (FC), eSATA. Naj takoj povemo, da za rešitev problema dostopa do takšnih naprav obstaja način za zdravo osebo: sestavite poceni računalnik, priključite krmilno kartico HBA SAS ali FC (na primer preprost adapter LSI), povežite svoje naprave z ta krmilnik, namestite kateri koli Linux na PC in delajte z Maca prek omrežja. Ampak to je banalno in nezanimivo. Šli bomo po trdi poti in povezali naše naprave neposredno na Mac.
Kaj potrebujemo za to:
– spodoben znesek denarja za nakup nove opreme ali pa veliko sreče na dražbah na eBayu (kjer lahko z malo truda kupite potrebno opremo prejšnjih generacij 10-krat ceneje od kataloške cene);
- Ta članek.
Za delo z magnetnim trakom (ki je zdaj skoraj povsod zastopan v formatu LTO) morate imeti tračni pogon LTO (streamer) ali tračno knjižnico. To je precej draga naprava za začetni nakup (od sto tisoč rubljev), vendar je vredna razumne količine denarja pri nakupu rabljene. Ker se generacije LTO menjajo približno vsaki dve leti, združljivost pa je omejena na dve generaciji, je sekundarni trg precej zasičen z delujočimi napravami, starimi štiri leta ali več, tj. predzadnjo generacijo in naprej. Če kupite novo napravo v komercialne namene, potem sami razumete, zakaj jo potrebujete. Če želite kupovati za svoj dom in družino, lahko to možnost upoštevate kot način arhiviranja informacij (saj so sami mediji zelo poceni na 1 gigabajt).
Od generacije LTO-5 (in deloma LTO-4) so naprave za delo z magnetnim trakom strojno povezane z računalnikom prek vmesnika SAS ali FC (običajno obstajata dve različici vsake naprave)
Po drugi strani pa nam Apple prijazno ponuja vmesnik USB-C v našem Macu (deluje s protokoli USB, Thunderbolt 3 ali DisplayPort), včasih vmesnik Ethernet, pa tudi lastniška Thunderbolt 3 - Thunderbolt 2 in Thunderbolt - FireWire 800 adapterji.
Zastoj? res ne. Na srečo lahko Thunderbolt deluje v načinu PCIe in omogoča povezavo kartic PCIe na enak način, kot če bi bile nameščene neposredno v ohišje računalnika. Zaradi tega je mogoča kakršna koli razširitev konfiguracije strojne opreme Mac, če obstaja ustrezen adapter in gonilniki.
Konceptualno najpreprostejša rešitev problema je zunanja škatla za PCIe adapterje z vmesnikom Thunderbolt (PCIe card expansion system), v katero lahko vgradimo SAS ali FC Host bus adapter (HBA). Na primer, takšne škatle proizvaja podjetje in nekatere druge. Tukaj je opozorilo: ne bo vsak krmilnik deloval za nas, ampak samo tisti z gonilnikom za macOSTakšnih plošč je zelo malo, med njimi pa ni najcenejših in najbolj priljubljenih (na primer isti LSI). Na srečo si je Sonnet vzel trud in jih sestavil. Kartice PCIe z različnimi OS prek vmesnika Thunderbolt.
Druga rešitev je nakup že pripravljenega pretvornika vmesnika Thunderbolt - SAS ali Thunderbolt - FC, ki je pravzaprav že pripravljen sklop škatle in krmilnika. Najbolj znano podjetje na tem področju , obstajajo pa tudi izdelki drugih podjetij.
Upoštevajte, da niso vsi krmilniki SAS in FC certificirani za skladnost s standardom LTO, saj to samo po sebi stane. Nekateri proizvajalci neposredno pišejo, da njihovi krmilniki niso zasnovani za delo s tračnimi pogoni.
Za popolnost omenimo, da mLogic proizvaja , ki je disk IBM LTO-8 v zunanjem ohišju, v katerega je takoj integriran pretvornik SAS v Thunderbolt 3. To pa je še bolj eksotika od vsega zgoraj opisanega, sploh za naše prostore. Dvomim, da je to napravo sploh mogoče zakonito uvoziti v Rusijo (pogoni LTO vsebujejo kriptografske funkcije, zato proizvajalci, kot sta IBM in HP, prejmejo uvozno dovoljenje FSB za vsak model).
Nato bomo kot primer obravnavali določen sklop opreme, katerega lastnik je avtor postal zaradi več uspešnih nakupov, vendar je treba splošno načelo ohraniti za vse možnosti.
Tako imamo naslednjo opremo za delo s trakom:
– Računalnik Apple Mac mini 2018 z macOS 10.15 Catalina, ki ima vrata USB-C s podporo za Thunderbolt 3;
– adapter Apple Thunderbolt 3 / Thunderbolt 2;
– kabel Apple Thunderbolt 2;
– pretvornik vmesnika ATTO ThunderLink SH 1068 (2*Thunderbolt / 2*SAS-2);
– SAS kabel SFF-8088 – SFF-8088;
– tračni pogon LTO-5 IBM TS2350;
– LTO-5 kartuše, čistilna kartuša.
Zdaj, kot pravijo, bomo z vsemi temi stvarmi poskušali vzleteti.
S spletnega mesta ATTO prenesemo najnovejšo različico gonilnika ThunderLink SH 1068 (očitno je za naše udobje kombiniran z gonilnikom SH 2068 in se nahaja v razdelku 2068, ki je napisan samo znotraj arhiva z gonilnikom) in Pripomoček za konfiguracijo ATTO.

Gonilnik seveda potrebuje namestitev. Pred takimi dejanji avtor svetuje, da vedno naredite posnetek datotečnega sistema APFS zagonske diskete z ukazom
tmutil localsnapshotali varnostno kopijo zagonske diskete, če ima HFS+. Nikoli ne veš. Potem se bo enostavno vrniti nazaj s posnetka.
Nato bo neizkušen, a skrben um nedvomno nagnjen k temu, da natančno prebere navodila za namestitev gonilnika ATTO in jih upošteva. Kot rezultat - tadam! – dobimo operacijski sistem, ki visi v fazi nalaganja. Tukaj morda potrebujemo posnetek, iz katerega lahko obnovimo tako, da pokličemo Time machine z obnovitvene particije, ali pa lahko z iste obnovitvene particije ročno izbrišemo oboleli kext iz imenika razširitev jedra (avtor tega na splošno ne priporoča).
Zakaj se to dogaja? Ker je Apple poskrbel za nas. V najnovejših različicah macOS V zagonski proces ne moreš kar tako vbrizgati tuje kode. Applovi programerji so to destruktivno vedenje blokirali. Natančneje, blokirali so ga na pol poti: ko je vbrizgan gonilnik wait, sam gonilnik pa ne, se vse preprosto ustavi.
Kaj naj prefinjen um naredi, preden namesti gonilnik? Najprej dajte ukaz:
csrutil statusČe v odgovor nanj prejmemo:
Stanje zaščite celovitosti sistema: omogočeno.
potem to pomeni, da je dobrim Applovim programerjem mar za nas, zato nam ne bo nič uspelo, dokler ne onemogočimo njihove čudovite zaščite. Če želite to narediti, znova zaženite obnovitveno particijo (⌘R), pokličite terminal in izdajte ukaz:
csrutil disablePo tem se znova zaženemo v delovni sistem in šele nato namestimo gonilnik in hkrati konfiguracijski pripomoček ATTO (načeloma je konfiguracijski pripomoček potreben samo za diagnostiko in ni potreben med normalnim delovanjem). Spotoma na vprašanje potrdimo avtorizacijo ATTO v sistemskih nastavitvah. Po namestitvi se lahko znova zaženete v obnovitveno particijo in podate ukaz
csrutil enableApple spet skrbi za nas.
Zdaj imamo z gonilniki podprt vmesnik za zunanje naprave SAS (ali FC, če je bil uporabljen pretvornik FC). Toda kako delati s trakom na logični ravni?
Kot ve neizkušen, a izobražen um, vsak sistem, združljiv z Unixom, podpira tračne pogone na ravni jedra in osnovnih sistemskih pripomočkov, ki vključujejo predvsem mt (upravljanje trakov) in tar (arhivator, ki podpira delo z arhivi na traku). Vendar, kaj lahko o tem reče prefinjen um? kateri koli sistem, združljiv z Unixom, razen macOS. Apple je poskrbel za nas tako, da je iz svoje kode odstranil podporo za tračne naprave.
Ampak ali je res nemogoče vrniti to kodo s prenosom standardnih odprtokodnih Unixovih pripomočkov na macOSDobra novica je, da je Tolis (na katerega ne bom navajal povezave) to že storil v svojem izdelku Tolis Tape Tools. Slaba novica je, da podjetje za uporabo svojega dela zaračuna 399 dolarjev. Ocene se lahko razlikujejo, vendar avtor osebno ni pripravljen plačati nekomu 400 dolarjev za kodo, ki so jo večinoma napisali drugi ljudje in je v odprti uporabi od sedemdesetih let prejšnjega stoletja, zato avtor meni, da je to vprašanje zaključeno. (Mimogrede, na GitHubu obstaja zapuščen, nejasno delujoč odprtokodni projekt.) na isto temo).
Na srečo obstaja IBM, korporacija, katere komercialni apetiti so na povsem drugačni ravni in se zato ne kažejo v nepomembnih zadevah. Natančneje, razvila je odprtokodni datotečni sistem LTFS za tračne datoteke, ki se med drugim distribuira za macOS.
Opozorilo tukaj je, da različni proizvajalci tračnih naprav izdajo svoje različice LTFS za podporo svojim napravam. Ker avtor uporablja IBM-ov tračni pogon, je namestil IBM-ov LTFS. Pogoni tretjih oseb lahko zahtevajo lastna vrata LTFS. In obstaja univerzalna implementacija openLTFS na Github in Homebrew.
Za nas je pomembno, da LTFS uporablja funkcijo particioniranja medijev in zato lahko deluje z napravami in kartušami od generacije LTO-5.
V našem primeru torej prenesemo izdelek IBM Spectrum Archive Single Drive Edition s spletnega mesta IBM. macOS, ki vključuje implementacijo LTFS. Izdelek namestimo brez zapletov z lastnim namestitvenim programom. Med potjo namesti tudi paket FUSE, čeprav boste morali v sistemskih nastavitvah potrditi avtorizacijo pametnega programerja Anatola Pomozova, od katerega je v tem primeru odvisen celoten IBM-ov sistem. Spoštovanje in občudovanje temu človeku.
Priporočljivo je, da takoj zapišete vrstico v datoteko /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:
možnost single-drive sync_type=time@1
ki določa, da je trak privzeto nameščen in da se medpomnilnik za snemanje ponastavi po 1 minuti nedejavnosti (privzeto je 5 minut).

Končno je vse pripravljeno za povezavo. Vežemo verigo: Mac – T3/T2 adapter – Thunderbolt kabel – ATTO pretvornik – SAS kabel – tračni pogon (izbira več portov na Macu, pretvornika in pogona ni pomembna). Vklopite napajanje pretvornika. Vklopite napajanje tračnega pogona. Počakamo, da pogon zaključi inicializacijo glede na njegovo indikacijo.
Dajemo ukaz:
ltfs -o device_listHura! Dobimo (na običajen IBM-ov diagnostični način):
307 LTFS14000I Zagon LTFS, različica LTFS 2.4.2.0 (10418), raven dnevnika 2.
307 LTFS14058I Specifikacija formata LTFS različica 2.4.0.
307 LTFS14104I Zagnal "ltfs -o device_list".
307 LTFS14105I Ta dvojiška datoteka je zgrajena za Mac OS X.
307 LTFS14106I Različica GCC je 4.2.1, združljiva z Apple Clang 4.1 ((oznake/Apple/clang-421.11.66)).
307 LTFS17087I Različica jedra: Različica jedra Darwin 19.4.0: sreda, 4. marec 22:28:40 PST 2020; koren:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Nalaganje zaledja traku »iokit«.
Seznam tračnih naprav:.
Ime naprave = 0, ID prodajalca = IBM, ID izdelka = ULT3580-TD5, serijska številka = **********, ime izdelka = [ULT3580-TD5].
Vstavite kaseto, počakajte, da se naloži in formatirajte:
mkltfs -d 0 -nTest -r "size=10M/name=.DS_Store"Tukaj parameter -d določa številko pogona (vedno nič, če je edini, vendar ga v tem ukazu ni mogoče izpustiti), -n je ime traku (lahko ga izpustite), parameter -r pa zahteva namestitev vsebine datotek .DS_Store, ki ne presegajo velikosti 10 megabajtov, v indeksnem (tj. namenjenem imenikom) delu traku namesto v podatkovnem razdelku.
Skrivnostno življenje se je začelo v tračnem pogonu. Počakamo nekaj minut in prejmemo naslednji odgovor:
LTFS15000I Zagon mkltfs, različica LTFS 2.4.2.0 (10418), raven dnevnika 2.
LTFS15041I Zagnal "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Ta dvojiška datoteka je zgrajena za Mac OS X.
Različica LTFS15043I GCC je 4.2.1, združljiva z Apple Clang 4.1 ((oznake/Apple/clang-421.11.66)).
LTFS17087I Različica jedra: Različica jedra Darwin 19.4.0: sreda, 4. marec, 22:28:40 PST 2020; koren:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Naprava za formatiranje '0'.
LTFS15004I Velikost bloka nosilca LTFS: 524288.
LTFS15005I Politika postavitve indeksne particije: velikost=10M/ime=.DS_Store.LTFS11337I Posodobi zastavico umazanega indeksa (1) - NO_BARCODE (0x0x1021081e0).
Vtičnik LTFS17085I: nalaganje zaledja traku »iokit«.
LTFS30810I Odpiranje naprave prek gonilnika iokit (0).
LTFS30814I ID prodajalca je IBM.
LTFS30815I ID izdelka je 'ULT3580-TD5'.
LTFS30816I Revizija vdelane programske opreme je H976.
LTFS30817I Serijska številka pogona je **********.
LTFS17160I Največja velikost bloka naprave je 1048576.
LTFS11330I Polnjenje kartuše.
LTFS30854I Zaščita logičnega bloka je onemogočena.
LTFS11332I Nalaganje uspešno.
LTFS17157I Spreminjanje nastavitve pogona v način pisanja kjer koli.
LTFS15049I Preverjanje medija (montaža).
LTFS30854I Zaščita logičnega bloka je onemogočena.
LTFS15010I Ustvarjanje podatkovne particije b na SCSI particiji 1.
LTFS15011I Ustvarjanje indeksne particije a na SCSI particiji 0.
LTFS17165I Ponastavitev deleža zmogljivosti medija.
LTFS11097I Particioniranje medija.
LTFS11100I Zapisovanje oznake v particijo b.
LTFS11278I Zapisovanje indeksa v particijo b.
LTFS30808I READ_ATTR (0x8c) vrne -20501.
LTFS30865I READ_ATTR vrne neveljavno polje v CDB (-20501) 0.
LTFS30836I Ni mogoče prebrati atributa (-20501).
LTFS11336I Atribut ne obstaja. Prezrite pričakovano napako.
LTFS17235I Indeks pisanja NO_BARCODE v b (Razlog: Format, 0 datotek) **********.
LTFS17236I Zapisan indeks NO_BARCODE (b, **********).
LTFS11337I Posodobi zastavico umazanega indeksa (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Zapisovanje oznake v particijo a.
LTFS11278I Zapisovanje indeksa v particijo a.
LTFS30808I READ_ATTR (0x8c) vrne -20501.
LTFS30865I READ_ATTR vrne neveljavno polje v CDB (-20501) 0.
LTFS30836I Ni mogoče prebrati atributa (-20501).
LTFS11336I Atribut ne obstaja. Prezrite pričakovano napako.
LTFS17235I Pisanje indeksa NO_BARCODE v (Razlog: Format, 0 datotek) 9068025555.
LTFS17236I Zapisan indeks NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.LTFS15019I Kapaciteta nosilca je 1425 GB.
LTFS30854I Zaščita logičnega bloka je onemogočena.
LTFS15024I Medij je uspešno formatiran.
Namestite formatirani trak:
sudo mkdir /Volumes/LTFS
sudo chmod 777 /Volumes/LTFS/
sudo ltfs /Volumes/LTFSDobimo še nekaj minut vožnje in diagnostike:
307 LTFS14000I Zagon LTFS, različica LTFS 2.4.2.0 (10418), raven dnevnika 2.
307 LTFS14058I Specifikacija formata LTFS različica 2.4.0.
307 LTFS14104I Zagnal “ltfs /Volumes/LTFS/”.
307 LTFS14105I Ta dvojiška datoteka je zgrajena za Mac OS X.
307 LTFS14106I Različica GCC je 4.2.1, združljiva z Apple Clang 4.1 ((oznake/Apple/clang-421.11.66)).
307 LTFS17087I Različica jedra: Različica jedra Darwin 19.4.0: sreda, 4. marec 22:28:40 PST 2020; koren:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Vrsta sinhronizacije je “čas”, čas sinhronizacije je 60 sekund.
307 LTFS17085I Plugin: Nalaganje zaledja traku »iokit«.
307 Vtičnik LTFS17085I: nalaganje "poenotenega" iosched zaledja.
307 LTFS14095I Nastavite način zapisovanja kamor koli za tračno napravo, da preprečite izmet kartuše.
307 LTFS30810I Odpiranje naprave prek gonilnika iokit (0).
307 LTFS30814I ID prodajalca je IBM.
307 LTFS30815I ID izdelka je 'ULT3580-TD5'.
307 LTFS30816I Revizija vdelane programske opreme je H976.
307 LTFS30817I Serijska številka pogona je **********.
307 LTFS17160I Največja velikost bloka naprave je 1048576.
307 LTFS11330I Polnjenje kartuše.
307 LTFS30854I Zaščita logičnega bloka je onemogočena.
307 LTFS11332I Nalaganje uspešno.
307 LTFS17157I Spreminjanje nastavitve pogona v način pisanja kjer koli.
307 LTFS11005I Namestitev nosilca.
307 LTFS30854I Zaščita logičnega bloka je onemogočena.
307 LTFS17227I Atribut traku: Prodajalec = IBM.
307 LTFS17227I Atribut traku: Ime aplikacije = LTFS.
307 LTFS17227I Atribut traku: Različica aplikacije = 2.4.2.0.
307 LTFS17227I Atribut traku: Srednja oznaka =.
307 LTFS17228I Atribut traku: ID lokalizacije besedila = 0x81.
307 LTFS17227I Atribut traku: črtna koda =.
307 LTFS17227I Atribut traku: Različica formata aplikacije = 2.4.0.
307 LTFS17228I Atribut traku: Stanje zaklepanja nosilca = 0x00.
307 LTFS17227I Atribut traku: Ime področja medijev =.
307 LTFS14111I Začetna namestitev je bila uspešno zaključena.
307 LTFS14112I Pokličite ukaz 'mount', da preverite rezultat končne nastavitve.
307 LTFS14113I Podana točka namestitve je navedena, če je bila uspešna.
In tukaj je naš trak na namizju z imenom Test(ltfs)! Neimenovani trak bo imenovan OSXFUSE Volume 0 (ltfs).
Zdaj lahko delate z njim.

Na splošno morate upoštevati, da ni priporočljivo pretiravati z ogledovanjem vsebine tračnih imenikov v oknih iskalnika, saj je to neverjetno draga operacija za LTFS, vendar je bolje delati s terminalskimi ukazi ali preprosto ponastaviti imenik varnostne kopije v velikem obsegu na trak, kot je prikazano v zgornjem oknu.
Mimogrede, obstaja posebej napisan IBM-ov pripomoček ltfs_copy in njegovi kloni, namenjeni učinkovitejšemu kopiranju med trakom in diskom, vendar jih avtorju doslej s površnim iskanjem ni uspelo najti v javni domeni.
Trak lahko odklopite z ukazom:
umount /Volumes/LTFSali pa kar vrzite v smeti.
Pravzaprav obstaja nekaj grafičnih lupin za macOS da bi bila ta dejanja lažja, ampak po takšnih perverzijah bi se morali bati vtipkati nekaj vrstic v terminal?
Kot stranski učinek dobimo možnost priklopa zunanjih diskov eSATA preko kabla SAS/4*eSATA.

Vir: www.habr.com
