KĂ€esoleva artikli teemaks on vĂ€lisseadmete ĂŒhendamine Maciga SAS, Fibre Channel (FC) ja eSATA liideste kaudu. Kohe tuleb mĂ€rkida, et selle probleemi lahendamiseks on olemas tervislik tee: koguda odav PC, panna sinna HBA SAS vĂ”i FC kontrolleri kaart (nĂ€iteks kĂ”ige lihtsam LSI adapter), ĂŒhendada sellele kontrollerile oma seadmed, installida PC-sse ĂŒkskĂ”ik milline Linux ja töötada Macist ĂŒle vĂ”rgu. Kuid see on igav ja huvitamata. Meie valime hardcore tee ja ĂŒhendame oma seadmed otseselt Maciga.
Mida me selleks vajame:
â korralik hulk raha uue varustuse ostmiseks vĂ”i Ă”nn eBay oksjonitel (kus, natuke vaeva nĂ€hes, saab vajaliku eelneva pĂ”lvkonna seadme 10 korda odavamalt kui hinnakirjas);
â see artikkel.
Kuna magnetlintidega töötamiseks (mis on praegu enamasti LTO formaadis) on vajalik lintseade (streamer) vĂ”i LTO standardi lintbiblioteek. See on ĂŒsna kallis seade esmasel ostmisel (alates sadadest tuhandetest rubla), kuid mĂ”istliku hinna eest, kui ostate kasutatud. Kuna LTO pĂ”lvkonnad vahetuvad umbes iga kahe aasta tagant ja ĂŒhilduvus on piiratud kahe pĂ”lvkonna vahel, on teise ringi turg piisavalt kĂŒllastunud töötavate seadmetega, mis on neli aastat vĂ”i vanemad, st ĂŒlemise ja jĂ€rgmise pĂ”lvkonna seadmed. Kui ostate uue seadme kaubanduslikeks eesmĂ€rkideks, siis teate ilmselt, miks see teile vajalik on. Kui soovite osta seda koju ja perele, siis vĂ”ite kaaluda seda variandina teabe arhiivimiseks (kuna ise kandjad on 1 gigabaidi kohta vĂ€ga odavad).
Alates LTO-5 pĂ”lvkonnast (ja osaliselt LTO-4), on magnetlintidega töötamise seadmed fĂŒĂŒsiliselt ĂŒhendatud arvutiga SAS vĂ”i FC liidese kaudu (tavaliselt on iga seadme jaoks kaks versiooni).
Teiselt poolt pakub Apple meile meie Macis USB-C liidest (mis töötab USB, Thunderbolt 3 vĂ”i DisplayPort protokollide kaudu), mĂ”nikord Etherneti liidese, samuti spetsiaalseid Thunderbolt 3 â Thunderbolt 2 ja Thunderbolt â FireWire 800 adaptereid.
VĂ€ljapÀÀsu puudub? Ei ole pĂ€ris nii. Ănneks suudab Thunderbolt buss töötada PCIe reĆŸiimis, vĂ”imaldades ĂŒhendada PCIe kaarte nagu need oleksid otse arvuti korpusesse paigaldatud. Selle tĂ”ttu on vĂ”imalikud kĂ”ik Mac-i riistvara konfiguratsiooni laiendused, kui on olemas sobiv adapter ja draiverid.
Probleemi lihtsaim lahendus on PCIe adapterite jaoks Thunderbolt liidese vĂ€lisseade (PCIe kaardi laiendussĂŒsteem), kuhu saab paigaldada SAS vĂ”i FC kontrolleri (Host bus adapter, HBA). NĂ€iteks selliseid seadmeid toodab ettevĂ”te ja mĂ”ned teised. Siin on nĂŒanss: sobib kaugel mitte iga kontroller, vaid ainult need, millel on macOS-i draiver. Selliseid kaarte on ĂŒldiselt vĂ€he, ja kĂ”ige odavamad ning populaarsed (nĂ€iteks LSI) nende seas ei figureeri. Ănneks on firma Sonnet vaeva nĂ€inud koostada PCIe kaartide töö jaoks erinevate opsĂŒsteemide ja Thunderbolt liidese kaudu.
Teine lahendus on osta valmis Thunderbolt â SAS vĂ”i Thunderbolt â FC liidese muundur, mis on sisuliselt juba valmis seadistus, mille hulka kuuluvad boksi ja kontrolleri kombinatsioon. Antud valdkonnas on kĂ”ige tuntum firma , kuid leidub ka teiste firmade tooteid.
Oluline on mÀrkida, et kÔik SAS ja FC kontrollerid ei vasta LTO standardi nÔuetele, kuna see maksab end suure raha eest. MÔned tootjad kirjutavad otse, et nende kontrollerite töö lintfailide ketastega ei ole ette nÀhtud.
Kuna pilt oleks ebakorrektne, mainime, et firma mLogic toodab , mis on IBM LTO-8 ketas vĂ€liskorpuses, kuhu on koheselt integreeritud SAS to Thunderbolt 3 muundur. See on siiski asi, mis on veelgi eksootilisem kui kĂ”ik eelnevalt mainitud, eriti meie piirkondade konteksti raames. Kahtlen, et seda seadet on vĂ”imalik isegi seaduslikult Venemaale importida (LTO seadmed sisaldavad krĂŒptograafilisi vahendeid, ja tootjad nagu IBM ja HP saavad seetĂ”ttu iga mudeli impordiks FSB-lt loa).
JĂ€tkame nĂ€itena konkreetse seadme komplekti ĂŒlevaatamisega, mille omanikuks autor sai mitme Ă”nnestunud ostu tulemusena, kuid ĂŒldine pĂ”himĂ”te peaks kehtima kĂ”ikide variantide jaoks.
Nii et meil on lintide töötlemiseks jÀrgmine seadmetekomplekt:
â Apple Mac mini 2018 arvuti, millel on macOS 10.15 Catalina ja USB-C pordid, mis toetavad Thunderbolt 3;
â Apple Thunderbolt 3 / Thunderbolt 2 adapter;
â Apple Thunderbolt 2 kaabel;
â ATTO ThunderLink SH 1068 liidese konverter (2*Thunderbolt / 2*SAS-2);
â SAS SFF-8088 â SFF-8088 kaabel;
â LTO-5 IBM TS2350 lintkett;
â LTO-5 kassett, puhastuskassett.
NĂŒĂŒd, nagu öeldakse, pĂŒĂŒame kogu selle jamaga tĂ”usma tĂ”usta.
Laadime ATTO veebisaidilt alla viimane versioon ThunderLink SH 1068 draivist (selgelt meie mugavuseks on see ĂŒhendatud SH 2068 draiviga ja see asub jaotises 2068, millest on mĂ€rgitud ainult draivi arhivi sees) ja ATTO konfigureerimisutiliidist.

Draiver vajab loomulikult installimist. Enne selliste toimingute tegemist soovitab autor alati luua APFS kĂ€ivituskettal failisĂŒsteemi snĂ€ppĆĄoti kĂ€suga
tmutil localsnapshotvÔi varukoopia kÀivituskettast, kui see on HFS+. Kes teab, mis vÔib juhtuda. SeejÀrel on snÀppƥotist lihtne taastuda.
Edasi, algaja, kuid piisava ettevaatlikkuse ja arukusega, kalduks kindlasti hoolikalt lugema ATTO juhendit draiveri installimiseks ja jĂ€rgima seda. Tulemuseks on â ta-daa! â saame operatsioonisĂŒsteemi, mis hangub kĂ€ivitamisprotsessis. Siin vĂ”ib snĂ€ppĆĄotist abi olla, millest saab taastuda, kutsudes vĂ€lja Time Machine taastamisjaotusest, vĂ”i vĂ”ib samast taastamisjaotusest kĂ€sitsi kustutada probleemne kext kernel-laienete kataloogist (autor ei soovita seda ĂŒldiselt teha).
Miks see juhtub? Sest Apple hoolib meist. Viimastes macOS-i versioonides ei saa lihtsalt vÀliseid koode kÀivitamisprotsessi sisestada. Heade Apple'i programmeerijate tÔttu on selline destruktiivne kÀitumine blokeeritud. TÀpsemalt on see blokeeritud osaliselt, kui draiverit oodatakse, kuid draiver ise ei toimu, seega kÔik hangub.
Mida peaks teadlik meel enne draiveri installimist tegema? Esiteks, andma kÀsku:
csrutil statusKui saame vastuseks:
SĂŒsteemi Integriteedi Kaitse olek: sisse lĂŒlitatud.
siis tĂ€hendab see, et head Apple'i programmeerijad hoolivad meist, seega ei saa me midagi teha, kuni me nende suurepĂ€rast kaitset keelame. Selleks taaskĂ€ivitame taastamisjaotusse (âR), avame terminali ja anname kĂ€sku:
csrutil disablePĂ€rast seda kĂ€ivitame tööse sĂŒsteemi ja seejĂ€rel installime draiveri ning ATTO konfiguratsiooni utiliidi (pĂ”himĂ”tteliselt on konfiguratsiooni utiliit vajalik ainult diagnostikaks ja ei ole vajalik normaalses töös). Jooksvalt, kui palutakse, kinnitame sĂŒsteemi seadetes ATTO firma autoriseerimise. PĂ€rast installimist saab uuesti kĂ€ivituda taastamisreĆŸiimi ja anda kĂ€su
csrutil enableApple hoolib jÀlle meist.
NĂŒĂŒd on meil toetatud draiveriga liides vĂ€lisseadmetele SAS (vĂ”i FC, kui kasutaksime FC muundurit). Aga kuidas töötada lindiga loogilisel tasemel?
Nagu teada, toetab igasugune Unix-ĂŒhilduv sĂŒsteem lindiseadmikke tuuma ja pĂ”hivahendite tasemel, mille hulka kuuluvad peamiselt mt (lindiprotsessori juhtimine) ja tar (arhivaar, mis toetab töötlust lindiarhividega). Siiski, mida ĂŒtleb selle kohta kogenud meel? Iga Unix-ĂŒhilduv sĂŒsteem, vĂ€lja arvatud macOS. Apple on meie eest hoolt kandnud, eemaldades tugiteenuse lindiseadmikele oma koodist.
Aga ei oleks vĂ”imalik seda koodi tagasi tuua, portides standardseid avatud allika Unix utiliite macOS-ile? Hea uudis on see, et ettevĂ”te Tolis on selle juba teinud oma tootega Tolis Tape Tools. Halb uudis on see, et neil on oma töö tulemuste kasutamise hind 399 USA dollarit. Selle fakti hindamised vĂ”ivad olla erinevad, kuid isiklikult ei ole autor valmis maksma kellelegi 400 dollarit koodi eest, mis on suurimas osas kirjutatud tĂ€iesti teiste inimeste poolt ja olnud avatud kasutusele alates 1970. aastatest, seetĂ”ttu peab autor selle kĂŒsimuse enda jaoks lĂ”ppenuks. (Muide, GitHubis on olemas mahajĂ€etud seoses selle teemaga avatud projekt selle sama teema kohta).
Ănneks eksisteerib maailmas ettevĂ”te IBM, mille kommercilised ambitsioonid on tĂ€iesti teises mastaabis ja seetĂ”ttu ei ilmne nad igasugustes pisiasjades. EelkĂ”ige on nad vĂ€lja töötanud avatud lĂ€htekoodiga lindifailide sĂŒsteemi LTFS, mida levitatakse sealhulgas ka macOS-le.
Siin on nĂŒanss: erinevad lintseadmestikute tootjad toodavad oma versioone LTFS-st, mis toetavad nende seadmeid. Kuna autor kasutab IBM-i lintseadet, siis on ka LTFS installitud IBMilt. Muude tootjate seadmete jaoks vĂ”ivad olla vajalikud nende enda LTFS-vidinad. Samuti on olemas universaalne openLTFS teostus GitHubis ja Homebrew's.
Meile on oluline, et LTFS kasutab salvestusseadmestiku partitsioneerimise funktsiooni ja seetÔttu saab töötada seadmetega ja kassettidega alates LTO-5 pÔlvkonnast.
Nii et meie puhul laadime IBM-i veebisaidilt alla toote IBM Spectrum Archive Single Drive Edition macOS-ile, mis sisaldab LTFS-i teostust. Ilma igasuguste seiklusteta installime toote selle enda installeriga. Samal ajal paigaldab see ka FUSE-i paketi, millele peame sĂŒsteemi seadistustes kinnitama autoriĂ”iguse nutika programmeerija, nimega Anatol Pomozov, kellele sĂ”ltub antud juhul kogu IBM. Austus ja lugupidamine sellele inimesele.
Otstarbekas on kohe faili /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local kirjutada rida:
option single-drive sync_type=time@1
mis mÀÀrab vaikimisi lintmontaaĆŸi, mille salvestuse puhversĂ€tte tĂŒhistamine toimub ĂŒhe minuti jooksul mitteaktiivsuse tĂ”ttu (vaikimisi 5 minutit).

LĂ”puks on kĂ”ik valmis ĂŒhendamiseks. Ăhendame ahelat: Mac â T3/T2 adapter â Thunderbolt kaabel â ATTO konverter â SAS kaabel â lintseade (ĂŒhe valiku portide hulgast Macis, konverteris ja seadmes pole vahet). LĂŒlitame konverteri toite sisse. LĂŒlitame lintseadmestiku toite sisse. Ootame seadme initsialiseerimise lĂ”ppu selle indikaatori pĂ”hjal.
Anname kÀsu:
ltfs -o device_listHoorraa! Saame (IBM-i harjumuspÀrases diagnostikastandardis):
307 LTFS14000I LTFS kÀivitamine, LTFS versioon 2.4.2.0 (10418), logitase 2.
307 LTFS14058I LTFS formaadi spetsifikatsioon versioon 2.4.0.
307 LTFS14104I KÀivitatud kÀsu «ltfs -o device_list» kaudu.
307 LTFS14105I See binaar on loodud Mac OS X-i jaoks.
307 LTFS14106I GCC versioon on 4.2.1, ĂŒhilduv Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kerneli versioon: Darwin Kernel Version 19.4.0: KolmapÀev 4. mÀrts 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Laadimine «iokit» linttaust.
Lintseadmestiku loend:
Seadmestiku nimi = 0, tootja ID = IBM, toote ID = ULT3580-TD5, seerianumber = **********, tootenimi =[ULT3580-TD5].
Sisestame kassetti, ootame laadimist ja vormindame:
mkltfs -d 0 -nTest -r "size=10M/name=.DS_Store"Siin parameeter -d mÀÀrab andmehoidla numbri (alati null, kui see on ainus, kuid seda kĂ€sklusest ei saa jĂ€tta vĂ€lja), -n â riba nimi (seda vĂ”ib mitte mÀÀrata), ja parameeter -r nĂ”uab, et .DS_Store failide sisu, mille suurus ei ĂŒleta 10 megabaiti, paikneks indeksi (st kataloogide jaoks mĂ”eldud) osas riba asemel andmeosasse.
Saladuslik elu lindi andmehoidlas on alanud. Ootame paar minutit, et saada vastus:
LTFS15000I Alustatakse mkltfs, LTFS versioon 2.4.2.0 (10418), logitaseme 2.
LTFS15041I KÀivitati by «mkltfs -d 0 -nTest -r size=10M/name=.DS_Store».
LTFS15042I See binaar on koostatud Mac OS X-i jaoks.
LTFS15043I GCC versioon on 4.2.1 Ăhildub Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I SĂŒdamiku versioon: Darwin Kernel Version 19.4.0: Kolm MĂ€rts 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formateeritakse seade '0'.
LTFS15004I LTFS mahtploki suurus: 524288.
LTFS15005I Indeksi partitsiooni paigutamise poliitika: size=10M/name=.DS_Store.LTFS11337I Indeksi mÀÀrdumise lipu uuendamine (1) â NO_BARCODE (0x0x1021081e0).
LTFS17085I Plugin: Laadimine «iokit» lindide taust.
LTFS30810I Seadme avamine lÀbi iokit draiveri (0).
LTFS30814I MĂŒĂŒja ID on IBM.
LTFS30815I Toote ID on âULT3580-TD5 â.
LTFS30816I Riistvara versioon on H976.
LTFS30817I Draivi seerianumber on **********.
LTFS17160I Maksimaalne seadme ploki suurus on 1048576.
LTFS11330I Kasseti laadimine.
LTFS30854I Loogiline ploki kaitse on keelatud.
LTFS11332I Laadimine Ônnestus.
LTFS17157I Muudetakse draivi seade kirjutamisreĆŸiimiks 'write-anywhere'.
LTFS15049I Kontrollitakse meediat (mount).
LTFS30854I Loogiline ploki kaitse on keelatud.
LTFS15010I Andmepartitsiooni b loomine SCSI partitsioonil 1.
LTFS15011I Indeksi partitsiooni a loomine SCSI partitsioonil 0.
LTFS17165I Meedia mahutavuse proportsiooni lÀhtestamine.
LTFS11097I Meedia partitimine.
LTFS11100I Silti kirjutamine partitsioonile b.
LTFS11278I Indeksi kirjutamine partitsioonile b.
LTFS30808I READ_ATTR (0x8c) tagastab -20501.
LTFS30865I READ_ATTR tagastab CDB-s kehtetu vÀli (-20501) 0.
LTFS30836I Atribuuti ei saa lugeda (-20501).
LTFS11336I Atribuut ei eksisteeri. Ignoreeri oodatavat viga.
LTFS17235I NO_BARCODE indeksi kirjutamine b (PÔhjus: Formaat, 0 faili) **********.
LTFS17236I Kirjutas NO_BARCODE indeksi (b, **********).
LTFS11337I Indeksi mÀÀrdumise lipu uuendamine (0) â NO_BARCODE (0x0x1021081e0).
LTFS11100I Silti kirjutamine partitsioonile a.
LTFS11278I Indeksi kirjutamine partitsioonile a.
LTFS30808I READ_ATTR (0x8c) tagastab -20501.
LTFS30865I READ_ATTR tagastab CDB-s kehtetu vÀli (-20501) 0.
LTFS30836I Atribuuti ei saa lugeda (-20501).
LTFS11336I Atribuut ei eksisteeri. Ignoreeri oodatavat viga.
LTFS17235I NO_BARCODE indeksi kirjutamine a (PÔhjus: Formaat, 0 faili) 9068025555.
LTFS17236I Kirjutas NO_BARCODE indeksi (a, **********).
LTFS15013I Mahu UUID on: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.LTFS15019I Mahu mahutavus on 1425 GB.
LTFS30854I Loogiline ploki kaitse on keelatud.
LTFS15024I Meedia on edukalt vormindatud.
Kinnitatakse vormindatud lint:
sudo mkdir /Volumes/LTFS
sudo chmod 777 /Volumes/LTFS/
sudo ltfs /Volumes/LTFSSaame veel paar minutit andmehoidla tööd, diagnostika:
307 LTFS14000I LTFS kÀivitamine, LTFS versioon 2.4.2.0 (10418), logitase 2.
307 LTFS14058I LTFS formaadi spetsifikatsioon versioon 2.4.0.
307 LTFS14104I KÀivitati by «ltfs /Volumes/LTFS/».
307 LTFS14105I See binaar on loodud Mac OS X-i jaoks.
307 LTFS14106I GCC versioon on 4.2.1, ĂŒhilduv Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kerneli versioon: Darwin Kernel Version 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ĂŒnkroonimise aeg on 60 sek.
307 LTFS17085I Plugin: Laadimine «iokit» linttaust.
307 LTFS17085I Plugin: Laadimine «unified» iosched taust.
307 LTFS14095I MÀÀra lindide seadme kirjutamisreĆŸiim 'write-anywhere' kasseti vĂ€lja saamise vĂ€ltimiseks.
307 LTFS30810I Seadme avamine lÀbi iokit draiveri (0).
307 LTFS30814I MĂŒĂŒja ID on IBM.
307 LTFS30815I Toote ID on âULT3580-TD5 â.
307 LTFS30816I Riistvara versioon on H976.
307 LTFS30817I Draivi seerianumber on **********.
307 LTFS17160I Maksimaalne seadme ploki suurus on 1048576.
307 LTFS11330I Kasseti laadimine.
307 LTFS30854I Loogiline ploki kaitse on keelatud.
307 LTFS11332I Laadimine Ônnestus.
307 LTFS17157I Muudetakse draivi seade kirjutamisreĆŸiimiks 'write-anywhere'.
307 LTFS11005I Mahtu mahuti.
307 LTFS30854I Loogiline ploki kaitse on keelatud.
307 LTFS17227I Lindi atribuut: MĂŒĂŒja = IBM.
307 LTFS17227I Lindi atribuut: Rakendusname = LTFS.
307 LTFS17227I Lindi atribuut: Rakenduse versioon = 2.4.2.0.
307 LTFS17227I Lindi atribuut: Meediumi silt =.
307 LTFS17228I Lindi atribuut: Teksti lokaliseerimise ID = 0x81.
307 LTFS17227I Lindi atribuut: Baarikood =.
307 LTFS17227I Lindi atribuut: Rakenduse formaadi versioon = 2.4.0.
307 LTFS17228I Lindi atribuut: Mahuti lukustuse olek = 0x00.
307 LTFS17227I Lindi atribuut: Meedia bassein =.
307 LTFS14111I Esmane seadistus on edukalt lÔpetatud.
307 LTFS14112I KÀivita kÀsk 'mount', et kontrollida lÔppseadistuse tulemust.
307 LTFS14113I Kui edukas, nÀidatakse mÀÀratud mount-punkti.
Ja siin ta on, meie lint töölaual nimega Test(ltfs)! Ilma nimega lint saab nimeks OSXFUSE Volume 0 (ltfs).
NĂŒĂŒd on vĂ”imalik sellega töötada.

Ăldiselt tasub meeles pidada, et tuleks vĂ€ltida lintide kataloogide sisu vaatamist Finderi akendes, kuna see on LTFS jaoks ÀÀrmiselt kulukas tegevus, palju parem on töötada terminali kĂ€skudega vĂ”i lihtsalt kopeerida varundatav kataloog mahukalt lintidele, nagu ĂŒlaltoodud aknas nĂ€idatud.
Tegelikult on olemas spetsiaalselt kirjutatud IBM utiliit ltfs_copy ja selle kloonid, mis on mÔeldud efektiivsemaks kopeerimiseks lintide ja ketaste vahel, kuid autoril pole nende avatud juurdepÀÀsuga veel Ônnestunud neid leida.
Linti saab eemaldada kÀsuga:
umount /Volumes/LTFSvĂ”i lihtsalt visata prĂŒgikasti.
Ăldiselt on olemas mingeid graafilisi liideseid macOS-ile, et neid toiminguid lihtsustada, kuid pĂ€rast selliseid vÀÀnamisi, kas me tĂ”esti kardame paar rida terminalis kirjutada?
KĂŒlgproduktina saame vĂ”imaluse ĂŒhendada eSATA vĂ€lised kettad SAS/4*eSATA kaabli kaudu.

Allikas: habr.com
