Apple Mac en fancy apparaten. LTO, SAS, Fiber Channel, eSATA

It ûnderwerp fan dit artikel is it ferbinen fan eksterne apparaten oan in Mac fia SAS, Fibre Channel (FC), eSATA-ynterfaces. Litte wy fuortendaliks sizze dat om it probleem fan tagong ta sokke apparaten op te lossen, d'r in manier is foar in sûne persoan: bouwe in goedkeape PC, plug in HBA SAS- of FC-controllerkaart yn (bygelyks in ienfâldige LSI-adapter), ferbine jo apparaten oan dizze controller, ynstallearje eltse Linux op 'e PC en wurkje fan Mac fia it netwurk. Mar dit is banaal en net ynteressant. Wy sille de hardcore-rûte gean en ús apparaten ferbine direkt oan Mac.

Wat wy hjirfoar nedich binne:
- in fatsoenlik bedrach fan jild te keapjen nije apparatuer, of goed gelok yn feilingen op eBay (dêr't, mei in bytsje muoite, kinne jo keapje de fereaske apparatuer fan eardere generaasjes 10 kear goedkeaper as de list priis);
- Dit artikel.

Om te wurkjen mei magnetyske tape (no hast universeel fertsjintwurdige yn it LTO-formaat), moatte jo in LTO-tapedrive (streamer) of tapebibleteek hawwe. Dit is in frij djoer apparaat foar de earste oankeap (fan hûnderttûzenen roebels), mar wurdich in ridlik bedrach fan jild by it keapjen fan brûkt. Sûnt LTO generaasjes feroarje likernôch elke twa jier, en komptabiliteit is beheind ta twa generaasjes, de fuortset merk is frij verzadigd mei wurkbere apparaten fjouwer jier of mear âld, d.w.s. de generaasje foar lêste en fierder. As jo ​​​​in nij apparaat keapje foar kommersjele doelen, dan begripe jo sels wêrom't jo it nedich hawwe. As jo ​​​​wolle keapje foar jo hûs en famylje, kinne jo dizze opsje beskôgje as in manier om ynformaasje te argivearjen (om't de media sels heul goedkeap binne per 1 gigabyte).

Fanôf de LTO-5-generaasje (en foar in part LTO-4) wurde apparaten foar it wurkjen mei magnetyske tape yn hardware ferbûn mei de kompjûter fia in SAS- of FC-ynterface (meastentiids binne d'r twa ferzjes fan elk apparaat)

Oan 'e oare kant biedt Apple ús freonlik in USB-C-ynterface yn ús Mac (wurket mei de USB-, Thunderbolt 3- of DisplayPort-protokollen), soms in Ethernet-ynterface, lykas ek eigen Thunderbolt 3 - Thunderbolt 2 en Thunderbolt - FireWire 800 adapters.

Dwaalstân? Net wirklik. Gelokkich kin Thunderbolt operearje yn PCIe modus en tastean PCIe kaarten wurde ferbûn op deselde wize as oft se waarden ynstallearre direkt binnen de kompjûter gefal. Hjirtroch is elke útwreiding fan 'e Mac-hardwarekonfiguraasje mooglik, mits d'r in passende adapter en sjauffeurs binne.

Konseptueel is de ienfâldichste manier om it probleem op te lossen in eksterne doaze foar PCIe-adapters mei in Thunderbolt-ynterface (PCIe-kaart-útwreidingssysteem), wêryn jo in SAS- of FC Host-busadapter (HBA) kinne ynstallearje. Bygelyks, sokke doazen wurde produsearre troch it bedriuw Sonnet en guon oaren. D'r is hjir in nuânse: net elke controller is geskikt foar ús, mar allinich ien dy't in stjoerprogramma hat foar macOS. D'r binne mar in pear sokke boards, en de goedkeapste en populêrste (bygelyks deselde LSI) binne net opnommen yn har nûmer. Gelokkich naam Sonnet de muoite om te kompilearjen komptabiliteit tabel PCIe kaarten mei ferskate OS fia Thunderbolt ynterface.

In oare oplossing is om in klearmakke Thunderbolt - SAS of Thunderbolt - FC-ynterface-omrekkener te keapjen, dy't, yn feite, in klearmakke gearstalling fan in doaze en in controller is. De meast ferneamde bedriuw yn dit gebiet atto, mar der binne ek produkten fan oare bedriuwen.

Tink derom dat net alle SAS- en FC-controllers binne sertifisearre om te foldwaan oan de LTO-standert, om't dit op himsels jild kostet. Guon fabrikanten skriuwe direkt dat har controllers net binne ûntworpen om te wurkjen mei tapedrives.

Om it byld te foltôgjen, konstatearje wy dat mLogic produsearret arranzjemint, dat is in IBM LTO-8 drive yn in eksterne saak, dêr't fuortendaliks in SAS nei Thunderbolt 3 converter wurdt yntegrearre. Dit is lykwols in noch mear eksoatyske ding as alles beskreaun hjirboppe, benammen nei de noarmen fan ús regio. Ik twifelje oan dat dit apparaat sels legaal kin wurde ymportearre yn Ruslân (LTO-skiven befetsje kryptografyske funksjes, en fabrikanten lykas IBM en HP krije FSB-ymportfergunning foar elk model om dizze reden).

Folgjende, wy sille beskôgje, as foarbyld, in spesifike set fan apparatuer, de eigner dêr't de skriuwer waard as gefolch fan ferskate suksesfolle oanwinsten, mar it algemiene prinsipe moat wurde hanthavene foar alle opsjes.

Sa hawwe wy de folgjende apparatuer foar wurkjen mei tape:
- Apple Mac mini 2018-kompjûter mei macOS 10.15 Catalina, mei USB-C-poarten mei Thunderbolt 3-stipe;
- Apple Thunderbolt 3 / Thunderbolt 2-adapter;
- Apple Thunderbolt 2 kabel;
- ATTO ThunderLink SH 1068 ynterface converter (2 * Thunderbolt / 2 * SAS-2);
- SAS kabel SFF-8088 - SFF-8088;
- tape drive LTO-5 IBM TS2350;
- LTO-5 cartridges, skjinmeitsjen cartridge.

No, sa't se sizze, mei al dit spul sille wy besykje ôf te nimmen.

Wy downloade fan 'e ATTO-webside de lêste ferzje fan' e ThunderLink SH 1068-bestjoerder (blykber, foar ús gemak, is it kombinearre mei de SH 2068-bestjoerder en leit yn 'e seksje 2068, dy't allinich binnen it argyf mei de sjauffeur is skreaun) en de ATTO konfiguraasje nut.

Apple Mac en fancy apparaten. LTO, SAS, Fiber Channel, eSATA

De bestjoerder, fansels, moat ynstallaasje. Foardat sokke aksjes advisearret de skriuwer om altyd in momintopname te nimmen fan it APFS-bestânsysteem fan 'e bootdisk mei it kommando

tmutil localsnapshot

of in reservekopy fan de boot skiif, as it hat HFS +. Do wist it mar noait. Dan sil it maklik wêze om werom te rôljen fan 'e momintopname.

Folgjende sil de sûnder ûnderfining, mar due diligence geast sûnder mis oanstriid wêze om de ynstallaasje-ynstruksjes fan ATTO-bestjoerder sekuer te lêzen en se te folgjen. As gefolch - tadam! - wy krije in bestjoeringssysteem dat hinget by it laden stadium. Hjir kinne wy ​​​​in momintopname nedich wêze wêrfan wy kinne herstelle troch Time machine te roppen fan 'e herstelpartysje, of fan deselde herstelpartysje kinne wy ​​​​de sike kext manuell wiskje út' e map foar kernel-útwreidings (de auteur advisearret dit oer it algemien net te dwaan).

Wêrom bart dit? Om't Apple foar ús soarge. Yn resinte ferzjes fan macOS kinne jo net maklik frjemde koade ynjeksje yn it opstartproses. De goede Apple-programmeurs hawwe dit destruktyf gedrach blokkearre. Krekter, se blokkearre it healwei, doe't de ferwachting fan de bestjoerder wurdt útfierd, mar de bestjoerder sels is net, dus alles befriest gewoan.

Wat moat in ferfine geast dwaan foardat jo in bestjoerder ynstallearje? Jou earst it kommando:

csrutil status

As wy dêrop antwurdzje:

Status fan beskerming fan systeemintegriteit: ynskeakele.

dan betsjut dit dat de goede Apple programmeurs soarch oer ús, dus neat sil wurkje út foar ús oant wy útskeakelje harren prachtige beskerming. Om dit te dwaan, opnij opstarte nei de herstelpartition (⌘R), skilje de terminal en jou it kommando út:

csrutil disable

Hjirnei wurde wy opnij starte yn it wurksysteem, en allinich dan de bestjoerder ynstalleare, en tagelyk it ATTO-konfiguraasjeprogramma (yn prinsipe is it konfiguraasjeprogramma allinich nedich foar diagnoaze en is net nedich by normale operaasje). Underweis, as frege, befêstigje wy de ATTO-autorisaasje yn 'e systeemynstellingen. Nei ynstallaasje kinne jo opnij starte yn 'e herstelpartition en it kommando jaan

csrutil enable

Apple soarget wer foar ús.

No hawwe wy in bestjoerder-stipe ynterface foar eksterne SAS-apparaten (as FC, as in FC-konverter waard brûkt). Mar hoe om te wurkjen mei tape op it logyske nivo?

Lykas de sûnder ûnderfining, mar erudite geast wit, stipet elk Unix-kompatibel systeem tapedrives op it nivo fan 'e kearn en basissysteemprogramma's, dy't yn it foarste plak mt (tapebehear) en tar (archiver dy't wurkje mei argiven op tape stipet) omfetsje. Wat kin lykwols in ferfine geast hjiroer sizze? Elk Unix-kompatibel systeem, útsein macOS. Apple soarge foar ús troch stipe foar tape-apparaten fan har koade te ferwiderjen.

Mar is it wirklik ûnmooglik om dizze koade werom te jaan troch standert iepen boarne Unix-hulpprogramma's te portearjen nei macOS? It goede nijs is dat Tolis (dêr't ik net nei keppelje) dit al dien hat yn har produkt Tolis Tape Tools. It minne nijs is dat it neamde bedriuw $ 399 kostet om de resultaten fan har wurk te brûken. Skattingen fan dit feit kinne ferskille, mar de skriuwer persoanlik is net ree om ien 400 dollar te beteljen foar in koade dy't meast skreaun is troch folslein oare minsken en sûnt de jierren '1970 yn iepen gebrûk west hat, en dêrom stelt de skriuwer dizze fraach foar himsels achtet sletten. (Trouwens, d'r is in fergees projekt ferlitten yn in vage steat op Github IOSCSITape oer itselde ûnderwerp).

Gelokkich is der de IBM Corporation yn 'e wrâld, waans kommersjele appetiten binne op in folslein oare skaal, en dus net manifestearje harsels yn elk lyts ding. Benammen ûntwikkele it iepenboarne LTFS-tape-bestânsysteem, dat ek wurdt ferspraat foar macOS.

De warskôging hjir is dat ferskate fabrikanten fan tape-apparaten har eigen ferzjes fan LTFS frijjaan om har apparaten te stypjen. Sûnt de skriuwer brûkt in IBM tape drive, hy ynstallearre LTFS út IBM. Driven fan tredden kinne har eigen LTFS-poarten fereaskje. En d'r is in universele ymplemintaasje fan openLTFS op Github en Homebrew.

It is wichtich foar ús dat LTFS de funksje foar mediapartitioning brûkt, en kin dêrom wurkje mei apparaten en cartridges fanôf de LTO-5-generaasje.

Dat, yn ús gefal, downloade wy de IBM Spectrum Archive Single Drive Edition foar macOS fan 'e IBM-webside, dy't de LTFS-ymplemintaasje omfettet. Sûnder aventoeren ynstallearje wy it produkt mei syn eigen ynstallearder. Underweis ynstalleart hy ek it FUSE-pakket, en yn 'e systeemynstellingen sil hy de autorisaasje moatte befestigje fan in tûke programmeur neamd Anatol Pomozov, op wa't yn dit gefal de hiele IBM hinget. Respekt en respekt foar dizze man.

It is oan te rieden om de rigel fuortendaliks yn it bestân /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local te skriuwen:

opsje single-drive sync_type=tiid@1

dy't spesifisearret dat de tape standert is monteard en de opnamebuffer wurdt weromset nei 1 minút fan ynaktiviteit (standert is 5 minuten).

Apple Mac en fancy apparaten. LTO, SAS, Fiber Channel, eSATA

Uteinlik is alles klear om te ferbinen. Wy ferbine de keatling: Mac - T3 / T2 adapter - Thunderbolt kabel - ATTO converter - SAS kabel - tape drive (de kar fan ferskate havens op de Mac, converter en drive is net wichtich). Skeakelje de macht fan 'e converter. Skeakelje de macht oan 'e tape drive. Wy wachtsje op it stasjon om inisjalisaasje te foltôgjen neffens syn oantsjutting.

Wy jouwe it kommando:

ltfs -o device_list

Hoera! Wy krije (op 'e gewoane IBM-diagnostyske manier):

307 LTFS14000I LTFS begjint, LTFS ferzje 2.4.2.0 (10418), log nivo 2.
307 LTFS14058I LTFS Format Specification ferzje 2.4.0.
307 LTFS14104I Lansearre troch "ltfs -o device_list".
307 LTFS14105I Dit binêr is boud foar Mac OS X.
307 LTFS14106I GCC ferzje is 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kernelferzje: Darwin Kernel Ferzje 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Loading "iokit" tape backend.
List fan tapeapparaten:.
Apparaatnamme = 0, Vendor ID = IBM, Produkt ID = ULT3580-TD5, Serial Number = **********, Produktnamme = [ULT3580-TD5].

Foegje de kassette yn, wachtsje oant it is laden en formatearje:

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

Hjir spesifisearret de parameter -d it stasjonnûmer (altyd nul as it de iennichste is, mar kin net weilitten wurde yn dit kommando), -n is de tape namme (jo kinne it weglitte), en de parameter -r fereasket it pleatsen fan de ynhâld fan .DS_Store triemmen dy't net mear as de grutte 10 megabytes, yn de yndeks (dat wol sizze, bedoeld foar mappen) seksje fan de tape ynstee fan de gegevens seksje.

Mysterieuze libben begûn yn de tape drive. Wy wachtsje in pear minuten en krije it folgjende antwurd:

LTFS15000I Starting mkltfs, LTFS ferzje 2.4.2.0 (10418), log nivo 2.
LTFS15041I Lansearre troch "mkltfs -d 0 -nTest -r grutte = 10M / namme = .DS_Store".
LTFS15042I Dit binêr is boud foar Mac OS X.
LTFS15043I GCC ferzje is 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Kernelferzje: Darwin Kernel Ferzje 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Opmaakapparaat '0'.
LTFS15004I LTFS folume blokgrutte: 524288.
LTFS15005I Yndeks partition pleatsing belied: grutte = 10M / namme = .DS_Store.

LTFS11337I Update yndekssmoarge flagge (1) - NO_BARCODE (0x0x1021081e0).
LTFS17085I Plugin: Loading "iokit" tape backend.
LTFS30810I In apparaat iepenje fia iokit-bestjoerder (0).
LTFS30814I Vendor ID is IBM.
LTFS30815I Produkt ID is 'ULT3580-TD5'.
LTFS30816I Firmware revyzje is H976.
LTFS30817I Drive serial is **********.
LTFS17160I De maksimale apparaatblokgrutte is 1048576.
LTFS11330I Loading cartridge.
LTFS30854I Logyske blokbeskerming is útskeakele.
LTFS11332I Laden suksesfol.
LTFS17157I It feroarjen fan de stasjon ynstelling nei skriuw-oeral modus.
LTFS15049I Kontrolearje it medium (mount).
LTFS30854I Logyske blokbeskerming is útskeakele.
LTFS15010I Gegevenspartition b oanmeitsje op SCSI-partysje 1.
LTFS15011I It meitsjen fan yndekspartysje a op SCSI-partysje 0.
LTFS17165I Reset it medium syn kapasiteit oanpart.
LTFS11097I Partitioning it medium.
LTFS11100I Skriuwlabel nei partition b.
LTFS11278I Skriuwindeks nei partition b.
LTFS30808I READ_ATTR (0x8c) jout -20501.
LTFS30865I READ_ATTR jout Unjildich fjild yn CDB (-20501) 0.
LTFS30836I Kin attribút net lêze (-20501).
LTFS11336I It attribút bestiet net. Negearje de ferwachte flater.
LTFS17235I Skriuwindeks fan NO_BARCODE nei b (Reden: Opmaak, 0 triemmen) **********.
LTFS17236I Skreau yndeks fan NO_BARCODE (b, **********).
LTFS11337I Update yndekssmoarge flagge (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Skriuwen label nei partition a.
LTFS11278I Skriuwindeks nei partition a.
LTFS30808I READ_ATTR (0x8c) jout -20501.
LTFS30865I READ_ATTR jout Unjildich fjild yn CDB (-20501) 0.
LTFS30836I Kin attribút net lêze (-20501).
LTFS11336I It attribút bestiet net. Negearje de ferwachte flater.
LTFS17235I Skriuwindeks fan NO_BARCODE nei in (Reden: Format, 0 triemmen) 9068025555.
LTFS17236I Skreau yndeks fan NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I Volume kapasiteit is 1425 GB.
LTFS30854I Logyske blokbeskerming is útskeakele.
LTFS15024I Medium mei súkses opmakke.

Befestigje de opmakke tape:

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

Wy krije noch in pear minuten fan drive-operaasje en diagnostyk:

307 LTFS14000I LTFS begjint, LTFS ferzje 2.4.2.0 (10418), log nivo 2.
307 LTFS14058I LTFS Format Specification ferzje 2.4.0.
307 LTFS14104I Lansearre troch "ltfs /Volumes/LTFS/".
307 LTFS14105I Dit binêr is boud foar Mac OS X.
307 LTFS14106I GCC ferzje is 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kernelferzje: Darwin Kernel Ferzje 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Sync type is "tiid", Sync tiid is 60 sek.
307 LTFS17085I Plugin: Loading "iokit" tape backend.
307 LTFS17085I Plugin: Laden "unifoarme" iosched backend.
307 LTFS14095I Stel it tapeapparaat skriuw-oeral modus yn om cartridge-útwerp te foarkommen.
307 LTFS30810I In apparaat iepenje fia iokit-bestjoerder (0).
307 LTFS30814I Vendor ID is IBM.
307 LTFS30815I Produkt ID is 'ULT3580-TD5'.
307 LTFS30816I Firmware ferzje is H976.
307 LTFS30817I Drive serial is **********.
307 LTFS17160I Maksimale apparaatblokgrutte is 1048576.
307 LTFS11330I Loading cartridge.
307 LTFS30854I Logyske blokbeskerming is útskeakele.
307 LTFS11332I Laden suksesfol.
307 LTFS17157I It feroarjen fan de stasjon ynstelling nei skriuw-oeral modus.
307 LTFS11005I Mounting it folume.
307 LTFS30854I Logyske blokbeskerming is útskeakele.
307 LTFS17227I Tape attribút: Ferkeaper = IBM.
307 LTFS17227I Tape attribút: Applikaasje Namme = LTFS.
307 LTFS17227I Tape attribút: Applikaasje Ferzje = 2.4.2.0.
307 LTFS17227I Tape attribút: Medium Label =.
307 LTFS17228I Tape attribút: Tekst Lokalisaasje ID = 0x81.
307 LTFS17227I Tape attribút: Barcode =.
307 LTFS17227I Tape attribút: Application Format Ferzje = 2.4.0.
307 LTFS17228I Tape attribút: Volume Lock Status = 0x00.
307 LTFS17227I Tape attribút: Media Pool namme =.
307 LTFS14111I Inisjele opset mei súkses foltôge.
307 LTFS14112I Rope 'mount' kommando op om it resultaat fan definitive opset te kontrolearjen.
307 LTFS14113I Oantsjutte berchpunt wurdt oanjûn as slagge.

En hjir is it, ús lint op it buroblêd, neamd Test(ltfs)! De net neamde tape sil wurde neamd OSXFUSE Volume 0 (ltfs).

No kinne jo der mei wurkje.

Apple Mac en fancy apparaten. LTO, SAS, Fiber Channel, eSATA

Yn 't algemien moatte jo yn gedachten hâlde dat it net oan te rieden is om de ynhâld fan tape-mappen te besjen yn' e finder-finsters, om't dit in ongelooflijk djoere operaasje is foar LTFS, mar it is better om te wurkjen mei terminalkommando's, of gewoan weromsette de reservekopy triemtafel yn bulk nei de tape, lykas werjûn yn it finster hjirboppe.

Trouwens, d'r is in spesjaal skreaun IBM-hulpprogramma ltfs_copy en syn klonen, ûntwurpen foar effisjinter kopiearjen tusken tape en skiif, mar oant no ta hat de skriuwer se net yn it publike domein fûn mei in oerflakkich sykjen.

Jo kinne de tape demontearje mei it kommando:

umount /Volumes/LTFS

of smyt it gewoan yn it jiskefet.

Yn feite binne d'r yn 'e natuer wat soarte grafyske skelpen foar macOS om dizze aksjes te fasilitearjen, mar moatte wy nei sokke perversjes bang wêze om in pear rigels yn' e terminal te typen?

As side-effekt krije wy de kâns om eksterne eSATA-skiven te ferbinen fia in SAS / 4 * eSATA-kabel.

Apple Mac en fancy apparaten. LTO, SAS, Fiber Channel, eSATA

Boarne: www.habr.com

Add a comment