Apple Mac i fensi uređaji. LTO, SAS, Fibre Channel, eSATA

Tema ovog članka je povezivanje vanjskih uređaja na Mac putem SAS, Fibre Channel (FC), eSATA interfejsa. Recimo odmah da za rješavanje problema pristupa takvim uređajima postoji način zdrave osobe: napravite jeftin PC, priključite HBA SAS ili FC kontrolnu karticu (na primjer, jednostavan LSI adapter), povežite svoje uređaje na ovaj kontroler , instalirajte bilo koji Linux na PC i radite sa Mac-a preko mreže. Ali ovo je banalno i nezanimljivo. Ići ćemo hardcore putem i spojiti naše uređaje direktno za Mac.

Šta nam je potrebno za ovo:
– pristojan iznos novca za kupovinu nove opreme, ili sretno na aukcijama na eBayu (gdje uz malo truda možete kupiti potrebnu opremu prethodnih generacija 10 puta jeftinije od kataloške cijene);
- Ovaj članak.

Za rad sa magnetnom trakom (sada skoro univerzalno zastupljenom u LTO formatu), morate imati LTO traku (streamer) ili biblioteku traka. Ovo je prilično skup uređaj za početnu kupovinu (od stotina hiljada rubalja), ali vrijedan razumne svote novca prilikom kupovine polovnih. Budući da se LTO generacije mijenjaju otprilike svake dvije godine, a kompatibilnost je ograničena na dvije generacije, sekundarno tržište je prilično zasićeno radnim uređajima starim četiri godine ili više, tj. pretprošle generacije i dalje. Ako kupite novi uređaj u komercijalne svrhe, onda i sami razumijete zašto vam je potreban. Ako želite da kupite za svoj dom i porodicu, ovu opciju možete razmotriti kao način za arhiviranje informacija (pošto su sami mediji veoma jeftini po 1 gigabajtu).

Počevši od LTO-5 generacije (i djelimično LTO-4), uređaji za rad sa magnetskom trakom se hardverski povezuju na računar preko SAS ili FC sučelja (obično postoje dvije verzije svakog uređaja)

S druge strane, Apple nam ljubazno daje USB-C sučelje u našem Macu (koji radi koristeći USB, Thunderbolt 3 ili DisplayPort protokole), ponekad Ethernet sučelje, kao i vlasnički Thunderbolt 3 - Thunderbolt 2 i Thunderbolt - FireWire 800 adapteri.

Zastoj? Ne baš. Srećom, Thunderbolt može raditi u PCIe modu i omogućiti povezivanje PCIe kartica na isti način kao da su instalirane direktno u kućište računara. Zbog toga je moguće bilo kakvo proširenje konfiguracije Mac hardvera, pod uslovom da postoji odgovarajući adapter i drajveri.

Konceptualno, najjednostavniji način rješavanja problema je eksterna kutija za PCIe adaptere sa Thunderbolt interfejsom (sistem proširenja PCIe kartice), u koju možete instalirati SAS ili FC Host bus adapter (HBA). Na primjer, takve kutije proizvodi kompanija Sonet i neke druge. Ovdje postoji nijansa: nije svaki kontroler prikladan za nas, već samo onaj koji ima drajver za macOS. Postoji samo nekoliko takvih ploča, a one najjeftinije i najpopularnije (na primjer, isti LSI) nisu uključene u njihov broj. Srećom, Sonet se potrudio da kompajlira tabela kompatibilnosti PCIe kartice sa različitim OS preko Thunderbolt interfejsa.

Drugo rješenje je kupovina gotovog Thunderbolt - SAS ili Thunderbolt - FC pretvarača interfejsa, koji je, u stvari, gotov sklop kutije i kontrolera. Najpoznatija kompanija na ovim prostorima ATTO, ali ima i proizvoda drugih kompanija.

Imajte na umu da nisu svi SAS i FC kontroleri certificirani za usklađenost sa LTO standardom, jer to samo po sebi košta. Neki proizvođači direktno pišu da njihovi kontroleri nisu dizajnirani za rad sa trakama.

Da bismo upotpunili sliku, napominjemo da mLogic proizvodi aranžman, koji je IBM LTO-8 drajv u eksternom kućištu, u koji se odmah integriše SAS u Thunderbolt 3 konvertor. Ovo je, međutim, još egzotičnija stvar od svega gore opisanog, posebno po standardima našeg regiona. Sumnjam da se ovaj uređaj može legalno uvesti u Rusiju (LTO diskovi sadrže kriptografske karakteristike, a proizvođači poput IBM-a i HP-a iz tog razloga dobijaju FSB dozvolu za uvoz za svaki model).

Zatim ćemo razmotriti, kao primjer, određeni skup opreme, čiji je vlasnik postao autor kao rezultat nekoliko uspješnih akvizicija, ali opći princip treba zadržati za sve opcije.

Tako imamo sledeću opremu za rad sa trakom:
– Apple Mac mini 2018 računar sa macOS 10.15 Catalina, koji ima USB-C portove sa podrškom za Thunderbolt 3;
– Apple Thunderbolt 3 / Thunderbolt 2 adapter;
– Apple Thunderbolt 2 kabl;
– ATTO ThunderLink SH 1068 konverter interfejsa (2*Thunderbolt / 2*SAS-2);
– SAS kabel SFF-8088 – SFF-8088;
– traka LTO-5 IBM TS2350;
– LTO-5 patrone, uložak za čišćenje.

Sada ćemo, kako kažu, sa svim ovim stvarima pokušati da skinemo.

Sa ATTO web stranice preuzimamo najnoviju verziju drajvera ThunderLink SH 1068 (očigledno, radi naše pogodnosti, on je u kombinaciji sa drajverom SH 2068 i nalazi se u odjeljku 2068, koji je napisan samo unutar arhive sa drajverom) i ATTO konfiguracijski uslužni program.

Apple Mac i fensi uređaji. LTO, SAS, Fibre Channel, eSATA

Drajveru je, naravno, potrebna instalacija. Prije takvih radnji, autor savjetuje da uvijek napravite snimak APFS sistema datoteka diska za pokretanje pomoću naredbe

tmutil localsnapshot

ili rezervnu kopiju diska za pokretanje, ako ima HFS+. Nikad ne znaš. Tada će biti lako vratiti se sa snimka.

Dalje, neiskusni, ali dužni umovi će nesumnjivo biti skloni pažljivo pročitati upute za instalaciju ATTO drajvera i slijediti ih. Kao rezultat - tada! – dobijamo operativni sistem koji visi u fazi učitavanja. Ovdje će nam možda trebati snimak iz kojeg se možemo oporaviti pozivanjem Time machine sa particije za oporavak, ili sa iste particije za oporavak možemo ručno izbrisati oboljeli kext iz direktorija ekstenzija kernela (autor općenito ne preporučuje da se to radi).

Zašto se ovo dešava? Zato što se Apple pobrinuo za nas. U novijim verzijama macOS-a, ne možete lako ubaciti strani kod u proces pokretanja. Dobri Apple programeri su blokirali ovo destruktivno ponašanje. Tačnije, blokirali su ga na pola puta, kada se ostvare očekivanje vozača, ali sam vozač nije, pa se sve samo zamrzne.

Šta bi sofisticirani um trebao učiniti prije instaliranja drajvera? Prvo dajte komandu:

csrutil status

Ako kao odgovor na to dobijemo:

Status zaštite integriteta sistema: omogućeno.

onda to znači da je dobrim Apple programerima stalo do nas, tako da nam ništa neće uspjeti dok ne onemogućimo njihovu divnu zaštitu. Da biste to učinili, ponovo pokrenite particiju za oporavak (⌘R), pozovite terminal i izdajte naredbu:

csrutil disable

Nakon toga se ponovo pokrećemo u radni sistem, a tek onda instaliramo drajver, a istovremeno i uslužni program za konfiguraciju ATTO (u principu, uslužni program za konfiguraciju je potreban samo za dijagnostiku i nije potreban tokom normalnog rada). Usput, na upit, potvrđujemo ATTO autorizaciju u sistemskim postavkama. Nakon instalacije, možete se ponovo pokrenuti na particiju za oporavak i dati komandu

csrutil enable

Apple se ponovo brine o nama.

Sada imamo interfejs koji podržava drajver za eksterne SAS uređaje (ili FC, ako je korišćen FC konverter). Ali kako raditi s trakom na logičkom nivou?

Kao što neiskusan, ali eruditan um zna, svaki sistem kompatibilan sa Unixom podržava pogone traka na nivou kernela i osnovne sistemske uslužne programe, koji prvenstveno uključuju mt (upravljanje trakom) i tar (arhiver koji podržava rad sa arhivama na traci). Međutim, šta sofisticirani um može reći o tome? Bilo koji sistem kompatibilan sa Unixom, osim macOS-a. Apple se pobrinuo za nas tako što je uklonio podršku za trake iz svog koda.

Ali da li je zaista nemoguće vratiti ovaj kod prenošenjem standardnih open-source uslužnih programa Unix na macOS? Dobra vijest je da je Tolis (na koji ne povezujem) to već učinio u svom proizvodu Tolis Tape Tools. Loša vest je da pomenuta kompanija košta 399 dolara za korišćenje rezultata svog rada. Procjene ove činjenice mogu varirati, ali autor lično nije spreman nekome platiti 400 dolara za kod koji su uglavnom napisali potpuno drugi ljudi i koji je u otvorenoj upotrebi od 1970-ih, pa sam autor to pitanje postavlja za sebe. smatra zatvorenim. (Usput, postoji besplatni projekat napušten u nejasnom stanju na Githubu IOSCSITape na istu temu).

Srećom, u svijetu postoji IBM korporacija, čiji su komercijalni apetiti na potpuno drugačijim razmjerima, pa se stoga ne manifestiraju u svakoj sitnici. Konkretno, razvio je sistem datoteka sa trakama otvorenog koda LTFS, koji je takođe distribuiran za macOS.

Upozorenje je da različiti proizvođači trakastih uređaja objavljuju vlastite verzije LTFS-a kako bi podržali svoje uređaje. Pošto autor koristi IBM traku, instalirao je LTFS od IBM-a. Diskovi trećih strana mogu zahtijevati vlastite LTFS portove. A postoji i univerzalna implementacija openLTFS-a na Github-u i Homebrew-u.

Za nas je važno da LTFS koristi funkciju particioniranja medija, te stoga može raditi sa uređajima i kertridžima počevši od LTO-5 generacije.

Dakle, u našem slučaju preuzimamo IBM Spectrum Archive Single Drive Edition za macOS sa IBM web stranice, što uključuje implementaciju LTFS. Bez ikakvih avantura, ugrađujemo proizvod pomoću njegovog vlastitog instalatera. Usput instalira i FUSE paket, a u postavkama sistema morat će potvrditi autorizaciju pametnog programera po imenu Anatol Pomozov, od kojeg u ovom slučaju ovisi cijeli IBM. Poštovanje i poštovanje ovom čoveku.

Preporučljivo je odmah napisati red u datoteku /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

opcija single-drive sync_type=time@1

koji specificira da je traka montirana prema zadanim postavkama i da se bafer za snimanje resetuje nakon 1 minute neaktivnosti (podrazumevano je 5 minuta).

Apple Mac i fensi uređaji. LTO, SAS, Fibre Channel, eSATA

Konačno, sve je spremno za povezivanje. Povezujemo lanac: Mac – T3/T2 adapter – Thunderbolt kabl – ATTO konverter – SAS kabl – kasetofon (nije bitan izbor nekoliko portova na Macu, konverter i drajv). Uključite napajanje pretvarača. Uključite napajanje trake. Čekamo da pogon završi inicijalizaciju u skladu sa svojim indikacijama.

Dajemo komandu:

ltfs -o device_list

Ura! Dobijamo (na uobičajeni IBM dijagnostički način):

307 LTFS14000I LTFS pokretanje, LTFS verzija 2.4.2.0 (10418), nivo dnevnika 2.
307 LTFS14058I Specifikacija LTFS formata verzija 2.4.0.
307 LTFS14104I Pokrenuo "ltfs -o device_list".
307 LTFS14105I Ova binarna datoteka je napravljena za Mac OS X.
307 LTFS14106I GCC verzija je 4.2.1 kompatibilna Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verzija kernela: Darwin Kernel verzija 19.4.0: sre, 4. mart 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Dodatak: Učitava pozadinu trake “iokit”.
Tape Lista uređaja:.
Naziv uređaja = 0, ID dobavljača = IBM, ID proizvoda = ULT3580-TD5, serijski broj = **********, Naziv proizvoda = [ULT3580-TD5].

Umetnite kasetu, pričekajte da se učita i formatirajte:

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

Ovdje parametar -d specificira broj drajva (uvijek nula ako je jedini, ali se ne može izostaviti u ovoj naredbi), -n je ime trake (možete ga izostaviti), a parametar -r zahtijeva postavljanje sadržaja .DS_Store fajlova koji ne prelaze veličinu od 10 megabajta, u indeksnoj (tj. namenjenoj direktorijumima) sekciji trake umesto sekcije podataka.

Tajanstveni život je počeo u kasetofonu. Čekamo nekoliko minuta i dobijamo sljedeći odgovor:

LTFS15000I Pokretanje mkltfs-a, LTFS verzija 2.4.2.0 (10418), nivo dnevnika 2.
LTFS15041I Pokrenuo "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Ovaj binarni fajl je napravljen za Mac OS X.
LTFS15043I GCC verzija je 4.2.1 kompatibilna Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Verzija kernela: Darwin Kernel Verzija 19.4.0: Sre, 4. mart 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Uređaj za formatiranje '0'.
LTFS15004I LTFS veličina bloka volumena: 524288.
LTFS15005I Politika smještaja indeksne particije: size=10M/name=.DS_Store.

LTFS11337I Ažuriraj indeks prljave zastavice (1) - NO_BARCODE (0x0x1021081e0).
LTFS17085I Dodatak: Učitava pozadinu trake “iokit”.
LTFS30810I Otvaranje uređaja preko iokit drajvera (0).
LTFS30814I ID dobavljača je IBM.
LTFS30815I ID proizvoda je 'ULT3580-TD5'.
LTFS30816I Revizija firmvera je H976.
LTFS30817I Drive serijski je **********.
LTFS17160I Maksimalna veličina bloka uređaja je 1048576.
LTFS11330I Punjenje kertridža.
LTFS30854I Zaštita logičkog bloka je onemogućena.
LTFS11332I Učitavanje uspješno.
LTFS17157I Promjena postavke pogona u način rada za pisanje bilo gdje.
LTFS15049I Provjera medija (montaža).
LTFS30854I Zaštita logičkog bloka je onemogućena.
LTFS15010I Kreiranje particije podataka b na SCSI particiji 1.
LTFS15011I Kreiranje indeksne particije a na SCSI particiji 0.
LTFS17165I Poništavanje proporcije kapaciteta medija.
LTFS11097I Particioniranje medija.
LTFS11100I Upisivanje naljepnice na particiju b.
LTFS11278I Upisivanje indeksa na particiju b.
LTFS30808I READ_ATTR (0x8c) vraća -20501.
LTFS30865I READ_ATTR vraća nevažeće polje u CDB (-20501) 0.
LTFS30836I Ne mogu pročitati atribut (-20501).
LTFS11336I Atribut ne postoji. Zanemarite očekivanu grešku.
LTFS17235I Indeks pisanja NO_BARCODE u b (Razlog: Format, 0 datoteka) **********.
LTFS17236I Napisao indeks NO_BARCODE (b, **********).
LTFS11337I Ažuriraj indeks prljave zastavice (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Upisivanje oznake na particiju a.
LTFS11278I Zapisivanje indeksa na particiju a.
LTFS30808I READ_ATTR (0x8c) vraća -20501.
LTFS30865I READ_ATTR vraća nevažeće polje u CDB (-20501) 0.
LTFS30836I Ne mogu pročitati atribut (-20501).
LTFS11336I Atribut ne postoji. Zanemarite očekivanu grešku.
LTFS17235I Indeks pisanja NO_BARCODE u a (Razlog: Format, 0 datoteka) 9068025555.
LTFS17236I Napisao indeks NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I Kapacitet volumena je 1425 GB.
LTFS30854I Zaštita logičkog bloka je onemogućena.
LTFS15024I Srednji format uspješno.

Montirajte formatiranu traku:

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

Dobijamo još par minuta rada pogona i dijagnostike:

307 LTFS14000I LTFS pokretanje, LTFS verzija 2.4.2.0 (10418), nivo dnevnika 2.
307 LTFS14058I Specifikacija LTFS formata verzija 2.4.0.
307 LTFS14104I Pokrenuo “ltfs /Volumes/LTFS/”.
307 LTFS14105I Ova binarna datoteka je napravljena za Mac OS X.
307 LTFS14106I GCC verzija je 4.2.1 kompatibilna Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Verzija kernela: Darwin Kernel verzija 19.4.0: sre, 4. mart 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Tip sinhronizacije je “vrijeme”, vrijeme sinhronizacije je 60 sek.
307 LTFS17085I Dodatak: Učitava pozadinu trake “iokit”.
307 LTFS17085I Dodatak: Učitavanje “ujedinjenog” iosched backenda.
307 LTFS14095I Postavite način pisanja bilo gdje uređaja trake kako biste izbjegli izbacivanje kazete.
307 LTFS30810I Otvaranje uređaja preko iokit drajvera (0).
307 LTFS30814I ID dobavljača je IBM.
307 LTFS30815I ID proizvoda je 'ULT3580-TD5'.
307 LTFS30816I Revizija firmvera je H976.
307 LTFS30817I Drive serijski je **********.
307 LTFS17160I Maksimalna veličina bloka uređaja je 1048576.
307 LTFS11330I Punjenje kertridža.
307 LTFS30854I Zaštita logičkog bloka je onemogućena.
307 LTFS11332I Učitavanje uspješno.
307 LTFS17157I Promjena postavke pogona u način rada za pisanje bilo gdje.
307 LTFS11005I Montaža volumena.
307 LTFS30854I Zaštita logičkog bloka je onemogućena.
307 LTFS17227I Atribut trake: Dobavljač = IBM.
307 LTFS17227I Atribut trake: Ime aplikacije = LTFS.
307 LTFS17227I Atribut trake: Verzija aplikacije = 2.4.2.0.
307 LTFS17227I Atribut trake: Medium Label =.
307 LTFS17228I Atribut trake: ID lokalizacije teksta = 0x81.
307 LTFS17227I Atribut trake: Barkod =.
307 LTFS17227I Atribut trake: Format aplikacije Verzija = 2.4.0.
307 LTFS17228I Atribut trake: Status zaključavanja glasnoće = 0x00.
307 LTFS17227I Atribut trake: Ime spremišta medija =.
307 LTFS14111I Početno postavljanje je uspješno završeno.
307 LTFS14112I Pozovite naredbu 'mount' da provjerite rezultat konačnog podešavanja.
307 LTFS14113I Navedena točka montiranja je navedena ako je uspjela.

I evo ga, naša traka na radnoj površini, pod nazivom Test(ltfs)! Neimenovana traka će se zvati OSXFUSE Volume 0 (ltfs).

Sada možete raditi s njim.

Apple Mac i fensi uređaji. LTO, SAS, Fibre Channel, eSATA

Općenito, morate imati na umu da je preporučljivo da ne koristite pretjerano gledanje sadržaja direktorija trake u prozorima tražila, jer je ovo nevjerojatno skupa operacija za LTFS, ali bolje je raditi s naredbama terminala ili jednostavno resetirati direktorij sigurnosne kopije na traci, kao što je prikazano u prozoru iznad.

Inače, postoji posebno napisan IBM-ov uslužni program ltfs_copy i njegovi klonovi, dizajnirani za efikasnije kopiranje između trake i diska, ali do sada ih autor površnom pretragom nije uspio pronaći u javnom domenu.

Možete odmontirati traku naredbom:

umount /Volumes/LTFS

ili ga jednostavno bacite u smeće.

Zapravo, u prirodi postoje neke vrste grafičkih školjki za macOS koje olakšavaju ove radnje, ali nakon takvih perverzija, treba li se bojati ukucati nekoliko redaka u terminal?

Kao nuspojava dobijamo priliku da povežemo eksterne eSATA drajvove preko SAS/4*eSATA kabla.

Apple Mac i fensi uređaji. LTO, SAS, Fibre Channel, eSATA

izvor: www.habr.com

Dodajte komentar