Apple Mac è i dispusitivi di fantasia. LTO, SAS, Fibre Channel, eSATA

U tema di questu articulu hè a cunnessione di i dispositi esterni à un Mac via SAS, Fibre Channel (FC), interfacce eSATA. Dicemu subitu chì per risolve u prublema di accede à tali dispusitivi, ci hè un modu per una persona sana: custruisce un PC economicu, inserisce una carta di cuntrollu HBA SAS o FC (per esempiu, un adattatore LSI simplice), cunnette i vostri dispositi à stu controller, stallà ogni Linux in u PC è travaglià da Mac via a reta. Ma questu hè banale è senza interessu. Andemu a strada hardcore è cunnette i nostri dispositi direttamente à Mac.

Ciò chì avemu bisognu per questu:
- una quantità decentu di soldi per cumprà novi equipaghji, o bona furtuna in l'asta in eBay (induve, cù un pocu sforzu, pudete cumprà l'equipaggiu necessariu di e generazioni precedenti 10 volte più prezzu di u prezzu di lista);
- Stu articulu.

Per travaglià cù a cinta magnetica (oghji quasi universale rapprisentata in u formatu LTO), duvete avè una unità di cinta LTO (streamer) o una libreria di cinta. Questu hè un dispositivu piuttostu caru per a compra iniziale (da centinaie di millaie di rubli), ma vale a pena una quantità raghjone di soldi quandu si compra utilizatu. Siccomu e generazioni LTO cambianu apprussimatamente ogni dui anni, è a cumpatibilità hè limitata à duie generazioni, u mercatu secundariu hè abbastanza saturatu cù i dispositi funzionali di quattru anni o più, i.e. a generazione prima di l'ultima è oltre. Sè cumprate un novu dispositivu per scopi cummirciali, allora avete capitu perchè avete bisognu. Se vulete cumprà per a vostra casa è a famiglia, pudete cunsiderà sta opzione cum'è una manera di archiviu l'infurmazioni (perchè i media stessi sò assai boni per 1 gigabyte).

Partendu da a generazione LTO-5 (è in parte LTO-4), i dispositi per travaglià cù cinta magnetica sò cunnessi in hardware à l'urdinatore via una interfaccia SAS o FC (di solitu ci sò duie versioni di ogni dispusitivu)

Per d 'altra banda, Apple ci furnisce gentilmente una interfaccia USB-C in u nostru Mac (travagliu cù i protokolli USB, Thunderbolt 3 o DisplayPort), à volte una interfaccia Ethernet, è ancu Thunderbolt 3 - Thunderbolt 2 è Thunderbolt - FireWire 800. adattatori.

Stallata? Micca essatamente. Fortunatamente, Thunderbolt pò operà in modu PCIe è permette à e carte PCIe di esse cunnessi in u listessu modu cum'è s'ellu eranu stallati direttamente in u casu di l'urdinatore. A causa di questu, ogni espansione di a cunfigurazione di hardware Mac hè pussibule, sempre chì ci hè un adattatore è driver appropritatu.

Conceptually, u modu più simplice per risolve u prublema hè una scatula esterna per adattatori PCIe cù una interfaccia Thunderbolt (sistema di espansione di carta PCIe), in quale pudete installà un SAS o FC Host bus adapter (HBA). Per esempiu, tali scatuli sò pruduciuti da a cumpagnia Sonnet è certi altri. Ci hè una sfumatura quì: micca ogni controller hè adattatu per noi, ma solu unu chì hà un driver per macOS. Ci hè solu uni pochi di tali tavulini, è i più boni è più populari (per esempiu, u stessu LSI) ùn sò micca inclusi in u so numeru. Fortunatamente, Sonnet hà pigliatu u prublema di cumpilà tabella di cumpatibilità Carte PCIe cù diversi OS via l'interfaccia Thunderbolt.

Una altra suluzione hè di cumprà un cunvertitore d'interfaccia Thunderbolt - SAS o Thunderbolt - FC prontu, chì, in fattu, hè un assemblea pronta di una scatula è un controller. A cumpagnia più famosa in questa zona ATTO, ma ci sò ancu prudutti di altre imprese.

Nota chì micca tutti i cuntrolli SAS è FC sò certificati per rispettà u standard LTO, postu chì questu in sè stessu costa soldi. Certi pruduttori scrivenu direttamente chì i so cuntrolli ùn sò micca pensati per travaglià cù unità di cinta.

Per compie a stampa, avemu nutatu chì mLogic produce arrangiatu, chì hè una unità IBM LTO-8 in un casu esternu, in quale un cunvertitore SAS à Thunderbolt 3 hè immediatamente integratu. Questu, però, hè una cosa ancu più esotica di tuttu ciò chì hè descrittu sopra, soprattuttu da i normi di a nostra regione. I dubbitu chì stu dispusitivu pò ancu esse impurtatu legalmente in Russia (l'unità LTO cuntenenu caratteristiche criptografiche, è i fabricatori cum'è IBM è HP ricevenu permessu di importazione FSB per ogni mudellu per questu mutivu).

In seguitu, avemu da cunsiderà, per esempiu, un settore specificu di l'equipaggiu, u pruprietariu di quale l'autore hè diventatu com'è u risultatu di parechje acquisti successi, ma u principiu generale deve esse mantinutu per tutte l'opzioni.

Allora avemu i seguenti equipaghji per travaglià cù a cinta:
- Apple Mac mini 2018 computer cù macOS 10.15 Catalina, avè porti USB-C cù supportu Thunderbolt 3;
- Adattatore Apple Thunderbolt 3 / Thunderbolt 2;
- Cavu Apple Thunderbolt 2;
- Convertitore di interfaccia ATTO ThunderLink SH 1068 (2 * Thunderbolt / 2 * SAS-2);
- cable SAS SFF-8088 - SFF-8088;
- unità di cinta LTO-5 IBM TS2350;
- Cartuccia LTO-5, cartuccia di pulizia.

Avà, cum'è dicenu, cù tutte queste cose avemu da pruvà à toglie.

Scaricamu da u situ ATTO l'ultima versione di u driver ThunderLink SH 1068 (apparentemente, per a nostra comodità, hè cumminatu cù u driver SH 2068 è si trova in a sezione 2068, chì hè scrittu solu in l'archiviu cù u driver) è Utilità di cunfigurazione ATTO.

Apple Mac è i dispusitivi di fantasia. LTO, SAS, Fibre Channel, eSATA

U driver, sicuru, hà bisognu di stallazione. Prima di tali azzioni, l'autore cunsiglia di piglià sempre una snapshot di u sistema di schedari APFS di u discu di boot cù u cumandimu.

tmutil localsnapshot

o una copia di salvezza di u discu di boot, se hà HFS +. Ùn sapete mai. Allora serà faciule per rinvià da a snapshot.

Dopu, a mente inesperta, ma di diligenza dovuta, serà indubbiamente inclinata à leghje attentamente l'istruzzioni di stallazione di driver ATTO è seguitate. In u risultatu - tadam! - avemu un sistema upirativu chì pende in u stadiu di carica. Quì pudemu avè bisognu di una snapshot da quale pudemu ricuperà chjamendu Time Machine da a partizione di ricuperazione, o da a listessa partizione di ricuperazione pudemu sguassà manualmente u kext malatu da u repertoriu di l'estensioni di u kernel (l'autore in generale ùn hè micca cunsigliatu di fà questu).

Perchè questu succede? Perchè Apple hà pigliatu cura di noi. In versioni recenti di macOS, ùn pudete micca facilmente inject code stranieru in u prucessu di boot. I boni programatori Apple anu bluccatu stu cumpurtamentu distruttivu. Più precisamente, l'anu bluccatu à mità di strada, quandu l'aspettazione di u cunduttore hè implementata, ma u cunduttore stessu ùn hè micca, cusì tuttu si congela.

Chì duverebbe fà una mente sofisticata prima di installà un driver? Prima, dà u cumandamentu:

csrutil status

Se in risposta à questu avemu ricevutu:

Status di prutezzione di l'integrità di u sistema: attivatu.

tandu chistu significa chi i bona prugrammazioni Apple cura di noi, cusì nunda hà da travaglià fora di noi finu à noi disattivà a so maravigliosa prutezzione. Per fà questu, reboot à a partizione di ricuperazione (⌘R), chjamate u terminal è emette u cumandimu:

csrutil disable

Dopu questu, reboot in u sistema di travagliu, è solu dopu installà u driver, è à u stessu tempu l'utilità di cunfigurazione ATTO (in principiu, l'utilità di cunfigurazione hè necessariu solu per diagnostichi è ùn hè micca necessariu durante u funziunamentu normale). A strada, quandu dumandate, cunfirmemu l'autorizazione ATTO in i paràmetri di u sistema. Dopu à a stallazione, pudete reboot dinò in a partizione di ricuperazione è dà u cumandamentu

csrutil enable

Apple si prende cura di noi di novu.

Avà avemu una interfaccia supportata da u driver à i dispositi SAS esterni (o FC, se hè stata utilizata un convertitore FC). Ma cumu travaglià cù a cinta à u livellu lògicu?

Cum'è a mente inesperta ma erudita sà, qualsiasi sistema compatibile Unix supporta unità di cinta à u livellu di u kernel è l'utilità di u sistema di basa, chì include principalmente mt (gestione di cinta) è tar (archiver chì sustene u travagliu cù l'archivi nantu à a cinta). Tuttavia, chì pò dì una mente sofisticata di questu? Ogni sistema compatibile Unix, eccettu macOS. Apple hà pigliatu cura di noi cacciendu u supportu per i dispositi di cinta da u so codice.

Ma hè veramente impussibile di rinvià stu codice purtendu l'utilità standard di Unix open-source à macOS? A bona nutizia hè chì Tolis (chì ùn sò micca ligame) hà digià fattu questu in u so pruduttu Tolis Tape Tools. A mala nutizia hè chì a cumpagnia citata custa $ 399 per utilizà i risultati di u so travagliu. L'estimazioni di stu fattu pò varià, ma l'autore ùn hè micca prontu à pagà qualcunu 400 bucks per un codice chì era sopratuttu scrittu da persone completamente diverse è hè in usu apertu da l'anni 1970, è per quessa l'autore si face sta quistione per ellu stessu. cunsidereghja chjusu. (Per via, ci hè un prughjettu liberu abbandunatu in un statu vagu in Github IOSCSITape nant'à u listessu tema).

Fortunatamente, ci hè a corporazione IBM in u mondu, chì l'appetite cummerciale sò in una scala completamente diversa, è per quessa ùn si manifestanu micca in ogni cosa. In particulare, hà sviluppatu u sistema di fugliale di tape LTFS open-source, chì hè ancu distribuitu per macOS.

L'avvertimentu quì hè chì diversi fabricatori di dispositivi di cinta liberanu e so versioni di LTFS per sustene i so dispositi. Siccomu l'autore usa una unità di cinta IBM, hà installatu LTFS da IBM. Unità di terzu pò esse bisognu di i so porti LTFS. È ci hè una implementazione universale di openLTFS in Github è Homebrew.

Hè impurtante per noi chì LTFS usa a funzione di partitioning media, è per quessa pò travaglià cù i dispositi è i cartucce chì partenu da a generazione LTO-5.

Allora, in u nostru casu, scarichemu l'IBM Spectrum Archive Single Drive Edition per macOS da u situ IBM, chì include l'implementazione LTFS. Senza alcuna avventura, installemu u pruduttu cù u so propiu installatore. In u caminu, hà ancu installatu u pacchettu FUSE, è in i paràmetri di u sistema duverà cunfirmà l'autorizazione di un programatore intelligente chjamatu Anatol Pomozov, da quale in questu casu dipende tutta l'IBM. Rispettu è rispettu à questu omu.

Hè cunsigliatu di scrive immediatamente a linea in u schedariu /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

opzione single-drive sync_type=time@1

chì specifica chì a cinta hè muntata per difettu è u buffer di registrazione hè resettatu dopu à 1 minutu d'inattività (predeterminatu hè 5 minuti).

Apple Mac è i dispusitivi di fantasia. LTO, SAS, Fibre Channel, eSATA

Infine, tuttu hè prontu per cunnette. Cunnetteremu a catena: Mac - adattatore T3 / T2 - cable Thunderbolt - cunvertitore ATTO - cable SAS - unità di cinta (a scelta di parechji porti in Mac, cunvertitore è unità ùn hè micca impurtante). Accende u putere di u cunvertitore. Accende u putere à l'unità di cinta. Aspittemu chì l'unità compie l'inizializazione secondu a so indicazione.

Damu u cumandimu:

ltfs -o device_list

Eura! Avemu (in u solitu diagnosticu IBM):

307 LTFS14000I LTFS starting, LTFS version 2.4.2.0 (10418), log level 2.
307 LTFS14058I LTFS Format Specification versione 2.4.0.
307 LTFS14104I Lanciatu da "ltfs -o device_list".
307 LTFS14105I Stu binariu hè custruitu per Mac OS X.
A versione 307 LTFS14106I GCC hè 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Versione Kernel: Versione Kernel Darwin 19.4.0: Mer Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Caricamentu di u backend di a cinta "iokit".
Lista di i dispositi di cinta:.
Device Name = 0, Vendor ID = IBM, Product ID = ULT3580-TD5, Serial Number = **********, Product Name = [ULT3580-TD5].

Inserite a cassetta, aspettate chì si carica è formate:

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

Quì u paràmetru -d specifica u numeru di unità (sempre cero s'ellu hè l'unicu, ma ùn pò micca esse omessi in questu cumandamentu), -n hè u nome di a cinta (pudete omette), è u paràmetru -r richiede di mette u cuntenutu. di i schedarii .DS_Store chì ùn superanu micca a grandezza 10 megabytes, in l'indici (vale à dì, destinatu à i cartulari) rùbbrica di a cinta invece di a rùbbrica di dati.

A vita misteriosa cuminciò in a tape drive. Aspittemu un paru di minuti è ricevemu a seguente risposta:

LTFS15000I Starting mkltfs, LTFS versione 2.4.2.0 (10418), livellu di log 2.
LTFS15041I Lanciatu da "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Stu binariu hè custruitu per Mac OS X.
A versione LTFS15043I GCC hè 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Versione Kernel: Versione Kernel Darwin 19.4.0: Mer 4 Mar 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formattazione di u dispusitivu '0'.
LTFS15004I LTFS volume blocksize: 524288.
LTFS15005I Pulitica di piazzamentu di partizioni d'indice: size=10M/name=.DS_Store.

LTFS11337I Aghjurnate u flag index-dirty (1) - NO_BARCODE (0x0x1021081e0).
LTFS17085I Plugin: Caricamentu di u backend di a cinta "iokit".
LTFS30810I Apertura di un dispositivu attraversu u driver iokit (0).
L'ID di venditore LTFS30814I hè IBM.
L'ID di u produttu LTFS30815I hè "ULT3580-TD5".
L'LTFS30816I A revisione di u firmware hè H976.
LTFS30817I Drive seriale hè *********.
LTFS17160I A dimensione massima di u bloccu di u dispositivu hè 1048576.
LTFS11330I Cartuccia di carica.
LTFS30854I A prutezzione di u bloccu logicu hè disattivata.
LTFS11332I Carica successu.
LTFS17157I Cambia l'impostazione di l'unità à u modu di scrittura in ogni locu.
LTFS15049I Verificazione di u mediu (muntà).
LTFS30854I A prutezzione di u bloccu logicu hè disattivata.
LTFS15010I Creazione di una partizione di dati b nantu à a partizione SCSI 1.
LTFS15011I Creazione di una partizione di indice a nantu à a partizione SCSI 0.
LTFS17165I Resetting a proporzione di capacità di u mediu.
LTFS11097I Particionà u mediu.
LTFS11100I Etichetta di scrittura à a partizione b.
LTFS11278I Scrittura di l'indice in a partizione b.
LTFS30808I READ_ATTR (0x8c) torna -20501.
LTFS30865I READ_ATTR torna Campu Invalidu in CDB (-20501) 0.
LTFS30836I Ùn pò micca leghje l'attributu (-20501).
LTFS11336I L'attributu ùn esiste micca. Ignorate l'errore previstu.
LTFS17235I Scrittura indici di NO_BARCODE à b (Ragione: Format, 0 file) **********.
LTFS17236I Scrive l'indice di NO_BARCODE (b, **********).
LTFS11337I Aghjurnate u flag index-dirty (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Scrittura di l'etichetta in a partizione a.
LTFS11278I Scrittura di l'indice in a partizione a.
LTFS30808I READ_ATTR (0x8c) torna -20501.
LTFS30865I READ_ATTR torna Campu Invalidu in CDB (-20501) 0.
LTFS30836I Ùn pò micca leghje l'attributu (-20501).
LTFS11336I L'attributu ùn esiste micca. Ignorate l'errore previstu.
LTFS17235I Scrittura di l'indice di NO_BARCODE à un (Ragione: Format, 0 file) 9068025555.
LTFS17236I Scrive l'indice di NO_BARCODE (a, *********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

A capacità di l'LTFS15019I Volume hè 1425 GB.
LTFS30854I A prutezzione di u bloccu logicu hè disattivata.
LTFS15024I Medium furmatu cù successu.

Montate a cinta furmatu:

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

Avemu un paru più di minuti di funziunamentu di unità è diagnostichi:

307 LTFS14000I LTFS starting, LTFS version 2.4.2.0 (10418), log level 2.
307 LTFS14058I LTFS Format Specification versione 2.4.0.
307 LTFS14104I Lanciatu da "ltfs /Volumes/LTFS/".
307 LTFS14105I Stu binariu hè custruitu per Mac OS X.
A versione 307 LTFS14106I GCC hè 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Versione Kernel: Versione Kernel Darwin 19.4.0: Mer Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I U tipu di sincronia hè "tempu", u tempu di sincronia hè 60 sec.
307 LTFS17085I Plugin: Caricamentu di u backend di a cinta "iokit".
307 LTFS17085I Plugin: Caricamentu di backend iosched "unificatu".
307 LTFS14095I Impostate u modu di scrittura in ogni locu di u dispositivu di cinta per evità l'espulsione di cartuccia.
307 LTFS30810I Apertura di un dispositivu attraversu u driver iokit (0).
307 LTFS30814I Vendor ID è IBM.
307 LTFS30815I ID di u produttu hè "ULT3580-TD5".
307 LTFS30816I A revisione di u firmware hè H976.
307 LTFS30817I Drive seriale hè *********.
307 LTFS17160I A dimensione massima di u bloccu di u dispositivu hè 1048576.
307 LTFS11330I Cartuccia di carica.
307 LTFS30854I A prutezzione di u bloccu logicu hè disattivata.
307 LTFS11332I Carica successu.
307 LTFS17157I Cambia l'impostazione di l'unità in u modu di scrittura in ogni locu.
307 LTFS11005I Muntà u voluminu.
307 LTFS30854I A prutezzione di u bloccu logicu hè disattivata.
307 LTFS17227I Tape attribute: Vendor = IBM.
307 LTFS17227I Attributu di a cinta: Nome di l'applicazione = LTFS.
307 LTFS17227I Tape attribute: Versione di l'applicazione = 2.4.2.0.
307 LTFS17227I Attributu di cinta: Medium Label =.
307 LTFS17228I Attributu di a cinta: ID di Localizazione di Testu = 0x81.
307 LTFS17227I Attributu di a cinta: Barcode =.
307 LTFS17227I Tape attribute: Versione di Formatu di Applicazione = 2.4.0.
307 LTFS17228I Tape attribute: Status Lock Lock = 0x00.
307 LTFS17227I Tape attribute: Media Pool name =.
307 LTFS14111I L'installazione iniziale hè stata completata cun successu.
307 LTFS14112I Invoca l'ordine "mount" per verificà u risultatu di a stallazione finale.
307 LTFS14113I U puntu di muntazione specificatu hè listatu s'ellu hè successu.

È quì hè, a nostra cinta nantu à u desktop, chjamatu Test (ltfs)! A cinta senza nome serà chjamatu OSXFUSE Volume 0 (ltfs).

Avà pudete travaglià cun ellu.

Apple Mac è i dispusitivi di fantasia. LTO, SAS, Fibre Channel, eSATA

In generale, avete bisognu di mantene in mente chì hè cunsigliu per ùn abusà micca di vede u cuntenutu di i cartulari di cinta in a finestra di u finder, postu chì questu hè una operazione incredibbilmente caru per LTFS, ma hè megliu à travaglià cù cumandamenti di terminal, o solu resettate. u cartulare di salvezza in massa à a cinta, cum'è mostra in a finestra sopra.

A strada, ci hè una utility IBM ltfs_copy scritta apposta è i so cloni, cuncepitu per una copia più efficaci trà a cinta è u discu, ma finu à quì l'autore ùn hà micca pussutu truvà in u duminiu publicu cù una ricerca superficiale.

Pudete smontà a cinta cù u cumandimu:

umount /Volumes/LTFS

o ghjittallu solu in a spazzatura.

In fatti, in a natura ci sò qualchi tipu di cunchiglia gràfica per macOS per facilità sti azzioni, ma dopu à tali perversioni, duvemu avè a paura di scrive uni pochi di linii in u terminal?

Cum'è un effettu secundariu, avemu l'uppurtunità di cunnette unità eSATA esterne via un cable SAS / 4 * eSATA.

Apple Mac è i dispusitivi di fantasia. LTO, SAS, Fibre Channel, eSATA

Source: www.habr.com

Add a comment