Apple Mac in modne naprave. LTO, SAS, Fibre Channel, eSATA

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 Sonnet in nekateri drugi. Tukaj je odtenek: ni vsak krmilnik primeren za nas, ampak samo tisti, ki ima gonilnik za macOS. Takšnih plošč je le nekaj, najcenejše in najbolj priljubljene (na primer isti LSI) pa niso vključene v njihovo število. Na srečo se je Sonnet potrudil s prevajanjem tabela združljivosti 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 ATTO, 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 ureditev, 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.

Apple Mac in modne naprave. LTO, SAS, Fibre Channel, eSATA

Gonilnik seveda potrebuje namestitev. Pred takimi dejanji avtor svetuje, da vedno naredite posnetek datotečnega sistema APFS zagonske diskete z ukazom

tmutil localsnapshot

ali 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 novejših različicah macOS tuje kode ni mogoče preprosto vstaviti v zagonski postopek. Dobri Applovi programerji so blokirali to destruktivno vedenje. Natančneje, blokirali so ga na pol poti, ko je pričakovanje voznika implementirano, sam voznik pa ne, tako da vse samo zamrzne.

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 disable

Po 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 enable

Apple 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.

Toda ali je res nemogoče vrniti to kodo s prenosom standardnih odprtokodnih pripomočkov Unix v macOS? Dobra novica je, da je Tolis (s katerim se ne povezujem) to že naredil v svojem izdelku Tolis Tape Tools. Slaba novica je, da omenjeno podjetje stane 399 dolarjev za uporabo rezultatov svojega dela. Ocene tega dejstva so lahko različne, vendar avtor osebno ni pripravljen nekomu plačati 400 dolarjev za kodo, ki so jo večinoma napisali popolnoma drugi ljudje in je v odprti uporabi že od sedemdesetih let prejšnjega stoletja, zato si avtor postavlja to vprašanje zase šteje za zaprto. (Mimogrede, na Githubu je zapuščen brezplačen projekt v nejasnem stanju IOSCSITape na isto temo).

Na srečo obstaja na svetu korporacija IBM, katere komercialni apetiti so v povsem drugačnem obsegu in se zato ne kažejo v vsaki malenkosti. Zlasti je razvil odprtokodni tračni datotečni sistem LTFS, ki se distribuira tudi 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.

Torej, v našem primeru prenesemo IBM Spectrum Archive Single Drive Edition za macOS s spletnega mesta IBM, ki vključuje izvedbo LTFS. Brez kakršnih koli avantur namestimo izdelek z lastnim namestitvenim programom. Spotoma si namesti še paket FUSE, v sistemskih nastavitvah pa bo moral potrditi avtorizacijo pametnega programerja Anatola Pomozova, od katerega je v tem primeru odvisen celoten IBM. Spoštovanje in spoštovanje do tega človeka.

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).

Apple Mac in modne naprave. LTO, SAS, Fibre Channel, eSATA

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_list

Hura! 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/LTFS

Dobimo š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.

Apple Mac in modne naprave. LTO, SAS, Fibre Channel, eSATA

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/LTFS

ali pa kar vrzite v smeti.

Pravzaprav v naravi obstajajo nekakšne grafične lupine za macOS, ki olajšajo ta dejanja, toda ali bi se po takšnih perverzijah morali bati vtipkati nekaj vrstic v terminal?

Kot stranski učinek dobimo možnost priklopa zunanjih diskov eSATA preko kabla SAS/4*eSATA.

Apple Mac in modne naprave. LTO, SAS, Fibre Channel, eSATA

Vir: www.habr.com

Dodaj komentar