Apple Mac en spoggerige toestelle. LTO, SAS, Fibre Channel, eSATA

Die onderwerp van hierdie artikel is om eksterne toestelle aan 'n Mac te koppel via SAS, Fibre Channel (FC), eSATA-koppelvlakke. Kom ons sê dadelik dat om die probleem van toegang tot sulke toestelle op te los, daar 'n manier vir 'n gesonde persoon is: bou 'n goedkoop rekenaar, prop 'n HBA SAS- of FC-beheerderkaart in (byvoorbeeld 'n eenvoudige LSI-adapter), koppel jou toestelle aan hierdie kontroleerder, installeer enige Linux op die rekenaar en werk vanaf Mac via die netwerk. Maar dit is banaal en oninteressant. Ons sal die hardcore-roete volg en ons toestelle verbind direk na Mac.

Wat ons hiervoor nodig het:
– ’n ordentlike bedrag geld om nuwe toerusting te koop, of sterkte in veilings op eBay (waar jy met ’n bietjie moeite die vereiste toerusting van vorige generasies 10 keer goedkoper as die lysprys kan koop);
- Hierdie artikel.

Om met magnetiese band te werk (nou amper universeel verteenwoordig in die LTO-formaat), moet jy 'n LTO-bandaandrywer (streamer) of bandbiblioteek hê. Dit is 'n taamlik duur toestel vir die aanvanklike aankoop (van honderde duisende roebels), maar die moeite werd om 'n redelike bedrag geld te koop wanneer dit gebruik word. Aangesien LTO-generasies ongeveer elke twee jaar verander, en verenigbaarheid tot twee generasies beperk is, is die sekondêre mark redelik versadig met werkbare toestelle van vier jaar of ouer, d.w.s. die generasie voor laas en daarna. As jy 'n nuwe toestel vir kommersiële doeleindes koop, dan verstaan ​​jy self hoekom jy dit nodig het. As jy vir jou huis en gesin wil koop, kan jy hierdie opsie oorweeg as 'n manier om inligting te argiveer (aangesien die media self baie goedkoop is per 1 gigagreep).

Vanaf die LTO-5-generasie (en gedeeltelik LTO-4), word toestelle vir werk met magnetiese band in hardeware aan die rekenaar gekoppel via 'n SAS- of FC-koppelvlak (gewoonlik is daar twee weergawes van elke toestel)

Aan die ander kant voorsien Apple ons vriendelik van 'n USB-C-koppelvlak in ons Mac (werk met die USB-, Thunderbolt 3- of DisplayPort-protokolle), soms 'n Ethernet-koppelvlak, sowel as eie Thunderbolt 3 - Thunderbolt 2 en Thunderbolt - FireWire 800 adapters.

Dooiepunt? Nie regtig nie. Gelukkig kan Thunderbolt in PCIe-modus werk en toelaat dat PCIe-kaarte op dieselfde manier verbind word asof dit direk in die rekenaarkas geïnstalleer is. As gevolg hiervan is enige uitbreiding van die Mac-hardewarekonfigurasie moontlik, mits daar 'n toepaslike adapter en drywers is.

Konseptueel is die eenvoudigste manier om die probleem op te los 'n eksterne boks vir PCIe-adapters met 'n Thunderbolt-koppelvlak (PCIe-kaartuitbreidingstelsel), waarin jy 'n SAS- of FC-gasheerbusadapter (HBA) kan installeer. Sulke bokse word byvoorbeeld deur die maatskappy vervaardig Sonnet en 'n paar ander. Daar is 'n nuanse hier: nie elke beheerder is geskik vir ons nie, maar slegs een wat 'n bestuurder vir macOS het. Daar is net 'n paar sulke borde, en die goedkoopste en gewildste (byvoorbeeld dieselfde LSI) is nie by hul nommer ingesluit nie. Gelukkig het Sonnet die moeite gedoen om saam te stel verenigbaarheidstabel PCIe-kaarte met verskeie bedryfstelsels via Thunderbolt-koppelvlak.

Nog 'n oplossing is om 'n klaargemaakte Thunderbolt - SAS of Thunderbolt - FC-koppelvlakomskakelaar te koop, wat in werklikheid 'n klaargemaakte samestelling van 'n boks en 'n kontroleerder is. Die bekendste maatskappy in hierdie gebied Atto, maar daar is ook produkte van ander maatskappye.

Let daarop dat nie alle SAS- en FC-beheerders gesertifiseer is om aan die LTO-standaard te voldoen nie, aangesien dit op sigself geld kos. Sommige vervaardigers skryf direk dat hul beheerders nie ontwerp is om met bandaandrywers te werk nie.

Om die prentjie te voltooi, let ons daarop dat mLogic produseer toestel, wat 'n IBM LTO-8-aandrywer in 'n eksterne omhulsel is, waarin onmiddellik 'n SAS na Thunderbolt 3-omskakelaar geïntegreer word.Dit is egter 'n selfs meer eksotiese ding as alles hierbo beskryf, veral volgens die standaarde van ons streek. Ek twyfel of hierdie toestel selfs wettiglik in Rusland ingevoer kan word (LTO-aandrywers bevat kriptografiese kenmerke, en vervaardigers soos IBM en HP ontvang FSB-invoertoestemming vir elke model om hierdie rede).

Vervolgens sal ons as voorbeeld 'n spesifieke stel toerusting oorweeg, waarvan die eienaar die skrywer geword het as gevolg van verskeie suksesvolle verkrygings, maar die algemene beginsel moet vir alle opsies gehandhaaf word.

Ons het dus die volgende toerusting om met band te werk:
– Apple Mac mini 2018-rekenaar met macOS 10.15 Catalina, met USB-C-poorte met Thunderbolt 3-ondersteuning;
– Apple Thunderbolt 3 / Thunderbolt 2-adapter;
– Apple Thunderbolt 2-kabel;
– ATTO ThunderLink SH 1068-koppelvlak-omskakelaar (2*Thunderbolt / 2*SAS-2);
– SAS-kabel SFF-8088 – SFF-8088;
– bandaandrywer LTO-5 IBM TS2350;
- LTO-5 patrone, skoonmaak patroon.

Nou, soos hulle sê, met al hierdie goed gaan ons probeer opstyg.

Ons laai die nuutste weergawe van die ThunderLink SH 1068-bestuurder af van die ATTO-webwerf af (dit word blykbaar vir ons gerief gekombineer met die SH 2068-bestuurder en is geleë in afdeling 2068, wat slegs in die argief met die drywer geskryf is) en die ATTO konfigurasie nut.

Apple Mac en spoggerige toestelle. LTO, SAS, Fibre Channel, eSATA

Die bestuurder moet natuurlik geïnstalleer word. Voor sulke aksies raai die skrywer aan om altyd 'n momentopname van die APFS-lêerstelsel van die opstartskyf te neem met die opdrag

tmutil localsnapshot

of 'n rugsteunkopie van die opstartskyf, as dit HFS+ het. Jy weet nooit. Dan sal dit maklik wees om terug te rol van die momentopname.

Vervolgens sal die onervare, maar noukeurige verstand ongetwyfeld geneig wees om die ATTO-bestuurderinstallasie-instruksies noukeurig te lees en dit te volg. As gevolg hiervan - tadam! – ons kry 'n bedryfstelsel wat by die laaistadium hang. Hier het ons dalk 'n momentopname nodig waaruit ons kan herstel deur Time machine van die herstelpartisie te bel, of vanaf dieselfde herstelpartisie kan ons die siek kext handmatig uit die kernuitbreidingsgids uitvee (die skrywer beveel gewoonlik nie aan om dit te doen nie).

Hoekom gebeur dit? Omdat Apple vir ons gesorg het. In onlangse weergawes van macOS kan jy nie maklik vreemde kode in die selflaaiproses inspuit nie. Die goeie Apple-programmeerders het hierdie vernietigende gedrag geblokkeer. Meer presies, hulle het dit halfpad geblokkeer, wanneer die verwagting van die bestuurder geïmplementeer word, maar die bestuurder self is nie, so alles vries net.

Wat moet 'n gesofistikeerde verstand doen voordat 'n bestuurder geïnstalleer word? Gee eers die opdrag:

csrutil status

As ons in reaksie daarop ontvang:

Stelselintegriteitbeskermingstatus: geaktiveer.

dan beteken dit dat die goeie Apple-programmeerders vir ons omgee, so niks sal vir ons uitwerk totdat ons hul wonderlike beskerming deaktiveer nie. Om dit te doen, herlaai na die herstelpartisie (⌘R), bel die terminale en gee die opdrag:

csrutil disable

Hierna herlaai ons in die werkende stelsel, en installeer dan eers die bestuurder, en terselfdertyd die ATTO-konfigurasiehulpmiddel (in beginsel is die konfigurasiehulpmiddel slegs nodig vir diagnostiek en word nie tydens normale werking benodig nie). Langs die pad, wanneer ons gevra word, bevestig ons die ATTO-magtiging in die stelselinstellings. Na die installasie kan u weer in die herstelpartisie herlaai en die opdrag gee

csrutil enable

Apple sorg weer vir ons.

Nou het ons 'n bestuurder-ondersteunde koppelvlak na eksterne SAS-toestelle (of FC, as 'n FC-omskakelaar gebruik is). Maar hoe om op die logiese vlak met band te werk?

Soos die onervare maar geleerde verstand weet, ondersteun enige Unix-versoenbare stelsel bandaandrywers op die vlak van die kern en basiese stelselhulpmiddels, wat hoofsaaklik mt (bandbestuur) en tar (argiverer wat werk met argiewe op band ondersteun) insluit. Wat kan 'n gesofistikeerde verstand egter hieroor sê? Enige Unix-versoenbare stelsel, behalwe macOS. Apple het vir ons gesorg deur ondersteuning vir bandtoestelle van sy kode te verwyder.

Maar is dit regtig onmoontlik om hierdie kode terug te gee deur standaard oopbron Unix-nutsprogramme na macOS oor te dra? Die goeie nuus is dat Tolis (waarna ek nie skakel nie) dit reeds in hul produk Tolis Tape Tools gedoen het. Die slegte nuus is dat die genoemde maatskappy $399 kos om die resultate van sy werk te gebruik. Beramings van hierdie feit kan verskil, maar die skrywer persoonlik is nie gereed om iemand 400 dollar te betaal vir 'n kode wat meestal deur heeltemal ander mense geskryf is en sedert die 1970's in oop gebruik is nie, en daarom vra die skrywer hierdie vraag vir homself gesluit beskou. (Terloops, daar is 'n gratis projek wat in 'n vae toestand op Github verlate is IOSCSITape oor dieselfde onderwerp).

Gelukkig is daar die IBM-korporasie in die wêreld, wie se kommersiële aptyt op 'n heeltemal ander skaal is, en hulle dus nie in elke klein dingetjie manifesteer nie. Dit het veral die oopbron-LTFS-bandlêerstelsel ontwikkel, wat ook vir macOS versprei word.

Die waarskuwing hier is dat verskillende bandtoestelvervaardigers hul eie weergawes van LTFS vrystel om hul toestelle te ondersteun. Aangesien die skrywer 'n IBM-bandstasie gebruik, het hy LTFS vanaf IBM geïnstalleer. Derdeparty-aandrywers benodig dalk hul eie LTFS-poorte. En daar is 'n universele implementering van openLTFS op Github en Homebrew.

Dit is vir ons belangrik dat LTFS die mediapartisioneringsfunksie gebruik, en daarom kan werk met toestelle en patrone vanaf die LTO-5-generasie.

Dus, in ons geval, laai ons die IBM Spectrum Archive Single Drive Edition vir macOS van die IBM-webwerf af, wat die LTFS-implementering insluit. Sonder enige avonture installeer ons die produk met sy eie installeerder. Langs die pad installeer hy ook die FUSE-pakket, en in die stelselinstellings sal hy die magtiging van 'n slim programmeerder genaamd Anatol Pomozov moet bevestig, van wie in hierdie geval die hele IBM afhanklik is. Respek en respek vir hierdie man.

Dit is raadsaam om dadelik die reël in die lêer /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local te skryf:

opsie enkel-aandrywing sync_type=tyd@1

wat spesifiseer dat die band by verstek gemonteer is en die opnamebuffer na 1 minuut van onaktiwiteit teruggestel word (verstek is 5 minute).

Apple Mac en spoggerige toestelle. LTO, SAS, Fibre Channel, eSATA

Uiteindelik is alles gereed om aan te sluit. Ons verbind die ketting: Mac – T3/T2-adapter – Thunderbolt-kabel – ATTO-omskakelaar – SAS-kabel – bandaandrywer (die keuse van verskeie poorte op die Mac, omskakelaar en aandrywer is nie belangrik nie). Skakel die krag van die omskakelaar aan. Skakel die krag na die bandaandrywer aan. Ons wag vir die aandrywing om inisialisering te voltooi volgens sy aanduiding.

Ons gee die opdrag:

ltfs -o device_list

Hoera! Ons kry (op die gewone IBM diagnostiese wyse):

307 LTFS14000I LTFS begin, LTFS weergawe 2.4.2.0 (10418), log vlak 2.
307 LTFS14058I LTFS-formaatspesifikasie weergawe 2.4.0.
307 LTFS14104I Geloods deur "ltfs -o device_list".
307 LTFS14105I Hierdie binêre is gebou vir Mac OS X.
307 LTFS14106I GCC weergawe is 4.2.1 Versoenbare Apple Clang 4.1 ((merkers/Apple/clang-421.11.66)).
307 LTFS17087I Kernweergawe: Darwin Kernel Weergawe 19.4.0: Wo 4 Mrt 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I-inprop: Laai "iokit"-band-agterkant.
Bandtoestellys:.
Toestelnaam = 0, Verkoper-ID = IBM, Produk-ID = ULT3580-TD5, Reeksnommer = **********, Produknaam = [ULT3580-TD5].

Plaas die kasset in, wag vir dit om te laai en formateer:

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

Hier spesifiseer die -d parameter die aandrywingnommer (altyd nul as dit die enigste een is, maar kan nie in hierdie opdrag weggelaat word nie), -n is die bandnaam (jy kan dit weglaat), en die -r parameter vereis dat die inhoud geplaas word van .DS_Store lêers wat nie die grootte 10 megagrepe oorskry nie, in die indeks (d.i. bedoel vir dopgehou) afdeling van die band in plaas van die data afdeling.

Geheimsinnige lewe het in die bandstasie begin. Ons wag 'n paar minute en ontvang die volgende antwoord:

LTFS15000I Begin mkltfs, LTFS weergawe 2.4.2.0 (10418), log vlak 2.
LTFS15041I Geloods deur "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Hierdie binêre is gebou vir Mac OS X.
LTFS15043I GCC weergawe is 4.2.1 Versoenbare Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Kernweergawe: Darwin Kernel Weergawe 19.4.0: Wo 4 Maart 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formateer toestel '0'.
LTFS15004I LTFS volume blokgrootte: 524288.
LTFS15005I Indekspartisieplasingsbeleid: grootte=10M/naam=.DS_Store.

LTFS11337I Dateer indeksvuil vlag op (1) - GEEN_BARCODE (0x0x1021081e0).
LTFS17085I-inprop: Laai "iokit"-band-agterkant.
LTFS30810I Maak 'n toestel oop deur iokit-bestuurder (0).
LTFS30814I Verkoper ID is IBM.
LTFS30815I Produk ID is 'ULT3580-TD5'.
LTFS30816I Firmware hersiening is H976.
LTFS30817I Drive-reeks is **********.
LTFS17160I Maksimum toestelblokgrootte is 1048576.
LTFS11330I Laai patroon.
LTFS30854I Logiese blokbeskerming is gedeaktiveer.
LTFS11332I Laai suksesvol.
LTFS17157I Verander die aandrywerinstelling na skryf-enige plek-modus.
LTFS15049I Kontroleer die medium (montering).
LTFS30854I Logiese blokbeskerming is gedeaktiveer.
LTFS15010I Skep datapartisie b op SCSI partisie 1.
LTFS15011I Skep indekspartisie a op SCSI partisie 0.
LTFS17165I Herstel van die medium se kapasiteit proporsie.
LTFS11097I Partitionering van die medium.
LTFS11100I Skryfetiket na partisie b.
LTFS11278I Skryf van indeks na partisie b.
LTFS30808I READ_ATTR (0x8c) gee -20501 terug.
LTFS30865I READ_ATTR gee Ongeldige Veld in CDB (-20501) 0 terug.
LTFS30836I Kan nie kenmerk lees nie (-20501).
LTFS11336I Die kenmerk bestaan ​​nie. Ignoreer die verwagte fout.
LTFS17235I Skryfindeks van NO_BARCODE na b (Rede: Formaat, 0 lêers) **********.
LTFS17236I Het indeks van GEEN_BARCODE (b, **********) geskryf.
LTFS11337I Dateer indeksvuil vlag op (0) - GEEN_BARCODE (0x0x1021081e0).
LTFS11100I Skryfetiket na partisie a.
LTFS11278I Skryf indeks na partisie a.
LTFS30808I READ_ATTR (0x8c) gee -20501 terug.
LTFS30865I READ_ATTR gee Ongeldige Veld in CDB (-20501) 0 terug.
LTFS30836I Kan nie kenmerk lees nie (-20501).
LTFS11336I Die kenmerk bestaan ​​nie. Ignoreer die verwagte fout.
LTFS17235I Skryf indeks van NO_BARCODE na 'n (Rede: Formaat, 0 lêers) 9068025555.
LTFS17236I Het indeks van GEEN_BARCODE (a, **********) geskryf.
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I Volumekapasiteit is 1425 GB.
LTFS30854I Logiese blokbeskerming is gedeaktiveer.
LTFS15024I Medium is suksesvol geformateer.

Monteer die geformateerde band:

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

Ons kry nog 'n paar minute se bestuur en diagnostiek:

307 LTFS14000I LTFS begin, LTFS weergawe 2.4.2.0 (10418), log vlak 2.
307 LTFS14058I LTFS-formaatspesifikasie weergawe 2.4.0.
307 LTFS14104I Geloods deur “ltfs /Volumes/LTFS/”.
307 LTFS14105I Hierdie binêre is gebou vir Mac OS X.
307 LTFS14106I GCC weergawe is 4.2.1 Versoenbare Apple Clang 4.1 ((merkers/Apple/clang-421.11.66)).
307 LTFS17087I Kernweergawe: Darwin Kernel Weergawe 19.4.0: Wo 4 Mrt 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Sinkronisering tipe is "tyd", sinkronisering tyd is 60 sek.
307 LTFS17085I-inprop: Laai "iokit"-band-agterkant.
307 LTFS17085I Plugin: Laai "verenigde" iosched backend.
307 LTFS14095I Stel die bandtoestel-skryf-enige plek-modus in om patroon-uitwerping te vermy.
307 LTFS30810I Maak 'n toestel oop deur iokit-bestuurder (0).
307 LTFS30814I Verkoper ID is IBM.
307 LTFS30815I Produk ID is 'ULT3580-TD5'.
307 LTFS30816I Fermware-hersiening is H976.
307 LTFS30817I Drive-reeks is **********.
307 LTFS17160I Maksimum toestelblokgrootte is 1048576.
307 LTFS11330I Laai patroon.
307 LTFS30854I Logiese blokbeskerming is gedeaktiveer.
307 LTFS11332I Laai suksesvol.
307 LTFS17157I Verander die aandrywerinstelling na skryf-enige plek-modus.
307 LTFS11005I Monteer die volume.
307 LTFS30854I Logiese blokbeskerming is gedeaktiveer.
307 LTFS17227I Tape-kenmerk: Verkoper = IBM.
307 LTFS17227I Tape-kenmerk: Toepassingsnaam = LTFS.
307 LTFS17227I Tape-kenmerk: Toepassingsweergawe = 2.4.2.0.
307 LTFS17227I Tape-kenmerk: Medium Label =.
307 LTFS17228I Tape-kenmerk: Tekslokalisering-ID = 0x81.
307 LTFS17227I Tape-kenmerk: Streepkode =.
307 LTFS17227I Tape-kenmerk: Toepassingsformaat Weergawe = 2.4.0.
307 LTFS17228I Tape-kenmerk: Volumeslotstatus = 0x00.
307 LTFS17227I Tape-kenmerk: Mediapoelnaam =.
307 LTFS14111I Aanvanklike opstelling suksesvol voltooi.
307 LTFS14112I Roep 'mount'-opdrag aan om die resultaat van finale opstelling na te gaan.
307 LTFS14113I Gespesifiseerde monteerpunt word gelys indien geslaag.

En hier is dit, ons lint op die lessenaar, genaamd Test(ltfs)! Die naamlose band sal OSXFUSE Volume 0 (ltfs) genoem word.

Nou kan jy daarmee werk.

Apple Mac en spoggerige toestelle. LTO, SAS, Fibre Channel, eSATA

Oor die algemeen moet u in gedagte hou dat dit raadsaam is om nie te veel te gebruik om die inhoud van bandgidse in die vindervensters te bekyk nie, aangesien dit 'n ongelooflike duur operasie vir LTFS is, maar dit is beter om met terminale opdragte te werk, of eenvoudig terug te stel die rugsteungids in grootmaat na die band, soos in die venster hierbo gewys.

Terloops, daar is 'n spesiaal geskrewe IBM-hulpprogram ltfs_copy en sy klone, wat ontwerp is vir meer doeltreffende kopiëring tussen band en skyf, maar tot dusver kon die skrywer dit nie in die publieke domein vind met 'n oppervlakkige soektog nie.

Jy kan die band ontkoppel met die opdrag:

umount /Volumes/LTFS

of gooi dit net in die asblik.

Trouens, daar is in die natuur 'n soort grafiese skulpe vir macOS om hierdie aksies te vergemaklik, maar moet ons na sulke perversies bang wees om 'n paar reëls in die terminaal te tik?

As 'n newe-effek kry ons die geleentheid om eksterne eSATA-aandrywers via 'n SAS/4*eSATA-kabel aan te sluit.

Apple Mac en spoggerige toestelle. LTO, SAS, Fibre Channel, eSATA

Bron: will.com

Voeg 'n opmerking