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

Tema ovog članka je povezivanje vanjskih uređaja na Mac preko SAS, Fibre Channel (FC), eSATA sučelja. Recimo odmah da za rješavanje problema pristupa takvim uređajima postoji način zdrave osobe: izgradite jeftino računalo, priključite HBA SAS ili FC karticu kontrolera (na primjer, jednostavan LSI adapter), povežite svoje uređaje s ovim kontrolerom , instalirajte bilo koji Linux na PC i radite s Maca preko mreže. Ali ovo je banalno i nezanimljivo. Ići ćemo hardcore putem i spojiti svoje uređaje direktno na Mac.

Što nam je potrebno za ovo:
– pristojan iznos novca za kupnju nove opreme ili puno sreće 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 s magnetskom vrpcom (koja je sada gotovo univerzalno zastupljena u LTO formatu), morate imati LTO pogon trake (streamer) ili knjižnicu traka. Ovo je prilično skup uređaj za početnu kupnju (od stotina tisuća rubalja), ali vrijedi razumnu količinu novca kada se kupuje rabljeni. Budući da se LTO generacije mijenjaju otprilike svake dvije godine, a kompatibilnost je ograničena na dvije generacije, sekundarno tržište prilično je zasićeno funkcionalnim uređajima starim četiri ili više godina, tj. pretprošla generacija i kasnije. Ako kupite novi uređaj u komercijalne svrhe, onda i sami razumijete zašto vam je potreban. Ako želite kupovati za svoj dom i obitelj, možete razmotriti ovu opciju kao način arhiviranja informacija (budući da su sami mediji vrlo jeftini po 1 gigabajtu).

Počevši od LTO-5 generacije (i dijelom LTO-4), uređaji za rad s magnetskom vrpcom hardverski su povezani s računalom preko SAS ili FC sučelja (obično postoje dvije verzije svakog uređaja)

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

Pat? 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 izravno unutar kućišta računala. Zbog toga je moguće bilo kakvo proširenje Mac hardverske konfiguracije, pod uvjetom da postoji odgovarajući adapter i upravljački programi.

Konceptualno najjednostavniji način rješavanja problema je vanjska kutija za PCIe adaptere s Thunderbolt sučeljem (PCIe card expansion system), u koju možete ugraditi SAS ili FC Host bus adapter (HBA). Na primjer, takve kutije proizvodi tvrtka Sonet i neki drugi. Ovdje postoji nijansa: nije svaki kontroler prikladan za nas, već samo onaj koji ima upravljački program za macOS. Postoji samo nekoliko takvih ploča, a najjeftinije i najpopularnije (na primjer, isti LSI) nisu uključene u njihov broj. Srećom, Sonet se potrudio sastaviti tablica kompatibilnosti PCIe kartice s različitim OS-ima preko Thunderbolt sučelja.

Drugo rješenje je kupnja gotovog pretvarača sučelja Thunderbolt - SAS ili Thunderbolt - FC, koji je zapravo gotov sklop kutije i kontrolera. Najpoznatija tvrtka na ovim prostorima ato, ali ima i proizvoda drugih tvrtki.

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 izravno pišu da njihovi kontroleri nisu dizajnirani za rad s pogonima trake.

Za potpunu sliku, napominjemo da mLogic proizvodi uređaj, koji je IBM LTO-8 disk u eksternom kućištu, u koji je odmah integriran konverter SAS u Thunderbolt 3. Ovo je, međutim, još egzotičnija stvar od svega gore opisanog, pogotovo za standarde naših prostora. Sumnjam da se ovaj uređaj uopće može legalno uvesti u Rusiju (LTO pogoni sadrže kriptografske značajke, a proizvođači kao što su IBM i HP iz tog razloga dobivaju FSB uvoznu dozvolu za svaki model).

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

Dakle, imamo sljedeću opremu za rad sa trakom:
– Apple Mac mini 2018 računalo s macOS 10.15 Catalina, koje ima USB-C priključke s podrškom za Thunderbolt 3;
– Apple Thunderbolt 3 / Thunderbolt 2 adapter;
– Apple Thunderbolt 2 kabel;
– ATTO ThunderLink SH 1068 pretvarač sučelja (2*Thunderbolt / 2*SAS-2);
– SAS kabel SFF-8088 – SFF-8088;
– pogon trake LTO-5 IBM TS2350;
– LTO-5 patrone, patrone za čišćenje.

Sada, kako kažu, sa svim ovim stvarima pokušat ćemo se riješiti.

S web stranice ATTO preuzimamo najnoviju verziju ThunderLink SH 1068 upravljačkog programa (očigledno, radi naše udobnosti, kombiniran je s SH 2068 upravljačkim programom i nalazi se u odjeljku 2068, koji je napisan samo unutar arhive s upravljačkim programom) i ATTO uslužni program za konfiguraciju.

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

Upravljački program, naravno, treba instalaciju. Prije takvih radnji, autor savjetuje da uvijek napravite snimku APFS datotečnog sustava diska za pokretanje s naredbom

tmutil localsnapshot

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

Zatim, neiskusan, ali dužan um će nedvojbeno biti sklon pažljivo pročitati upute za instalaciju upravljačkog programa ATTO i slijediti ih. Kao rezultat - tada! – dobivamo operativni sustav koji visi u fazi učitavanja. Ovdje nam može trebati snimka iz koje se možemo oporaviti pozivanjem Time machine-a s particije za oporavak ili s iste particije za oporavak možemo ručno izbrisati oboljeli kext iz direktorija proširenja kernela (autor općenito ne preporuča da se to radi).

Zašto se ovo događa? Jer Apple se pobrinuo za nas. U novijim verzijama macOS-a ne možete jednostavno ubaciti strani kod u proces pokretanja. Dobri Apple programeri su blokirali ovo destruktivno ponašanje. Točnije, blokirali su ga na pola puta, kada je očekivanje drivera implementirano, ali sam driver nije, pa se sve samo zamrzne.

Što bi sofisticirani um trebao učiniti prije instaliranja upravljačkog programa? Prvo dajte naredbu:

csrutil status

Ako kao odgovor na njega dobijemo:

Status zaštite integriteta sustava: omogućeno.

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

csrutil disable

Nakon toga se ponovno pokrećemo u radni sustav, a tek tada instaliramo upravljački program, a istovremeno i uslužni program za konfiguraciju ATTO (u principu, uslužni program za konfiguraciju potreban je samo za dijagnostiku i nije potreban tijekom normalnog rada). Usput, na upit, potvrđujemo ATTO autorizaciju u postavkama sustava. Nakon instalacije, možete ponovno pokrenuti sustav u particiji za oporavak i dati naredbu

csrutil enable

Apple se ponovno brine za nas.

Sada imamo sučelje koje podržava upravljački program za vanjske SAS uređaje (ili FC, ako je korišten FC pretvarač). Ali kako raditi s trakom na logičkoj razini?

Kao što neiskusan, ali eruditan um zna, bilo koji Unix-kompatibilni sustav podržava pogone trake na razini kernela i osnovnih uslužnih programa sustava, koji prvenstveno uključuju mt (upravljanje vrpcom) i tar (arhivator koji podržava rad s arhivama na vrpci). Međutim, što o tome može reći sofisticirani um? Bilo koji sustav kompatibilan s Unixom, osim macOS-a. Apple se pobrinuo za nas tako što je iz svog koda uklonio podršku za uređaje s trakom.

Ali je li stvarno nemoguće vratiti ovaj kod prijenosom standardnih Unix uslužnih programa otvorenog koda na macOS? Dobra vijest je da je Tolis (na koji se ne povezujem) to već učinio u svom proizvodu Tolis Tape Tools. Loša vijest je da spomenutu tvrtku korištenje rezultata njezina rada košta 399 dolara. Procjene ove činjenice mogu varirati, ali autor osobno nije spreman nekome platiti 400 dolara za kod koji su uglavnom napisali sasvim drugi ljudi i koji je u otvorenoj upotrebi od 1970-ih, pa si autor postavlja ovo pitanje smatra zatvorenim. (Usput, na Githubu postoji besplatni projekt napušten u nejasnom stanju IOSCSITrpca na istu temu).

Srećom, u svijetu postoji korporacija IBM čiji su komercijalni apetiti sasvim drugačijih razmjera, pa se ne očituju baš u svakoj sitnici. Konkretno, razvila je tračni datotečni sustav otvorenog koda LTFS, koji se također distribuira za macOS.

Upozorenje je da različiti proizvođači uređaja s trakom izdaju vlastite verzije LTFS-a za podršku svojim uređajima. Budući da autor koristi IBM pogon trake, instalirao je LTFS iz IBM-a. Pogoni trećih strana mogu zahtijevati vlastite LTFS priključke. Postoji i univerzalna implementacija openLTFS-a na Githubu i Homebrewu.

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

Dakle, u našem slučaju preuzimamo izdanje IBM Spectrum Archive Single Drive Edition za macOS s web stranice IBM-a, koje uključuje implementaciju LTFS-a. Bez ikakvih avantura, instaliramo proizvod pomoću vlastitog instalatera. Usput instalira i paket FUSE, a u postavkama sustava morat će potvrditi autorizaciju pametnog programera Anatola Pomozova o kojem u ovom slučaju ovisi cijeli IBM. Respekt i respekt za ovog čovjeka.

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 vrpca postavljena prema zadanim postavkama i da se međuspremnik za snimanje resetira nakon 1 minute neaktivnosti (zadano je 5 minuta).

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

Konačno je sve spremno za spajanje. Spajamo lanac: Mac – T3/T2 adapter – Thunderbolt kabel – ATTO konverter – SAS kabel – tračni pogon (izbor nekoliko priključaka na Macu, konverter i pogon nije bitan). Uključite napajanje pretvarača. Uključite napajanje pogona trake. Čekamo da pogon dovrši inicijalizaciju prema svojim indikacijama.

Dajemo naredbu:

ltfs -o device_list

hura! Dobivamo (na uobičajeni IBM-ov dijagnostički način):

307 LTFS14000I LTFS pokretanje, LTFS verzija 2.4.2.0 (10418), razina dnevnika 2.
307 LTFS14058I Specifikacija LTFS formata verzija 2.4.0.
307 LTFS14104I Pokrenuto s "ltfs -o device_list".
307 LTFS14105I Ova binarna datoteka je napravljena za Mac OS X.
307 LTFS14106I GCC verzija je 4.2.1 kompatibilna s Apple Clang 4.1 ((oznake/Apple/clang-421.11.66)).
307 LTFS17087I Verzija kernela: Verzija jezgre Darwin 19.4.0: srijeda, 4. ožujka 22:28:40 PST 2020.; korijen:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Dodatak: Učitavanje pozadine trake “iokit”.
Popis uređaja trake:.
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 navodi broj pogona (uvijek nula ako je jedini, ali ne može se izostaviti u ovoj naredbi), -n je naziv trake (možete ga izostaviti), a parametar -r zahtijeva postavljanje sadržaja .DS_Store datoteka koje ne prelaze veličinu od 10 megabajta, u odjeljku indeksa (tj. namijenjenom direktorijima) trake umjesto odjeljka podataka.

Tajanstveni život započeo je u pogonu trake. Čekamo nekoliko minuta i dobivamo sljedeći odgovor:

LTFS15000I Pokretanje mkltfs, LTFS verzija 2.4.2.0 (10418), razina dnevnika 2.
LTFS15041I Pokrenuo "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Ova binarna datoteka je izgrađena za Mac OS X.
LTFS15043I GCC verzija je 4.2.1 kompatibilna s Apple Clang 4.1 ((oznake/Apple/clang-421.11.66)).
LTFS17087I Verzija kernela: Verzija jezgre Darwin 19.4.0: srijeda, 4. ožujka 22:28:40 PST 2020.; korijen:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Uređaj za formatiranje '0'.
LTFS15004I Veličina bloka volumena LTFS: 524288.
LTFS15005I Politika postavljanja particije indeksa: veličina=10M/ime=.DS_Store.

LTFS11337I Ažuriraj oznaku prljavog indeksa (1) - NO_BARCODE (0x0x1021081e0).
LTFS17085I Dodatak: Učitavanje pozadine trake “iokit”.
LTFS30810I Otvaranje uređaja kroz iokit upravljački program (0).
LTFS30814I ID dobavljača je IBM.
LTFS30815I ID proizvoda je 'ULT3580-TD5'.
LTFS30816I Revizija firmvera je H976.
LTFS30817I Serijski pogon je **********.
LTFS17160I Maksimalna veličina bloka uređaja je 1048576.
LTFS11330I Uložak za punjenje.
LTFS30854I Zaštita logičkog bloka je onemogućena.
LTFS11332I Učitavanje uspješno.
LTFS17157I Promjena postavke pogona na način pisanja bilo gdje.
LTFS15049I Provjera medija (montaža).
LTFS30854I Zaštita logičkog bloka je onemogućena.
LTFS15010I Kreiranje podatkovne particije b na SCSI particiji 1.
LTFS15011I Kreiranje indeksne particije a na SCSI particiji 0.
LTFS17165I Ponovno postavljanje proporcije kapaciteta medija.
LTFS11097I Particioniranje medija.
LTFS11100I Zapisivanje oznake u particiju b.
LTFS11278I Pisanje indeksa u 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 pogrešku.
LTFS17235I Indeks pisanja NO_BARCODE u b (Razlog: Format, 0 datoteka) **********.
LTFS17236I Napisao je indeks NO_BARCODE (b, **********).
LTFS11337I Ažuriraj oznaku prljavog indeksa (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Zapisivanje oznake u particiju a.
LTFS11278I Pisanje indeksa u 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 pogrešku.
LTFS17235I Pisanje indeksa NO_BARCODE u (Razlog: Format, 0 datoteka) 9068025555.
LTFS17236I Napisao je 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 Medij je uspješno formatiran.

Montirajte formatiranu traku:

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

Dobivamo još par minuta pogona i dijagnostike:

307 LTFS14000I LTFS pokretanje, LTFS verzija 2.4.2.0 (10418), razina 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 s Apple Clang 4.1 ((oznake/Apple/clang-421.11.66)).
307 LTFS17087I Verzija kernela: Verzija jezgre Darwin 19.4.0: srijeda, 4. ožujka 22:28:40 PST 2020.; korijen:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Vrsta sinkronizacije je “vrijeme”, Vrijeme sinkronizacije je 60 sekundi.
307 LTFS17085I Dodatak: Učitavanje pozadine trake “iokit”.
307 LTFS17085I Dodatak: Učitavanje "objedinjene" iosched pozadine.
307 LTFS14095I Postavite način pisanja bilo gdje za uređaj trake da izbjegnete izbacivanje kazete.
307 LTFS30810I Otvaranje uređaja preko iokit pogonitelja (0).
307 LTFS30814I ID dobavljača je IBM.
307 LTFS30815I ID proizvoda je 'ULT3580-TD5'.
307 LTFS30816I Revizija firmvera je H976.
307 LTFS30817I Serijski pogon je **********.
307 LTFS17160I Maksimalna veličina bloka uređaja je 1048576.
307 LTFS11330I Uložak za punjenje.
307 LTFS30854I Zaštita logičkog bloka je onemogućena.
307 LTFS11332I Učitavanje uspješno.
307 LTFS17157I Promjena postavke pogona na način pisanja bilo gdje.
307 LTFS11005I Montiranje 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: Crtični kod =.
307 LTFS17227I Atribut trake: Verzija formata aplikacije = 2.4.0.
307 LTFS17228I Atribut trake: Status zaključavanja volumena = 0x00.
307 LTFS17227I Atribut trake: Ime spremišta medija =.
307 LTFS14111I Početno postavljanje je uspješno dovršeno.
307 LTFS14112I Pozovite naredbu 'mount' da provjerite rezultat konačnog postavljanja.
307 LTFS14113I Navedena točka montiranja je navedena ako je uspjela.

I evo ga, naša vrpca na radnoj površini pod nazivom Test(ltfs)! Neimenovana traka bit će nazvana OSXFUSE svezak 0 (ltfs).

Sada možete raditi s njim.

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

Općenito, morate imati na umu da nije preporučljivo pretjerivati ​​s pregledavanjem sadržaja direktorija trake u prozorima tražila, budući da je to nevjerojatno skupa operacija za LTFS, ali bolje je raditi s terminalskim naredbama ili jednostavno resetirati direktorij sigurnosne kopije skupno na traku, kao što je prikazano u gornjem prozoru.

Usput, postoji posebno napisan IBM-ov uslužni program ltfs_copy i njegovi klonovi, dizajnirani za učinkovitije kopiranje između trake i diska, ali do sada ih autor nije uspio pronaći u javnoj domeni uz površnu pretragu.

Traku možete demontirati naredbom:

umount /Volumes/LTFS

ili jednostavno baciti u smeće.

Zapravo, u prirodi postoje neke vrste grafičkih ljuski za macOS koje olakšavaju te radnje, ali nakon takvih perverzija, trebamo li se bojati upisati nekoliko redaka u terminal?

Kao nuspojavu dobivamo mogućnost spajanja eksternih eSATA diskova putem SAS/4*eSATA kabela.

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

Izvor: www.habr.com

Dodajte komentar