Apple Mac i dispositius de luxe. LTO, SAS, Fibre Channel, eSATA

El tema d'aquest article és connectar dispositius externs a un Mac mitjançant interfícies SAS, Fibre Channel (FC), eSATA. Diguem immediatament que per resoldre el problema d'accedir a aquests dispositius, hi ha una manera per a una persona sana: construir un ordinador barat, connectar una targeta controladora HBA SAS o FC (per exemple, un adaptador LSI senzill), connectar els vostres dispositius a aquest controlador, instal·leu qualsevol Linux al PC i treballeu des de Mac a través de la xarxa. Però això és banal i poc interessant. Anirem per la ruta hardcore i connectarem els nostres dispositius directament a Mac.

Què necessitem per a això:
– una quantitat decent de diners per comprar equip nou, o bona sort a les subhastes a eBay (on, amb una mica d'esforç, podeu comprar l'equip necessari de generacions anteriors 10 vegades més barat que el preu de llista);
- Aquest article.

Per treballar amb cinta magnètica (ara representada gairebé universalment en el format LTO), heu de tenir una unitat de cinta LTO (streamer) o una biblioteca de cintes. Aquest és un dispositiu bastant car per a la compra inicial (a partir de centenars de milers de rubles), però que val una quantitat raonable de diners quan es compra usat. Com que les generacions LTO canvien aproximadament cada dos anys i la compatibilitat es limita a dues generacions, el mercat secundari està bastant saturat de dispositius viables de quatre anys o més, és a dir. la generació anterior i més enllà. Si compres un dispositiu nou amb finalitats comercials, llavors vostè mateix entén per què el necessita. Si voleu comprar per a la vostra llar i família, podeu considerar aquesta opció com una manera d'arxivar informació (ja que els mitjans en si són molt econòmics per 1 gigabyte).

A partir de la generació LTO-5 (i en part LTO-4), els dispositius per treballar amb cinta magnètica es connecten al maquinari a l'ordinador mitjançant una interfície SAS o FC (normalment hi ha dues versions de cada dispositiu)

D'altra banda, Apple ens ofereix amablement una interfície USB-C al nostre Mac (funcionant amb els protocols USB, Thunderbolt 3 o DisplayPort), de vegades una interfície Ethernet, així com Thunderbolt 3 - Thunderbolt 2 i Thunderbolt - FireWire 800 propietaris. adaptadors.

Estancament? No realment. Afortunadament, Thunderbolt pot funcionar en mode PCIe i permet que les targetes PCIe es connectin de la mateixa manera que si s'instal·lessin directament a la carcassa de l'ordinador. Per això, qualsevol ampliació de la configuració del maquinari del Mac és possible, sempre que hi hagi un adaptador i controladors adequats.

Conceptualment, la manera més senzilla de resoldre el problema és una caixa externa per a adaptadors PCIe amb una interfície Thunderbolt (sistema d'expansió de targetes PCIe), en la qual podeu instal·lar un adaptador de bus SAS o FC Host (HBA). Per exemple, aquestes caixes són produïdes per l'empresa sonet i alguns altres. Aquí hi ha un matís: no tots els controladors són adequats per a nosaltres, sinó només un que té un controlador per a macOS. Només hi ha uns quants taulers d'aquest tipus, i els més barats i populars (per exemple, el mateix LSI) no estan inclosos en el seu nombre. Afortunadament, Sonnet es va prendre la molèstia de compilar taula de compatibilitat Targetes PCIe amb diferents sistemes operatius mitjançant la interfície Thunderbolt.

Una altra solució és comprar un convertidor d'interfície Thunderbolt - SAS o Thunderbolt - FC preparat, que, de fet, és un conjunt ja fet d'una caixa i un controlador. L'empresa més famosa d'aquesta zona ATTO, però també hi ha productes d'altres empreses.

Tingueu en compte que no tots els controladors SAS i FC estan certificats per complir amb l'estàndard LTO, ja que això en si mateix costa diners. Alguns fabricants escriuen directament que els seus controladors no estan dissenyats per funcionar amb unitats de cinta.

Per completar la imatge, observem que mLogic produeix устройство, que és una unitat IBM LTO-8 en una carcassa externa, en la qual s'integra immediatament un convertidor SAS a Thunderbolt 3. Això, però, és una cosa encara més exòtica que tot el que s'ha descrit anteriorment, especialment pels estàndards de la nostra regió. Dubto que aquest dispositiu fins i tot es pugui importar legalment a Rússia (les unitats LTO contenen funcions criptogràfiques i fabricants com IBM i HP reben el permís d'importació FSB per a cada model per aquest motiu).

A continuació, considerarem, com a exemple, un conjunt específic d'equips, el propietari del qual es va convertir l'autor com a resultat de diverses adquisicions reeixides, però el principi general s'ha de mantenir per a totes les opcions.

Així doncs, disposem dels següents equips per treballar amb cinta:
– Ordinador Apple Mac mini 2018 amb macOS 10.15 Catalina, amb ports USB-C amb suport Thunderbolt 3;
– Adaptador Apple Thunderbolt 3 / Thunderbolt 2;
- Cable Apple Thunderbolt 2;
– Convertidor d'interfície ATTO ThunderLink SH 1068 (2 * Thunderbolt / 2 * SAS-2);
– Cable SAS SFF-8088 – SFF-8088;
– unitat de cinta LTO-5 IBM TS2350;
– Cartutxos LTO-5, cartutx de neteja.

Ara, com diuen, amb totes aquestes coses intentarem enlairar-nos.

Des del lloc web d'ATTO, descarreguem la darrera versió del controlador ThunderLink SH 1068 (aparentment, per a la nostra comoditat, es combina amb el controlador SH 2068 i es troba a la secció 2068, que només està escrit a l'arxiu amb el controlador) i el Utilitat de configuració ATTO.

Apple Mac i dispositius de luxe. LTO, SAS, Fibre Channel, eSATA

El conductor, per descomptat, necessita instal·lació. Abans d'aquestes accions, l'autor aconsella fer sempre una instantània del sistema de fitxers APFS del disc d'arrencada amb l'ordre

tmutil localsnapshot

o una còpia de seguretat del disc d'arrencada, si té HFS+. Mai se sap. Aleshores serà fàcil retrocedir des de la instantània.

A continuació, la ment sense experiència però amb diligència deguda s'inclinarà sens dubte a llegir atentament les instruccions d'instal·lació del controlador ATTO i seguir-les. Com a resultat - tadam! – obtenim un sistema operatiu que es penja en l'etapa de càrrega. Aquí és possible que necessitem una instantània des de la qual podem recuperar-nos trucant a Time Machine des de la partició de recuperació, o des de la mateixa partició de recuperació podem esborrar manualment el kext malalt del directori d'extensions del nucli (l'autor generalment no recomana fer-ho).

Per què passa això? Perquè Apple ens va cuidar. A les versions recents de macOS, no podeu injectar codi estranger fàcilment al procés d'arrencada. Els bons programadors d'Apple han bloquejat aquest comportament destructiu. Més precisament, el van bloquejar a mig camí, quan s'implementa l'expectativa del conductor, però el conductor en si no ho és, de manera que tot es congela.

Què ha de fer una ment sofisticada abans d'instal·lar un controlador? Primer, doneu l'ordre:

csrutil status

Si com a resposta rebem:

Estat de protecció d'integritat del sistema: activat.

Aleshores, això vol dir que els bons programadors d'Apple es preocupen per nosaltres, així que res no ens sortirà bé fins que desactivem la seva meravellosa protecció. Per fer-ho, reinicieu a la partició de recuperació (⌘R), truqueu al terminal i emeteu l'ordre:

csrutil disable

Després d'això, reiniciem el sistema de treball i només després instal·lem el controlador i, al mateix temps, la utilitat de configuració ATTO (en principi, la utilitat de configuració només es necessita per al diagnòstic i no és necessària durant el funcionament normal). Al llarg del camí, quan se'ls demana, confirmem l'autorització ATTO a la configuració del sistema. Després de la instal·lació, podeu reiniciar de nou a la partició de recuperació i donar l'ordre

csrutil enable

Apple torna a tenir cura de nosaltres.

Ara tenim una interfície compatible amb controladors per a dispositius SAS externs (o FC, si es va utilitzar un convertidor FC). Però, com treballar amb cinta a nivell lògic?

Com sap la ment inexperta però erudita, qualsevol sistema compatible amb Unix admet unitats de cinta a nivell del nucli i les utilitats bàsiques del sistema, que inclouen principalment mt (gestió de cintes) i tar (arxivador que admet treballar amb arxius en cinta). Tanmateix, què pot dir una ment sofisticada sobre això? Qualsevol sistema compatible amb Unix, excepte macOS. Apple va tenir cura de nosaltres eliminant el suport per a dispositius de cinta del seu codi.

Però, és realment impossible tornar aquest codi portant les utilitats Unix estàndard de codi obert a macOS? La bona notícia és que Tolis (a la qual no estic enllaçant) ja ho ha fet al seu producte Tolis Tape Tools. La mala notícia és que l'empresa esmentada costa 399 dòlars per utilitzar els resultats del seu treball. Les estimacions d'aquest fet poden variar, però l'autor personalment no està disposat a pagar a algú 400 dòlars per un codi que va ser escrit principalment per persones completament diferents i que s'ha utilitzat obertament des de la dècada de 1970 i, per tant, l'autor es fa aquesta pregunta per ell mateix. considera tancat. (Per cert, hi ha un projecte gratuït abandonat en un estat vague a Github IOSCSITape sobre el mateix tema).

Afortunadament, hi ha la corporació IBM al món, els apetits comercials de la qual són a una escala completament diferent i, per tant, no es manifesten en totes les petites coses. En particular, va desenvolupar el sistema de fitxers de cintes LTFS de codi obert, que també es distribueix per a macOS.

L'advertència aquí és que diferents fabricants de dispositius de cinta publiquen les seves pròpies versions d'LTFS per donar suport als seus dispositius. Com que l'autor utilitza una unitat de cinta IBM, va instal·lar LTFS d'IBM. Les unitats de tercers poden requerir els seus propis ports LTFS. I hi ha una implementació universal d'openLTFS a Github i Homebrew.

És important per a nosaltres que LTFS utilitzi la funció de partició de mitjans i, per tant, pugui funcionar amb dispositius i cartutxos a partir de la generació LTO-5.

Per tant, en el nostre cas, descarreguem l'IBM Spectrum Archive Single Drive Edition per a macOS del lloc web d'IBM, que inclou la implementació LTFS. Sense cap aventures, instal·lem el producte amb el seu propi instal·lador. Durant el camí, també instal·la el paquet FUSE, i a la configuració del sistema haurà de confirmar l'autorització d'un programador intel·ligent anomenat Anatol Pomozov, de qui en aquest cas depèn tot l'IBM. Respecte i respecte a aquest home.

És recomanable escriure immediatament la línia al fitxer /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

opció single-drive sync_type=time@1

que especifica que la cinta està muntada per defecte i la memòria intermèdia d'enregistrament es restableix després d'1 minut d'inactivitat (per defecte és de 5 minuts).

Apple Mac i dispositius de luxe. LTO, SAS, Fibre Channel, eSATA

Finalment, tot està a punt per connectar-se. Connectem la cadena: Mac – adaptador T3/T2 – cable Thunderbolt – convertidor ATTO – cable SAS – unitat de cinta (l'elecció de diversos ports al Mac, convertidor i unitat no és important). Enceneu l'alimentació del convertidor. Enceneu la unitat de cinta. Esperem que la unitat completi la inicialització segons la seva indicació.

Donem l'ordre:

ltfs -o device_list

Hura! Obtenim (de la manera habitual de diagnòstic d'IBM):

307 LTFS14000I Inici de LTFS, versió LTFS 2.4.2.0 (10418), nivell de registre 2.
307 LTFS14058I Especificació de format LTFS versió 2.4.0.
307 LTFS14104I Llançat per "ltfs -o llista_dispositius".
307 LTFS14105I Aquest binari està creat per a Mac OS X.
307 La versió LTFS14106I GCC és 4.2.1 Compatible amb Apple Clang 4.1 ((etiquetes/Apple/clang-421.11.66)).
307 LTFS17087I Versió del nucli: Versió del nucli de Darwin 19.4.0: dimecres 4 de març 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 Connector LTFS17085I: s'està carregant el backend de la cinta “iokit”.
Llista de dispositius de cinta:.
Nom del dispositiu = 0, ID del proveïdor = IBM, ID del producte = ULT3580-TD5, Número de sèrie = **********, Nom del producte = [ULT3580-TD5].

Inseriu el casset, espereu que es carregui i formateu:

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

Aquí el paràmetre -d especifica el número de la unitat (sempre zero si és l'únic, però no es pot ometre en aquesta ordre), -n és el nom de la cinta (podeu ometre-lo) i el paràmetre -r requereix col·locar el contingut de fitxers .DS_Store que no superin la mida de 10 megabytes, a la secció d'índex (és a dir, destinats a directoris) de la cinta en lloc de la secció de dades.

La vida misteriosa va començar a la unitat de cinta. Esperem un parell de minuts i rebem la següent resposta:

LTFS15000I Iniciant mkltfs, versió LTFS 2.4.2.0 (10418), nivell de registre 2.
LTFS15041I Llançat per "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Aquest binari està creat per a Mac OS X.
La versió LTFS15043I GCC és 4.2.1 Compatible Apple Clang 4.1 ((etiquetes/Apple/clang-421.11.66)).
LTFS17087I Versió del nucli: Versió del nucli de Darwin 19.4.0: dimecres 4 de març 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Format del dispositiu '0'.
LTFS15004I Mida del bloc de volum LTFS: 524288.
LTFS15005I Política d'ubicació de particions d'índex: mida=10M/nom=.DS_Store.

LTFS11337I Actualitza la marca d'índex brut (1) - NO_BARCCODE (0x0x1021081e0).
Connector LTFS17085I: s'està carregant el backend de la cinta “iokit”.
LTFS30810I Obertura d'un dispositiu mitjançant el controlador iokit (0).
L'ID de proveïdor LTFS30814I és IBM.
L'identificador de producte LTFS30815I és "ULT3580-TD5".
LTFS30816I La revisió del firmware és H976.
La sèrie de la unitat LTFS30817I és *********.
LTFS17160I La mida màxima del bloc del dispositiu és 1048576.
LTFS11330I Cartutx de càrrega.
LTFS30854I La protecció del bloc lògic està desactivada.
LTFS11332I S'ha carregat correctament.
LTFS17157I Canviar la configuració de la unitat al mode d'escriptura en qualsevol lloc.
LTFS15049I Comprovació del mitjà (muntatge).
LTFS30854I La protecció del bloc lògic està desactivada.
LTFS15010I Creació de la partició de dades b a la partició SCSI 1.
LTFS15011I S'està creant una partició d'índex a a la partició SCSI 0.
LTFS17165I Restabliment de la proporció de capacitat del mitjà.
LTFS11097I Particionament del mitjà.
LTFS11100I Escriptura de l'etiqueta a la partició b.
LTFS11278I Escriptura de l'índex a la partició b.
LTFS30808I READ_ATTR (0x8c) retorna -20501.
LTFS30865I READ_ATTR retorna un camp no vàlid a CDB (-20501) 0.
LTFS30836I No es pot llegir l'atribut (-20501).
LTFS11336I L'atribut no existeix. Ignora l'error esperat.
LTFS17235I Escriptura de l'índex de NO_BARCCODE a b (Motiu: format, 0 fitxers) **********.
LTFS17236I S'ha escrit l'índex de NO_BARCCODE (b, **********).
LTFS11337I Actualitza la marca d'índex brut (0) - NO_BARCCODE (0x0x1021081e0).
LTFS11100I Escriptura de l'etiqueta a la partició a.
LTFS11278I Escriptura de l'índex a la partició a.
LTFS30808I READ_ATTR (0x8c) retorna -20501.
LTFS30865I READ_ATTR retorna un camp no vàlid a CDB (-20501) 0.
LTFS30836I No es pot llegir l'atribut (-20501).
LTFS11336I L'atribut no existeix. Ignora l'error esperat.
LTFS17235I Escriptura de l'índex de NO_BARCCODE a un (Motiu: format, 0 fitxers) 9068025555.
LTFS17236I S'ha escrit l'índex de NO_BARCCODE (a, *********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I La capacitat de volum és de 1425 GB.
LTFS30854I La protecció del bloc lògic està desactivada.
LTFS15024I El mitjà s'ha format correctament.

Munteu la cinta amb format:

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

Tenim un parell de minuts més de funcionament i diagnòstic de la unitat:

307 LTFS14000I Inici de LTFS, versió LTFS 2.4.2.0 (10418), nivell de registre 2.
307 LTFS14058I Especificació de format LTFS versió 2.4.0.
307 LTFS14104I Llançat per “ltfs /Volums/LTFS/”.
307 LTFS14105I Aquest binari està creat per a Mac OS X.
307 La versió LTFS14106I GCC és 4.2.1 Compatible amb Apple Clang 4.1 ((etiquetes/Apple/clang-421.11.66)).
307 LTFS17087I Versió del nucli: Versió del nucli de Darwin 19.4.0: dimecres 4 de març 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I El tipus de sincronització és "temps", el temps de sincronització és de 60 segons.
307 Connector LTFS17085I: s'està carregant el backend de la cinta “iokit”.
307 LTFS17085I Connector: S'està carregant el backend iosched “unificat”.
307 LTFS14095I Configureu el mode d'escriptura del dispositiu de cinta a qualsevol lloc per evitar l'expulsió del cartutx.
307 LTFS30810I Obertura d'un dispositiu mitjançant el controlador iokit (0).
307 LTFS30814I L'identificador de proveïdor és IBM.
307 LTFS30815I L'identificador del producte és "ULT3580-TD5".
307 LTFS30816I La revisió del microprogramari és H976.
307 LTFS30817I La sèrie de la unitat és *********.
307 LTFS17160I La mida màxima del bloc del dispositiu és 1048576.
307 LTFS11330I Cartutx de càrrega.
307 LTFS30854I La protecció del bloc lògic està desactivada.
307 LTFS11332I S'ha carregat correctament.
307 LTFS17157I Canviar la configuració de la unitat al mode d'escriptura a qualsevol lloc.
307 LTFS11005I Muntatge del volum.
307 LTFS30854I La protecció del bloc lògic està desactivada.
307 LTFS17227I Atribut de cinta: Proveïdor = IBM.
307 LTFS17227I Atribut de cinta: Nom de l'aplicació = LTFS.
307 LTFS17227I Atribut de la cinta: Versió de l'aplicació = 2.4.2.0.
307 LTFS17227I Atribut de la cinta: etiqueta mitjana =.
307 LTFS17228I Atribut de la cinta: ID de localització de text = 0x81.
307 LTFS17227I Atribut de la cinta: codi de barres =.
307 LTFS17227I Atribut de la cinta: Versió del format d'aplicació = 2.4.0.
307 LTFS17228I Atribut de la cinta: Estat de bloqueig de volum = 0x00.
307 LTFS17227I Atribut de la cinta: nom del grup de mitjans =.
307 LTFS14111I La configuració inicial s'ha completat correctament.
307 LTFS14112I Invoqueu l'ordre 'mount' per comprovar el resultat de la configuració final.
307 LTFS14113I El punt de muntatge especificat apareix a la llista si s'ha aconseguit.

I aquí està, la nostra cinta a l'escriptori, anomenada Test(ltfs)! La cinta sense nom s'anomenarà OSXFUSE Volum 0 (ltfs).

Ara pots treballar-hi.

Apple Mac i dispositius de luxe. LTO, SAS, Fibre Channel, eSATA

En general, cal tenir en compte que s'aconsella no fer un ús excessiu de la visualització del contingut dels directoris de cintes a les finestres del cercador, ja que es tracta d'una operació increïblement cara per a LTFS, però és millor treballar amb ordres del terminal, o simplement restablir. el directori de còpia de seguretat a granel a la cinta, tal com es mostra a la finestra anterior.

Per cert, hi ha una utilitat IBM especialment escrita ltfs_copy i els seus clons, dissenyada per a una còpia més eficient entre cinta i disc, però fins ara l'autor no ha pogut trobar-los de domini públic amb una cerca superficial.

Podeu desmuntar la cinta amb l'ordre:

umount /Volumes/LTFS

o simplement llençar-lo a les escombraries.

De fet, a la natura hi ha algun tipus d'intèrprets d'ordre gràfics per a macOS per facilitar aquestes accions, però després d'aquestes perversions, hem de tenir por d'escriure unes quantes línies al terminal?

Com a efecte secundari, tenim l'oportunitat de connectar unitats eSATA externes mitjançant un cable SAS/4*eSATA.

Apple Mac i dispositius de luxe. LTO, SAS, Fibre Channel, eSATA

Font: www.habr.com

Afegeix comentari