Apple Mac en mooie apparaten. LTO, SAS, Fibre Channel, eSATA

Het onderwerp van dit artikel is het aansluiten van externe apparaten op een Mac via SAS, Fibre Channel (FC), eSATA-interfaces. Laten we meteen zeggen dat er een gezonde manier is om het probleem van toegang tot dergelijke apparaten op te lossen: bouw een goedkope pc, sluit een HBA SAS- of FC-controllerkaart aan (bijvoorbeeld een eenvoudige LSI-adapter), sluit uw apparaten aan op deze controller Installeer een willekeurige Linux op de pc en werk vanaf Mac via het netwerk. Maar dit is banaal en oninteressant. We gaan de hardcore route en verbinden onze apparaten rechtstreeks naar Mac.

Wat hebben wij hiervoor nodig:
– een behoorlijk bedrag om nieuwe apparatuur te kopen, of veel succes op veilingen op eBay (waar je met een beetje moeite de benodigde apparatuur van vorige generaties 10 keer goedkoper kunt kopen dan de catalogusprijs);
- Dit artikel.

Om met magneetband te werken (nu bijna universeel weergegeven in het LTO-formaat), moet u over een LTO-tapedrive (streamer) of tapebibliotheek beschikken. Dit is een vrij duur apparaat voor de eerste aankoop (van honderdduizenden roebel), maar een redelijk bedrag waard als je het tweedehands koopt. Omdat LTO-generaties ongeveer elke twee jaar veranderen en de compatibiliteit beperkt is tot twee generaties, is de secundaire markt behoorlijk verzadigd met werkbare apparaten van vier jaar of ouder, d.w.z. de generatie voor de laatste en daarna. Als u voor commerciële doeleinden een nieuw apparaat koopt, begrijpt u zelf waarom u het nodig heeft. Als u voor uw huis en gezin wilt kopen, kunt u deze optie overwegen als een manier om informatie te archiveren (aangezien de media zelf erg goedkoop zijn per 1 gigabyte).

Vanaf de LTO-5-generatie (en deels LTO-4) worden apparaten voor het werken met magneetband hardwarematig op de computer aangesloten via een SAS- of FC-interface (meestal zijn er van elk apparaat twee versies)

Aan de andere kant biedt Apple ons zo vriendelijk een USB-C-interface in onze Mac (werkt met behulp van de USB-, Thunderbolt 3- of DisplayPort-protocollen), soms een Ethernet-interface, evenals eigen Thunderbolt 3 - Thunderbolt 2 en Thunderbolt - FireWire 800 adapters.

Patstelling? Niet echt. Gelukkig kan Thunderbolt in PCIe-modus werken en PCIe-kaarten op dezelfde manier aansluiten alsof ze rechtstreeks in de computerbehuizing zouden zijn geïnstalleerd. Hierdoor is elke uitbreiding van de Mac-hardwareconfiguratie mogelijk, op voorwaarde dat er een geschikte adapter en stuurprogramma's aanwezig zijn.

Conceptueel gezien is de eenvoudigste manier om het probleem op te lossen een externe box voor PCIe-adapters met een Thunderbolt-interface (PCIe-kaartuitbreidingssysteem), waarin u een SAS- of FC Host-busadapter (HBA) kunt installeren. Dergelijke dozen worden bijvoorbeeld door het bedrijf geproduceerd Sonnet en enkele anderen. Er is hier een nuance: niet elke controller is geschikt voor ons, maar slechts één die een driver voor macOS heeft. Er zijn maar een paar van dergelijke boards, en de goedkoopste en meest populaire (bijvoorbeeld dezelfde LSI) zijn niet in hun aantal opgenomen. Gelukkig nam Sonnet de moeite om te compileren compatibiliteitstabel PCIe-kaarten met verschillende besturingssystemen via Thunderbolt-interface.

Een andere oplossing is de aanschaf van een kant-en-klare Thunderbolt - SAS of Thunderbolt - FC-interfaceconverter, wat in feite een kant-en-klaar geheel is van een doos en een controller. Het bekendste bedrijf op dit gebied ATTO, maar er zijn ook producten van andere bedrijven.

Houd er rekening mee dat niet alle SAS- en FC-controllers gecertificeerd zijn om te voldoen aan de LTO-standaard, omdat dit op zichzelf geld kost. Sommige fabrikanten schrijven rechtstreeks dat hun controllers niet zijn ontworpen om met tapedrives te werken.

Om het plaatje compleet te maken merken we op dat mLogic produceert устройство, dat is een IBM LTO-8-schijf in een externe behuizing, waarin onmiddellijk een SAS naar Thunderbolt 3-converter is geïntegreerd. Dit is echter nog exotischer dan alles wat hierboven is beschreven, vooral naar de normen van onze regio. Ik betwijfel of dit apparaat überhaupt legaal in Rusland kan worden geïmporteerd (LTO-schijven bevatten cryptografische functies en fabrikanten zoals IBM en HP krijgen om deze reden FSB-importtoestemming voor elk model).

Vervolgens zullen we als voorbeeld een specifieke reeks apparatuur beschouwen, waarvan de auteur de eigenaar werd als gevolg van verschillende succesvolle acquisities, maar het algemene principe moet voor alle opties worden gehandhaafd.

Zo beschikken wij over de volgende apparatuur voor het werken met tape:
– Apple Mac mini 2018-computer met macOS 10.15 Catalina, met USB-C-poorten met Thunderbolt 3-ondersteuning;
– Apple Thunderbolt 3 / Thunderbolt 2-adapter;
– Apple Thunderbolt 2-kabel;
– ATTO ThunderLink SH 1068-interfaceconverter (2*Thunderbolt / 2*SAS-2);
– SAS-kabel SFF-8088 – SFF-8088;
– tapedrive LTO-5 IBM TS2350;
– LTO-5-cartridges, reinigingscartridge.

Nu, zoals ze zeggen, met al dit spul gaan we proberen van de grond te komen.

We downloaden van de ATTO-website de nieuwste versie van het ThunderLink SH 1068-stuurprogramma (blijkbaar is deze voor ons gemak gecombineerd met het SH 2068-stuurprogramma en bevindt zich in sectie 2068, die alleen in het archief met het stuurprogramma is geschreven) en de ATTO-configuratiehulpprogramma.

Apple Mac en mooie apparaten. LTO, SAS, Fibre Channel, eSATA

Het stuurprogramma moet uiteraard worden geïnstalleerd. Vóór dergelijke acties adviseert de auteur om altijd een momentopname te maken van het APFS-bestandssysteem van de opstartschijf met de opdracht

tmutil localsnapshot

of een reservekopie van de opstartschijf, als deze HFS+ heeft. Je weet maar nooit. Dan is het gemakkelijk om terug te keren vanaf de momentopname.

Vervolgens zal de onervaren maar zorgvuldige geest ongetwijfeld geneigd zijn om de installatie-instructies van het ATTO-stuurprogramma aandachtig te lezen en op te volgen. Als resultaat - tadam! – we krijgen een besturingssysteem dat blijft hangen tijdens het laden. Hier hebben we mogelijk een momentopname nodig waarvan we kunnen herstellen door Time machine aan te roepen vanaf de herstelpartitie, of vanaf dezelfde herstelpartitie kunnen we handmatig de zieke kext uit de map kernelextensies wissen (de auteur raadt dit over het algemeen niet aan).

Waarom gebeurt dit? Omdat Apple voor ons zorgde. In recente versies van macOS kun je niet gemakkelijk vreemde code in het opstartproces injecteren. De goede Apple-programmeurs hebben dit destructieve gedrag geblokkeerd. Om precies te zijn: ze hebben het halverwege geblokkeerd, wanneer de verwachting van de bestuurder wordt gerealiseerd, maar de bestuurder zelf niet, dus alles loopt gewoon vast.

Wat moet een slimme geest doen voordat hij een stuurprogramma installeert? Geef eerst het commando:

csrutil status

Als wij als reactie hierop ontvangen:

Systeemintegriteitsbeschermingsstatus: ingeschakeld.

dan betekent dit dat de goede Apple-programmeurs om ons geven, dus niets zal voor ons werken totdat we hun prachtige bescherming uitschakelen. Om dit te doen, start u opnieuw op naar de herstelpartitie (⌘R), roept u de terminal op en geeft u de opdracht:

csrutil disable

Hierna starten we opnieuw op in het werkende systeem en installeren dan pas het stuurprogramma en tegelijkertijd het ATTO-configuratiehulpprogramma (in principe is het configuratiehulpprogramma alleen nodig voor diagnostiek en niet vereist tijdens normaal gebruik). Onderweg bevestigen we desgevraagd de ATTO-autorisatie in de systeeminstellingen. Na de installatie kunt u opnieuw opstarten op de herstelpartitie en de opdracht geven

csrutil enable

Apple zorgt weer voor ons.

Nu hebben we een door een stuurprogramma ondersteunde interface naar externe SAS-apparaten (of FC, als er een FC-converter is gebruikt). Maar hoe moet je op logisch niveau met tape werken?

Zoals de onervaren maar erudiete geest weet, ondersteunt elk Unix-compatibel systeem tapedrives op het niveau van de kernel en basissysteemhulpprogramma's, waaronder voornamelijk mt (tapebeheer) en tar (archiveringsprogramma dat het werken met archieven op tape ondersteunt). Maar wat kan een verfijnde geest hierover zeggen? Elk Unix-compatibel systeem, behalve macOS. Apple heeft voor ons gezorgd door de ondersteuning voor tape-apparaten uit de code te verwijderen.

Maar is het echt onmogelijk om deze code terug te geven door standaard open-source Unix-hulpprogramma's over te zetten naar macOS? Het goede nieuws is dat Tolis (waar ik niet naar link) dit al heeft gedaan in hun product Tolis Tape Tools. Het slechte nieuws is dat het genoemde bedrijf $399 kost om de resultaten van zijn werk te gebruiken. Schattingen hierover kunnen variëren, maar de auteur is persoonlijk niet bereid iemand 400 dollar te betalen voor een code die grotendeels door totaal verschillende mensen is geschreven en sinds de jaren zeventig openlijk wordt gebruikt, en daarom stelt de auteur deze vraag voor zichzelf. beschouwt gesloten. (Trouwens, er staat een gratis project in vage staat verlaten op Github IOSCSITape over hetzelfde onderwerp).

Gelukkig is er het IBM-bedrijf in de wereld, wiens commerciële verlangens zich op een heel andere schaal bevinden en zich daarom niet in elk klein ding manifesteren. In het bijzonder ontwikkelde het het open-source LTFS-tapebestandssysteem, dat ook voor macOS wordt gedistribueerd.

Het voorbehoud hier is dat verschillende fabrikanten van tape-apparaten hun eigen versies van LTFS uitbrengen ter ondersteuning van hun apparaten. Omdat de auteur een IBM-tapedrive gebruikt, heeft hij LTFS van IBM geïnstalleerd. Schijven van derden hebben mogelijk hun eigen LTFS-poorten nodig. En er is een universele implementatie van openLTFS op Github en Homebrew.

Het is belangrijk voor ons dat LTFS de mediapartitioneringsfunctie gebruikt en daarom kan werken met apparaten en cartridges vanaf de LTO-5-generatie.

In ons geval downloaden we dus de IBM Spectrum Archive Single Drive Edition voor macOS van de IBM-website, die de LTFS-implementatie bevat. Zonder enig avontuur installeren we het product met behulp van een eigen installatieprogramma. Onderweg installeert hij ook het FUSE-pakket, en in de systeeminstellingen zal hij de autorisatie moeten bevestigen van een slimme programmeur genaamd Anatol Pomozov, van wie in dit geval de hele IBM afhankelijk is. Respect en respect voor deze man.

Het is raadzaam om de regel onmiddellijk in het bestand /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local te schrijven:

optie single-drive sync_type=time@1

die specificeert dat de tape standaard wordt aangekoppeld en dat de opnamebuffer wordt gereset na 1 minuut inactiviteit (standaard is 5 minuten).

Apple Mac en mooie apparaten. LTO, SAS, Fibre Channel, eSATA

Eindelijk is alles klaar om te verbinden. We verbinden de keten: Mac – T3/T2 adapter – Thunderbolt kabel – ATTO converter – SAS kabel – tapedrive (de keuze uit meerdere poorten op de Mac, converter en drive is niet belangrijk). Schakel de stroom van de omvormer in. Schakel de stroom naar de tapedrive in. We wachten tot de schijf de initialisatie heeft voltooid volgens de indicatie.

Wij geven het commando:

ltfs -o device_list

Hoera! We krijgen (op de gebruikelijke diagnostische manier van IBM):

307 LTFS14000I LTFS startend, LTFS versie 2.4.2.0 (10418), logniveau 2.
307 LTFS14058I LTFS-formaatspecificatie versie 2.4.0.
307 LTFS14104I Gelanceerd door "ltfs -o device_list".
307 LTFS14105I Dit binaire bestand is gebouwd voor Mac OS X.
307 LTFS14106I GCC-versie is 4.2.1 Compatibel met Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kernelversie: Darwin Kernelversie 19.4.0: wo 4 maart 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plug-in: “iokit” tape-backend laden.
Lijst met tapeapparaten:.
Apparaatnaam = 0, leverancier-ID = IBM, product-ID = ULT3580-TD5, serienummer = **********, productnaam = [ULT3580-TD5].

Plaats de cassette, wacht tot deze is geladen en formatteer:

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

Hier specificeert de parameter -d het stationsnummer (altijd nul als dit het enige is, maar kan niet worden weggelaten in deze opdracht), -n is de tapenaam (u kunt deze weglaten) en de parameter -r vereist het plaatsen van de inhoud van .DS_Store-bestanden die de grootte van 10 megabytes niet overschrijden, in het indexgedeelte (d.w.z. bedoeld voor mappen) van de tape in plaats van het gegevensgedeelte.

Het mysterieuze leven begon in de tapedrive. We wachten een paar minuten en krijgen het volgende antwoord:

LTFS15000I Start mkltfs, LTFS versie 2.4.2.0 (10418), logniveau 2.
LTFS15041I Gelanceerd door "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Dit binaire bestand is gebouwd voor Mac OS X.
LTFS15043I GCC-versie is 4.2.1 Compatibel met Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Kernelversie: Darwin Kernelversie 19.4.0: wo 4 maart 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formatteerapparaat '0'.
LTFS15004I LTFS-volumeblokgrootte: 524288.
LTFS15005I Beleid voor plaatsing van indexpartities: size=10M/name=.DS_Store.

LTFS11337I Update index-dirty-vlag (1) - NO_BARCODE (0x0x1021081e0).
LTFS17085I Plug-in: “iokit” tape-backend laden.
LTFS30810I Een apparaat openen via iokit-stuurprogramma (0).
LTFS30814I Leveranciers-ID is IBM.
LTFS30815I Product-ID is 'ULT3580-TD5'.
LTFS30816I Firmwarerevisie is H976.
LTFS30817I Serieel station is **********.
LTFS17160I Maximale apparaatblokgrootte is 1048576.
LTFS11330I Cartridge laden.
LTFS30854I Logische blokbeveiliging is uitgeschakeld.
LTFS11332I Laden succesvol.
LTFS17157I De schijfinstelling wijzigen in de modus voor schrijven overal.
LTFS15049I Het medium controleren (montage).
LTFS30854I Logische blokbeveiliging is uitgeschakeld.
LTFS15010I Gegevenspartitie b maken op SCSI-partitie 1.
LTFS15011I Indexpartitie a maken op SCSI-partitie 0.
LTFS17165I Capaciteitsaandeel van het medium resetten.
LTFS11097I Het medium partitioneren.
LTFS11100I Label naar partitie schrijven b.
LTFS11278I Index naar partitie schrijven b.
LTFS30808I READ_ATTR (0x8c) retourneert -20501.
LTFS30865I READ_ATTR retourneert ongeldig veld in CDB (-20501) 0.
LTFS30836I Kan attribuut (-20501) niet lezen.
LTFS11336I Het attribuut bestaat niet. Negeer de verwachte fout.
LTFS17235I Schrijfindex van NO_BARCODE naar b (reden: formaat, 0 bestanden) **********.
LTFS17236I Schreef index van NO_BARCODE (b, **********).
LTFS11337I Update index-dirty-vlag (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Label schrijven naar partitie a.
LTFS11278I Index schrijven naar partitie a.
LTFS30808I READ_ATTR (0x8c) retourneert -20501.
LTFS30865I READ_ATTR retourneert ongeldig veld in CDB (-20501) 0.
LTFS30836I Kan attribuut (-20501) niet lezen.
LTFS11336I Het attribuut bestaat niet. Negeer de verwachte fout.
LTFS17235I Index van NO_BARCODE schrijven naar a (reden: formaat, 0 bestanden) 9068025555.
LTFS17236I Schreef index van NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I Volumecapaciteit is 1425 GB.
LTFS30854I Logische blokbeveiliging is uitgeschakeld.
LTFS15024I Medium succesvol geformatteerd.

Monteer de geformatteerde tape:

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

We krijgen nog een paar minuten rijbediening en diagnostiek:

307 LTFS14000I LTFS startend, LTFS versie 2.4.2.0 (10418), logniveau 2.
307 LTFS14058I LTFS-formaatspecificatie versie 2.4.0.
307 LTFS14104I Gelanceerd door “ltfs /Volumes/LTFS/”.
307 LTFS14105I Dit binaire bestand is gebouwd voor Mac OS X.
307 LTFS14106I GCC-versie is 4.2.1 Compatibel met Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kernelversie: Darwin Kernelversie 19.4.0: wo 4 maart 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Synchronisatietype is “tijd”, synchronisatietijd is 60 sec.
307 LTFS17085I Plug-in: “iokit” tape-backend laden.
307 LTFS17085I Plugin: Laden van “unified” iosched backend.
307 LTFS14095I Stel de schrijfmodus van het tapestation in om het uitwerpen van cartridges te voorkomen.
307 LTFS30810I Een apparaat openen via iokit-stuurprogramma (0).
307 LTFS30814I Leveranciers-ID is IBM.
307 LTFS30815I Product-ID is 'ULT3580-TD5'.
307 LTFS30816I Firmwarerevisie is H976.
307 LTFS30817I Serieel station is **********.
307 LTFS17160I Maximale apparaatblokgrootte is 1048576.
307 LTFS11330I Patroon laden.
307 LTFS30854I Logische blokkeerbeveiliging is uitgeschakeld.
307 LTFS11332I Laden succesvol.
307 LTFS17157I De schijfinstelling wijzigen in de modus voor schrijven overal.
307 LTFS11005I Het volume monteren.
307 LTFS30854I Logische blokkeerbeveiliging is uitgeschakeld.
307 LTFS17227I Tape-kenmerk: Leverancier = IBM.
307 LTFS17227I Tape-kenmerk: Applicatienaam = LTFS.
307 LTFS17227I Tape-attribuut: Applicatieversie = 2.4.2.0.
307 LTFS17227I Tape-kenmerk: Medium Label =.
307 LTFS17228I Tape-kenmerk: Tekstlokalisatie-ID = 0x81.
307 LTFS17227I Tape-kenmerk: streepjescode =.
307 LTFS17227I Tape-kenmerk: versie van applicatieformaat = 2.4.0.
307 LTFS17228I Tape-kenmerk: Volumevergrendelingsstatus = 0x00.
307 LTFS17227I Tape-kenmerk: Mediapoolnaam =.
307 LTFS14111I Initiële installatie is succesvol voltooid.
307 LTFS14112I Roep de opdracht 'mount' op om het resultaat van de definitieve installatie te controleren.
307 LTFS14113I Het opgegeven koppelpunt wordt weergegeven als dit is gelukt.

En hier is het, ons lint op het bureaublad, genaamd Test(ltfs)! De naamloze tape krijgt de naam OSXFUSE Volume 0 (ltfs).

Nu kun je ermee werken.

Apple Mac en mooie apparaten. LTO, SAS, Fibre Channel, eSATA

Over het algemeen moet u er rekening mee houden dat het raadzaam is om niet te veel gebruik te maken van het bekijken van de inhoud van tapemappen in de Finder-vensters, aangezien dit een ongelooflijk dure operatie is voor LTFS, maar het is beter om met terminalopdrachten te werken of eenvoudigweg opnieuw in te stellen de back-upmap in bulk naar de tape, zoals weergegeven in het bovenstaande venster.

Er is trouwens een speciaal geschreven IBM-hulpprogramma ltfs_copy en zijn klonen, ontworpen voor efficiënter kopiëren tussen tape en schijf, maar tot nu toe heeft de auteur ze met een oppervlakkige zoekopdracht niet in het publieke domein kunnen vinden.

U kunt de tape ontkoppelen met het commando:

umount /Volumes/LTFS

of gooi het gewoon in de prullenbak.

In feite zijn er in de natuur een soort grafische shells voor macOS om deze acties te vergemakkelijken, maar moeten we na dergelijke perversies bang zijn om een ​​paar regels in de terminal te typen?

Als neveneffect krijgen we de mogelijkheid om externe eSATA-schijven aan te sluiten via een SAS/4*eSATA-kabel.

Apple Mac en mooie apparaten. LTO, SAS, Fibre Channel, eSATA

Bron: www.habr.com

Voeg een reactie