Apple Mac ja uhked seadmed. LTO, SAS, Fiber Channel, eSATA

Selle artikli teema on välisseadmete ühendamine Maciga SAS-i, Fibre Channeli (FC) ja eSATA liideste kaudu. Ütleme kohe, et sellistele seadmetele juurdepääsu probleemi lahendamiseks on tervele inimesele võimalus: ehitage odav arvuti, ühendage HBA SAS või FC kontrolleri kaart (näiteks lihtne LSI adapter), ühendage oma seadmed selle kontrolleri jaoks installige arvutisse mis tahes Linux ja töötage Macist võrgu kaudu. Kuid see on banaalne ja ebahuvitav. Me läheme raskele teele ja ühendame oma seadmed otse Macile.

Mida me selleks vajame:
– korralik rahasumma uute seadmete ostmiseks või edu eBay oksjonitel (kust saab vähese vaevaga eelmiste põlvkondade nõutud varustuse 10 korda odavam kui hinnakiri);
- See artikkel.

Magnetlindiga (nüüd LTO-vormingus peaaegu üldiselt esindatud) töötamiseks peab teil olema LTO-lindiseade (vooder) või lindikogu. See on esmaseks ostmiseks üsna kallis seade (alates sadadest tuhandetest rubladest), kuid kasutatud ostmisel on see mõistliku summa väärt. Kuna LTO põlvkonnad vahetuvad ligikaudu iga kahe aasta tagant ja ühilduvus on piiratud kahe põlvkonnaga, on järelturg üsna küllastunud töötavate, neli aastat või vanemate seadmetega, s.t. eelmine põlvkond ja pärast seda. Kui ostate uue seadme ärilistel eesmärkidel, saate ise aru, miks seda vajate. Kui soovite osta oma koju ja perele, võite seda võimalust kaaluda teabe arhiveerimise viisina (kuna meedia ise on 1 gigabaidi kohta väga odav).

Alates LTO-5 põlvkonnast (ja osaliselt ka LTO-4) ühendatakse magnetlindiga töötamise seadmed riistvaras arvutiga SAS- või FC-liidese kaudu (tavaliselt on igast seadmest kaks versiooni)

Teisest küljest pakub Apple meile lahkelt meie Macis USB-C-liidese (töötab USB-, Thunderbolt 3- või DisplayPort-protokolliga), mõnikord Etherneti liidese, aga ka patenteeritud Thunderbolt 3 - Thunderbolt 2 ja Thunderbolt - FireWire 800 adapterid.

ummikseisu? Mitte päris. Õnneks saab Thunderbolt töötada PCIe režiimis ja võimaldada PCIe-kaartide ühendamist samamoodi, nagu oleks need paigaldatud otse arvuti korpuse sisse. Tänu sellele on sobiva adapteri ja draiverite olemasolul võimalik Maci riistvara konfiguratsiooni mis tahes laiendamine.

Põhimõtteliselt on probleemi lahendamiseks lihtsaim viis PCIe-adapterite jaoks väline kast koos Thunderbolt-liidesega (PCIe-kaardi laiendussüsteem), millesse saab paigaldada SAS-i või FC Host-bussi adapteri (HBA). Näiteks selliseid kaste toodab ettevõte Sonett ja mõned teised. Siin on nüanss: mitte iga kontroller ei sobi meile, vaid ainult see, millel on macOS-i draiver. Selliseid tahvleid on vähe ning kõige odavamad ja populaarsemad (näiteks sama LSI) ei kuulu nende hulka. Õnneks võttis Sonnet koostamisega vaevaks ühilduvuse tabel Thunderbolti liidese kaudu erinevate OS-idega PCIe-kaardid.

Teine lahendus on osta valmis Thunderbolt - SAS või Thunderbolt - FC liidesemuundur, mis tegelikult on kasti ja kontrolleri valmiskoost. Selle piirkonna kuulsaim ettevõte ATTO, kuid on ka teiste firmade tooteid.

Pange tähele, et mitte kõik SAS- ja FC-kontrollerid ei ole sertifitseeritud vastama LTO standardile, kuna see iseenesest maksab. Mõned tootjad kirjutavad otse, et nende kontrollerid ei ole mõeldud lindiseadmetega töötamiseks.

Pildi täiendamiseks märgime, et mLogic toodab kokkulepe, mis on välises korpuses IBM LTO-8 draiv, millesse on kohe integreeritud SAS to Thunderbolt 3 konverter.See on aga veelgi eksootilisem asi kui kõik eelpool kirjeldatu, eriti meie regiooni standardite järgi. Ma kahtlen, kas seda seadet saab isegi legaalselt Venemaale importida (LTO-draivid sisaldavad krüptofunktsioone ja tootjad nagu IBM ja HP ​​saavad sel põhjusel iga mudeli jaoks FSB-impordi loa).

Järgmisena vaatleme näitena konkreetset varustuskomplekti, mille omanikuks autor sai mitme eduka soetamise tulemusena, kuid üldpõhimõte tuleks säilitada kõigi võimaluste puhul.

Seega on meil lindiga töötamiseks järgmised seadmed:
– Apple Mac mini 2018 arvuti operatsioonisüsteemiga macOS 10.15 Catalina, millel on USB-C pordid koos Thunderbolt 3 toega;
– Apple Thunderbolt 3 / Thunderbolt 2 adapter;
– Apple Thunderbolt 2 kaabel;
– ATTO ThunderLink SH 1068 liidesemuundur (2*Thunderbolt / 2*SAS-2);
– SAS kaabel SFF-8088 – SFF-8088;
– lindiseade LTO-5 IBM TS2350;
– LTO-5 kassetid, puhastuskassett.

Nüüd, nagu öeldakse, püüame kogu selle kraamiga hakkama saada.

Laadime ATTO veebisaidilt alla ThunderLink SH 1068 draiveri uusima versiooni (ilmselt on see meie mugavuse huvides kombineeritud SH 2068 draiveriga ja asub jaotises 2068, mis on kirjutatud ainult draiveriga arhiivis) ja ATTO konfiguratsiooniutiliit.

Apple Mac ja uhked seadmed. LTO, SAS, Fiber Channel, eSATA

Draiver vajab muidugi installimist. Enne selliseid toiminguid soovitab autor alati teha alglaadimisketta APFS-failisüsteemist hetktõmmis käsuga

tmutil localsnapshot

või alglaadimisketta varukoopia, kui sellel on HFS+. Ei või iial teada. Siis on hetktõmmisest lihtne tagasi kerida.

Järgmisena kaldub kogenematu, kuid hoolikas mõistus kahtlemata hoolikalt lugema ATTO draiveri installijuhiseid ja järgima neid. Selle tulemusena - tadam! – saame operatsioonisüsteemi, mis ripub laadimisetapis. Siin võib vaja minna hetktõmmist, millest saaksime taastada, kutsudes välja Time Machine'i taastesektsioonist või samast taastepartitsioonist saame kahjustatud kexti kerneli laiendite kataloogist käsitsi kustutada (autor üldiselt seda teha ei soovita).

Miks see juhtub? Sest Apple hoolitses meie eest. MacOS-i viimastes versioonides ei saa te lihtsalt alglaadimisprotsessi võõrast koodi sisestada. Head Apple'i programmeerijad on selle hävitava käitumise blokeerinud. Täpsemalt blokeerisid nad selle poolel teel, kui juhi ootus on ellu viidud, kuid juht ise mitte, nii et kõik lihtsalt külmub.

Mida peaks kogenud mõistus enne draiveri installimist tegema? Esmalt anna käsk:

csrutil status

Kui vastuseks sellele saame:

Süsteemi terviklikkuse kaitse olek: lubatud.

siis see tähendab, et head Apple'i programmeerijad hoolivad meist, nii et meie jaoks ei tule midagi välja enne, kui me nende suurepärase kaitse välja lülitame. Selleks taaskäivitage taastesektsioon (⌘R), helistage terminalile ja andke käsk:

csrutil disable

Pärast seda taaskäivitame töötavasse süsteemi ja alles seejärel installime draiveri ja samal ajal ATTO konfiguratsiooniutiliiti (põhimõtteliselt on konfiguratsiooniutiliit vajalik ainult diagnostikaks ja seda pole tavapärase töö ajal vaja). Teel, kui küsitakse, kinnitame süsteemiseadetes ATTO volituse. Pärast installimist saate taaskäivitada taastesektsiooni ja anda käsu

csrutil enable

Apple hoolitseb taas meie eest.

Nüüd on meil draiveri toega liides välistele SAS-seadmetele (või FC-le, kui kasutati FC-muundurit). Kuidas aga teibiga loogilisel tasandil töötada?

Nagu kogenematu, kuid erudeeritud mõistus teab, toetab iga Unixiga ühilduv süsteem lindiseadmeid kerneli tasemel ja süsteemi põhiutiliite, mille hulka kuuluvad peamiselt mt (lindihaldus) ja tar (arhiiv, mis toetab lindil olevate arhiividega töötamist). Mida oskab aga selle kohta öelda kogenud mõistus? Mis tahes Unixiga ühilduv süsteem, välja arvatud macOS. Apple hoolitses meie eest, eemaldades oma koodist lintseadmete toe.

Kuid kas seda koodi on tõesti võimatu tagastada standardsete avatud lähtekoodiga Unixi utiliitide portimisega macOS-i? Hea uudis on see, et Tolis (mida ma ei linki) on seda juba oma tootes Tolis Tape Tools teinud. Halb uudis on see, et mainitud firma maksab oma töö tulemuste kasutamiseks 399 dollarit. Hinnangud sellele asjaolule võivad erineda, kuid autor isiklikult ei ole valmis maksma kellelegi 400 taala koodi eest, mis on enamasti kirjutatud täiesti erinevate inimeste poolt ja on olnud avatud kasutusel alates 1970. aastatest ning seetõttu esitab autor selle küsimuse enda jaoks. loeb suletuks. (Muide, Githubis on ebamäärases olekus mahajäetud tasuta projekt IOSCSITape samal teemal).

Õnneks on maailmas olemas korporatsioon IBM, mille kommertsisud on hoopis teises mastaabis ega avaldu seetõttu igas pisiasjas. Eelkõige töötas see välja avatud lähtekoodiga LTFS-lindifailisüsteemi, mida levitatakse ka macOS-i jaoks.

Hoiatus on see, et erinevad lindiseadmete tootjad annavad oma seadmete toetamiseks välja oma LTFS-i versioonid. Kuna autor kasutab IBMi lindiseadet, installis ta LTFS-i IBM-ilt. Kolmanda osapoole draivid võivad vajada oma LTFS-porte. Ja Githubis ja Homebrewis on avatud LTFS-i universaalne rakendus.

Meie jaoks on oluline, et LTFS kasutaks meediumipartitsiooni funktsiooni ja saaks seetõttu töötada seadmete ja kassettidega alates LTO-5 põlvkonnast.

Nii et meie puhul laadime IBM-i veebisaidilt alla macOS-i jaoks mõeldud IBM Spectrum Archive Single Drive Editioni, mis sisaldab LTFS-i juurutamist. Ilma seiklusteta paigaldame toote oma paigaldaja abil. Teel installib ta ka FUSE paketi ning süsteemiseadetes tuleb tal kinnitada Anatol Pomozovi nimelise nutika programmeerija volitused, kellest sel juhul sõltub kogu IBM. Respekt ja lugupidamine sellele mehele.

Soovitav on see rida kohe kirjutada faili /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

valik single-drive sync_type=time@1

mis määrab, et lint on vaikimisi paigaldatud ja salvestuspuhver lähtestatakse pärast 1-minutilist tegevusetust (vaikimisi on 5 minutit).

Apple Mac ja uhked seadmed. LTO, SAS, Fiber Channel, eSATA

Lõpuks on kõik ühendamiseks valmis. Ühendame keti: Mac – T3/T2 adapter – Thunderbolt kaabel – ATTO konverter – SAS kaabel – lindiseade (mitme pordi valik Macil, muunduril ja draivil pole oluline). Lülitage muunduri toide sisse. Lülitage lindiseadme toide sisse. Ootame, kuni draiv initsialiseerimise lõpetab vastavalt selle näidule.

Anname käsu:

ltfs -o device_list

Hurraa! Saame (tavalisel IBM-i diagnostilisel viisil):

307 LTFS14000I LTFS käivitub, LTFS versioon 2.4.2.0 (10418), logi tase 2.
307 LTFS14058I LTFS-vormingu spetsifikatsiooni versioon 2.4.0.
307 LTFS14104I Käivitas "ltfs -o device_list".
307 LTFS14105I See kahendfail on loodud operatsioonisüsteemi Mac OS X jaoks.
307 LTFS14106I GCC versioon on versiooniga 4.2.1 ühilduv Apple Clang 4.1 ((sildid/Apple/clang-421.11.66)).
307 LTFS17087I Kerneli versioon: Darwin Kerneli versioon 19.4.0: kolmapäev, 4. märts 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I pistikprogramm: "iokiti" lindi taustaprogrammi laadimine.
Lindiseadmete loend:.
Seadme nimi = 0, hankija ID = IBM, toote ID = ULT3580-TD5, seerianumber = **********, toote nimi = [ULT3580-TD5].

Sisestage kassett, oodake, kuni see laaditakse ja vormindatakse:

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

Siin määrab parameeter -d draivi numbri (alati null, kui see on ainus, kuid seda ei saa selles käsus ära jätta), -n on lindi nimi (saate selle ära jätta) ja parameeter -r nõuab sisu paigutamist .DS_Store-failidest, mille suurus ei ületa 10 megabaiti, lindi indeksi (st kataloogide jaoks mõeldud) jaotises andmejaotise asemel.

Lindidraivis algas salapärane elu. Ootame paar minutit ja saame järgmise vastuse:

LTFS15000I Käivitatakse mkltfs, LTFS-i versioon 2.4.2.0 (10418), logitase 2.
LTFS15041I Käivitas "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I See kahendfail on loodud operatsioonisüsteemi Mac OS X jaoks.
LTFS15043I GCC versioon on 4.2.1 ühilduv Apple Clang 4.1 ((sildid/Apple/clang-421.11.66)).
LTFS17087I Kerneli versioon: Darwin Kerneli versioon 19.4.0: kolmapäev, 4. märts 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Vormindamisseade '0'.
LTFS15004I LTFS-i köiteploki suurus: 524288.
LTFS15005I Indeksi partitsiooni paigutuspoliitika: suurus=10M/nimi=.DS_Store.

LTFS11337I Värskenduse indeksi määrdumise lipp (1) – EI_VÖÖBKOODI (0x0x1021081e0).
LTFS17085I pistikprogramm: "iokiti" lindi taustaprogrammi laadimine.
LTFS30810I Seadme avamine iokiti draiveri kaudu (0).
LTFS30814I tarnija ID on IBM.
LTFS30815I toote ID on ULT3580-TD5.
LTFS30816I püsivara versioon on H976.
LTFS30817I draivi seerianumber on **********.
LTFS17160I Seadme ploki maksimaalne suurus on 1048576.
LTFS11330I Kasseti laadimine.
LTFS30854I Loogilise ploki kaitse on keelatud.
LTFS11332I Laadimine õnnestus.
LTFS17157I Draivi sätte muutmine kõikjal kirjutamise režiimile.
LTFS15049I Meediumi (kinnituse) kontrollimine.
LTFS30854I Loogilise ploki kaitse on keelatud.
LTFS15010I Andmepartitsiooni b loomine SCSI-sektsioonis 1.
LTFS15011I Indekspartitsiooni a loomine SCSI-partitsioonil 0.
LTFS17165I Andmekandja võimsuse proportsiooni lähtestamine.
LTFS11097I Andmekandja partitsioonid.
LTFS11100I Sildi kirjutamine partitsioonile b.
LTFS11278I Indeksi kirjutamine partitsiooni b.
LTFS30808I READ_ATTR (0x8c) tagastab -20501.
LTFS30865I READ_ATTR tagastab CDB (-20501) 0 vale välja.
LTFS30836I Ei saa lugeda atribuuti (-20501).
LTFS11336I Atribuuti pole olemas. Ignoreeri oodatud viga.
LTFS17235I Kirjutamisindeks NO_BARCODE väärtusele b (Põhjus: vorming, 0 faili) *********.
LTFS17236I Kirjutas indeksi NO_BARCODE (b, **********).
LTFS11337I Värskenduse indeksi määrdumise lipp (0) – EI_VÖÖBKOODI (0x0x1021081e0).
LTFS11100I Sildi kirjutamine partitsioonile a.
LTFS11278I Indeksi kirjutamine partitsiooni a.
LTFS30808I READ_ATTR (0x8c) tagastab -20501.
LTFS30865I READ_ATTR tagastab CDB (-20501) 0 vale välja.
LTFS30836I Ei saa lugeda atribuuti (-20501).
LTFS11336I Atribuuti pole olemas. Ignoreeri oodatud viga.
LTFS17235I NO_BARCODE indeksi kirjutamine a-sse (Põhjus: vorming, 0 faili) 9068025555.
LTFS17236I Kirjutas indeksi NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I mahu maht on 1425 GB.
LTFS30854I Loogilise ploki kaitse on keelatud.
LTFS15024I Meediumivorming õnnestus.

Paigaldage vormindatud lint:

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

Saame veel paar minutit sõidutööd ja diagnostikat:

307 LTFS14000I LTFS käivitub, LTFS versioon 2.4.2.0 (10418), logi tase 2.
307 LTFS14058I LTFS-vormingu spetsifikatsiooni versioon 2.4.0.
307 LTFS14104I Käivitas “ltfs /Volumes/LTFS/”.
307 LTFS14105I See kahendfail on loodud operatsioonisüsteemi Mac OS X jaoks.
307 LTFS14106I GCC versioon on versiooniga 4.2.1 ühilduv Apple Clang 4.1 ((sildid/Apple/clang-421.11.66)).
307 LTFS17087I Kerneli versioon: Darwin Kerneli versioon 19.4.0: kolmapäev, 4. märts 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Sünkroonimise tüüp on “aeg”, sünkroonimisaeg on 60 sek.
307 LTFS17085I pistikprogramm: "iokiti" lindi taustaprogrammi laadimine.
307 LTFS17085I pistikprogramm: "ühtse" iosched-taustaprogrammi laadimine.
307 LTFS14095I Kasseti väljutamise vältimiseks määrake lindiseadme kõikjal kirjutamise režiim.
307 LTFS30810I Seadme avamine iokiti draiveri kaudu (0).
307 LTFS30814I Tarnija ID on IBM.
307 LTFS30815I Toote ID on ULT3580-TD5.
307 LTFS30816I Püsivara versioon on H976.
307 LTFS30817I draivi seerianumber on **********.
307 LTFS17160I Seadme ploki maksimaalne suurus on 1048576.
307 LTFS11330I Kasseti laadimine.
307 LTFS30854I Loogilise ploki kaitse on keelatud.
307 LTFS11332I Laadimine õnnestus.
307 LTFS17157I Draivi sätte muutmine kõikjal kirjutamise režiimile.
307 LTFS11005I Helitugevuse paigaldamine.
307 LTFS30854I Loogilise ploki kaitse on keelatud.
307 LTFS17227I Lindi atribuut: Tarnija = IBM.
307 LTFS17227I Lindi atribuut: Rakenduse nimi = LTFS.
307 LTFS17227I Lindi atribuut: rakenduse versioon = 2.4.2.0.
307 LTFS17227I Lindi atribuut: Medium Label =.
307 LTFS17228I Lindi atribuut: Teksti lokaliseerimise ID = 0x81.
307 LTFS17227I Lindi atribuut: Triipkood =.
307 LTFS17227I Lindi atribuut: Rakenduse vormingu versioon = 2.4.0.
307 LTFS17228I Lindi atribuut: helitugevuse luku olek = 0x00.
307 LTFS17227I Lindi atribuut: Meediumikogumi nimi =.
307 LTFS14111I Esialgne seadistus on edukalt lõpule viidud.
307 LTFS14112I Lõpliku seadistuse tulemuste kontrollimiseks käivitage käsk "mount".
307 LTFS14113I Edu korral kuvatakse määratud kinnituspunkt.

Ja siin see on, meie lint töölaual nimega Test(ltfs)! Nimetu lindi nimeks saab OSXFUSE Volume 0 (ltfs).

Nüüd saate sellega töötada.

Apple Mac ja uhked seadmed. LTO, SAS, Fiber Channel, eSATA

Üldiselt peate meeles pidama, et lindikataloogide sisu vaatamist otsiakendes ei ole soovitatav liialdada, kuna see on LTFS-i jaoks uskumatult kallis toiming, kuid parem on töötada terminali käskudega või lihtsalt lähtestada. varukataloogi hulgi lindile, nagu on näidatud ülaltoodud aknas.

Muide, on olemas spetsiaalselt kirjutatud IBM-i utiliit ltfs_copy ja selle kloonid, mis on mõeldud tõhusamaks kopeerimiseks lindi ja ketta vahel, kuid seni pole autoril õnnestunud neid pealiskaudse otsinguga avalikult leida.

Lindi saab lahti ühendada käsuga:

umount /Volumes/LTFS

või visata see lihtsalt prügikasti.

Tegelikult on looduses nende toimingute hõlbustamiseks macOS-i jaoks olemas mingisugused graafilised kestad, kuid kas peaksime pärast selliseid perversioone kartma terminali mõne rea tippimist?

Kõrvalmõjuna saame võimaluse ühendada väliseid eSATA-draive läbi SAS/4*eSATA kaabli.

Apple Mac ja uhked seadmed. LTO, SAS, Fiber Channel, eSATA

Allikas: www.habr.com

Lisa kommentaar