Bu məqalənin mövzusu SAS, Fiber Kanal (FC), eSATA interfeysləri vasitəsilə xarici cihazları Mac-a qoşmaqdır. Dərhal qeyd edək ki, bu cür cihazlara giriş problemini həll etmək üçün sağlam insan üçün bir yol var: ucuz kompüter yığmaq, HBA SAS və ya FC nəzarətçi kartını (məsələn, ən sadə LSI) qoşmaq. adapter), cihazlarınızı bu nəzarətçiyə qoşun, istənilən Linux-u PC-yə quraşdırın və şəbəkə üzərindən Mac-dan işləyin. Ancaq bu, mənasız və maraqsızdır. Biz sərt şəkildə gedəcəyik və cihazlarımızı birləşdirəcəyik bilavasitə Mac üçün.
Bunun üçün bizə nə lazımdır:
- yeni avadanlıq almaq üçün layiqli miqdarda pul və ya eBay-də hərraclarda uğurlar (burada bir az səylə əvvəlki nəsillərin tələb olunan avadanlıqlarını qiymət siyahısına görə 10 dəfə ucuz ala bilərsiniz);
- Bu məqalə.
Maqnit lentlə işləmək üçün (indi demək olar ki, universal olaraq LTO formatı ilə təmsil olunur) LTO standartının lent sürücüsü (streamer) və ya lent kitabxananız olmalıdır. Bu, ilkin alış üçün olduqca bahalı bir cihazdır (yüz minlərlə rubldan), lakin istifadə olunanı alarkən sağlam pula dəyər. LTO nəsilləri təxminən hər iki ildən bir dəyişdiyindən və uyğunluq iki nəsillə məhdudlaşdığından, təkrar bazar dörd yaş və daha yaşlı işləyən cihazlarla kifayət qədər doyurulur, yəni. axırıncıdan əvvəl və sonrakı nəsil. Əgər siz kommersiya məqsədləri üçün yeni bir cihaz alırsınızsa, o zaman özünüz bunun nə üçün lazım olduğunu başa düşəcəksiniz. Ev və ailə üçün almaq istəyirsinizsə, bu seçimi məlumatı arxivləşdirmək üçün bir yol kimi nəzərdən keçirə bilərsiniz (çünki medianın özləri 1 gigabayt üçün çox ucuzdur).
LTO-5 nəslindən (və qismən LTO-4) başlayaraq, maqnit lent cihazları SAS və ya FC interfeysi vasitəsilə kompüterə qoşulur (adətən hər cihazın iki versiyası var)
Digər tərəfdən, Apple bizə Mac-da USB-C interfeysi (USB, Thunderbolt 3 və ya DisplayPort protokolları vasitəsilə işləyir), bəzən Ethernet interfeysi, həmçinin mülkiyyətə məxsus Thunderbolt 3-dən Thunderbolt 2 və Thunderbolt-dan FireWire 800 adapterləri ilə təmin edir. .
Durğun? Həqiqətən yox. Xoşbəxtlikdən, Thunderbolt PCIe rejimində işləyə bilər və PCIe kartlarının birbaşa kompüter korpusunun içərisinə quraşdırıldığı kimi qoşulmasına imkan verir. Bununla əlaqədar olaraq, uyğun adapter və sürücülər olduqda, Mac aparat konfiqurasiyasının istənilən genişləndirilməsi mümkündür.
Konseptual olaraq, problemi həll etməyin ən sadə yolu, SAS və ya FC Host avtobus adapterini (HBA) quraşdıra biləcəyiniz Thunderbolt interfeysi (PCIe kart genişləndirmə sistemi) ilə PCIe adapterləri üçün xarici qutudur. Məsələn, belə qutular şirkət tərəfindən istehsal olunur və bəzi digərləri. Burada bir xəbərdarlıq var: hər bir kontroller bizim üçün işləməyəcək, yalnız sürücüsü olanlar üçün macOSBelə lövhələr çox azdır və ən ucuz və ən populyar lövhələr (məsələn, eyni LSI) onların arasında deyil. Xoşbəxtlikdən, Sonnet şirkəti kompilyasiya etmək üçün əziyyət çəkdi. Thunderbolt interfeysi vasitəsilə müxtəlif əməliyyat sistemləri olan PCIe kartları.
Başqa bir həll, əslində bir qutu və nəzarətçinin hazır yığılması olan hazır Thunderbolt-SAS və ya Thunderbolt-FC interfeys çeviricisini almaqdır. Bu sahədə ən məşhur şirkət , lakin başqa firmaların məhsulları da var.
Nəzərə alın ki, bütün SAS və FC nəzarətçiləri LTO sertifikatına malik deyillər, çünki bunun özü pula başa gəlir. Bəzi istehsalçılar birbaşa yazır ki, nəzarətçilərinin lent sürücüləri ilə işləməsi təmin edilmir.
Şəkili tamamlamaq üçün qeyd edirik ki, mLogic istehsal edir , SAS-dan Thunderbolt 8-ə çeviricinin dərhal inteqrasiya olunduğu xarici korpusda IBM LTO-3 sürücüsüdür.Lakin bu şey yuxarıda göstərilənlərin hamısından, xüsusən də regionlarımızın standartlarına görə daha ekzotikdir. Bu cihazın hətta qanuni olaraq Rusiyaya idxal oluna biləcəyinə şübhə edirəm (LTO disklərində kriptoqrafik imkanlar var və IBM və HP kimi istehsalçılar bu səbəbdən hər bir model üçün FSB idxal icazəsi alırlar).
Bundan sonra, məsələn, müəllifin bir neçə uğurlu alınması nəticəsində sahibi olduğu müəyyən bir avadanlıq dəstini nəzərdən keçirəcəyik, lakin bütün variantlar üçün ümumi prinsip qorunmalıdır.
Beləliklə, lentlə işləmək üçün aşağıdakı avadanlıqlarımız var:
– Apple Mac mini 2018 kompüteri ilə macOS Thunderbolt 3 dəstəyi ilə USB-C portlarına malik 10.15 Catalina;
– Apple Thunderbolt 3 / Thunderbolt 2 adapteri;
– Apple Thunderbolt 2 kabeli;
– ATTO ThunderLink SH 1068 interfeys çeviricisi (2*Thunderbolt / 2*SAS-2);
– SAS kabeli SFF-8088 – SFF-8088;
– lent ötürücü LTO-5 IBM TS2350;
– LTO-5 patronları, təmizləyici patron.
İndi, necə deyərlər, bütün bu boşboğazlarla, biz qalxmağa çalışacağıq.
ThunderLink SH 1068 sürücüsünün ən son versiyasını ATTO veb saytından yükləyirik (görünür, rahatlığımız üçün o, SH 2068 sürücüsü ilə birləşdirilib və yalnız sürücü arxivinin özündə yazılmış 2068-ci bölmədə yerləşir) və ATTO konfiqurasiya yardım proqramı.

Sürücü, əlbəttə ki, quraşdırılmalıdır. Bu cür hərəkətlərdən əvvəl müəllif həmişə əmrlə yükləmə diskinin APFS fayl sisteminin şəklini çəkməyi məsləhət görür.
tmutil localsnapshotvə ya HFS + varsa, açılış diskinin ehtiyat nüsxəsi. Heç vaxt bilmirsən. Sonra snapshotdan geri qayıtmaq asan olacaq.
Bundan əlavə, təcrübəsiz, lakin lazımi diqqətli ağıl, şübhəsiz ki, sürücünün quraşdırılması üçün ATTO təlimatlarını diqqətlə oxumağa və ona əməl etməyə meylli olacaqdır. Nəticədə - tadam! - əməliyyat sistemini yükləmə mərhələsində asırıq. Burada biz bərpa bölməsindən Time maşınına zəng edərək bərpa edə biləcəyimiz snapshotdan istifadə edə bilərik və ya eyni bərpa bölməsindən (müəllif ümumiyyətlə bunu etməyi tövsiyə etmir) ləpə genişləndirilməsi kataloqundan xəstə kexti əl ilə silə bilərik.
Niyə bu baş verir? Çünki Apple bizim qayğımıza qalıb. Ən son versiyalarda macOS Xarici kodu yükləmə prosesinə daxil edə bilməzsiniz. Apple proqramçıları bu dağıdıcı davranışı bloklayıblar. Daha dəqiq desək, onlar bunu yarıda bloklayıblar: drayver gözləmə rejimi daxil edildikdə, lakin drayver özü daxil edilmədikdə, hər şey sadəcə donur.
Mürəkkəb bir ağıl sürücü quraşdırmadan əvvəl nə etməlidir? Əvvəlcə əmr verin:
csrutil statusƏgər buna cavab olaraq alırıqsa:
Sistemin bütövlüyünün qorunması statusu: aktivdir.
onda bu o deməkdir ki, yaxşı Apple proqramçıları bizimlə maraqlanır, ona görə də biz onların gözəl müdafiəsini söndürənə qədər bizdən heç nə gəlməyəcək. Bunu etmək üçün bərpa bölməsinə (⌘R) yenidən başladın, terminala zəng edin və əmri verin:
csrutil disableBundan sonra biz işləyən sistemə yenidən yükləyirik və hətta bundan sonra biz sürücünü və eyni zamanda ATTO konfiqurasiya yardım proqramını quraşdırırıq (prinsipcə, konfiqurasiya yardım proqramı yalnız diaqnostika üçün lazımdır və normal əməliyyat zamanı tələb olunmur). Yolda, soruşduqda, sistem parametrlərində ATTO şirkətinin icazəsini təsdiqləyirik. Quraşdırıldıqdan sonra bərpa bölməsinə yenidən başlaya və əmr verə bilərsiniz
csrutil enableApple yenidən bizə qayğı göstərir.
İndi xarici SAS cihazlarına (və ya FC çeviricisi istifadə olunubsa, FC) sürücü tərəfindən dəstəklənən interfeysimiz var. Bəs məntiqi səviyyədə lentlə necə işləmək olar?
Təcrübəsiz, lakin bilikli ağıl bildiyi kimi, hər hansı Unix-ə uyğun gələn sistem nüvə səviyyəsində lent sürücülərini və ilk növbədə mt (lent sürücüsünün idarə edilməsi) və tar (lentdə arxivlərlə işləməyi dəstəkləyən arxivçi) daxil olan əsas sistem yardımçılarını dəstəkləyir. Bununla belə, inkişaf etmiş ağıl bu barədə nəyə aydınlıq gətirəcək? İstənilən Unix uyğun sistem istisna olmaqla macOS. Apple, kodundan lent cihazları üçün dəstəyi silməklə bizim qayğımıza qaldı.
Bəs standart açıq mənbəli Unix yardım proqramlarını porta köçürməklə bu kodu geri qaytarmaq həqiqətən mümkün deyilmi? macOSXoş xəbər odur ki, Tolis (linkini göstərməyəcəyəm) bunu artıq Tolis Tape Tools məhsulunda edib. Pis xəbər isə odur ki, şirkət öz işindən istifadə üçün 399 dollar alır. Bunun təxminləri fərqli ola bilər, lakin müəllif şəxsən əsasən başqaları tərəfindən yazılmış və 1970-ci illərdən bəri açıq istifadədə olan kod üçün kiməsə 400 dollar ödəməyə hazır deyil, ona görə də müəllif bu məsələni bağlı hesab edir. (Yeri gəlmişkən, GitHub-da tərk edilmiş, qeyri-müəyyən şəkildə işləyən açıq mənbəli bir layihə var.) eyni mövzuda).
Xoşbəxtlikdən, kommersiya iştahası tamamilə fərqli miqyasda olan və buna görə də əhəmiyyətsiz məsələlərdə özünü göstərməyən bir korporasiya olan IBM var. Xüsusilə, o, digər şeylərlə yanaşı, aşağıdakılar üçün də paylanan açıq mənbəli LTFS lent fayl sistemini hazırladı. macOS.
Burada bir nüans var, odur ki, müxtəlif lent cihazları istehsalçıları öz cihazlarını dəstəkləyən LTFS-in öz versiyalarını buraxırlar. Müəllif IBM lent sürücüsündən istifadə etdiyi üçün mən də IBM-dən LTFS quraşdırdım. Üçüncü tərəf diskləri öz LTFS portlarını tələb edə bilər. Github və homebrew-də openLTFS-in universal tətbiqi var.
LTFS-nin media bölmə funksiyasından istifadə etməsi bizim üçün vacibdir və buna görə də LTO-5 nəslindən başlayaraq cihazlar və patronlarla işləyə bilər.
Beləliklə, bizim vəziyyətimizdə, IBM Spectrum Archive Single Drive Edition məhsulunu IBM veb saytından yükləyirik. macOS, bura LTFS tətbiqi də daxildir. Məhsulu öz quraşdırıcısından istifadə edərək heç bir çətinlik çəkmədən quraşdırırıq. Yolda, o, həmçinin FUSE paketini də quraşdırır, baxmayaraq ki, sistem parametrlərində Anatol Pomozov adlı ağıllı bir proqramçının icazəsini təsdiqləməlisiniz və bu halda bütün IBM sistemi ondan asılıdır. Bu adama hörmət və heyranlıq.
Dərhal /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local faylına sətri yazmaq məsləhətdir:
seçim tək-sürücü sync_type=zaman@1
1 dəqiqəlik hərəkətsizlikdən sonra yazma buferini yuyaraq (standart olaraq 5 dəqiqə) lenti standart olaraq quraşdırmaq üçün parametr.

Nəhayət, hər şey qoşulmağa hazırdır. Zənciri bağlayırıq: Mac - T3 / T2 adapteri - Thunderbolt kabeli - ATTO çeviricisi - SAS kabeli - lent sürücüsü (Mac, çevirici və sürücüdə bir neçə portun seçimi əhəmiyyətsizdir). Konvertorun gücünü yandırın. Tape sürücüsünü yandırın. Sürücünün göstəricisinə uyğun olaraq işə salınmasının sonunu gözləyirik.
Biz əmr veririk:
ltfs -o device_listYaşasın! Biz (IBM üçün adi diaqnostik şəkildə):
307 LTFS14000I LTFS başlanğıcı, LTFS versiyası 2.4.2.0 (10418), log səviyyəsi 2.
307 LTFS14058I LTFS Format Spesifikasiyası versiyası 2.4.0.
307 LTFS14104I "ltfs -o device_list" tərəfindən işə salındı.
307 LTFS14105I Bu ikili sistem Mac OS X üçün qurulub.
307 LTFS14106I GCC versiyası 4.2.1 Uyğun Apple Clang 4.1-dir ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kernel versiyası: Darwin Kernel Version 19.4.0: Çərşənbə 4 Mart 22:28:40 PST 2020; kök: xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: "iokit" lent arxa hissəsi yüklənir.
Tape Cihaz siyahısı:.
Cihaz Adı = 0, Satıcı ID = IBM, Məhsul ID = ULT3580-TD5, Seriya Nömrəsi = ************, Məhsulun Adı =[ULT3580-TD5].
Kaseti daxil edirik, yüklənməsini və formatlanmasını gözləyirik:
mkltfs -d 0 -nTest -r "size=10M/name=.DS_Store"Burada -d parametri sürücünün nömrəsini təyin edir (yeganədirsə, həmişə sıfırdır, lakin bu əmrdə buraxıla bilməz), -n lentin adıdır (onu təyin edə bilməzsiniz) və -r parametri tələb edir 10 meqabaytdan çox olmayan .DS_Store fayllarının məzmununu məlumat bölməsi əvəzinə lentin indeks (yəni kataloqlar üçün nəzərdə tutulmuş) bölməsinə yerləşdirin.
Kaset sürücüsündə sirli bir həyat keçdi. Bir neçə dəqiqə gözləyirik, cavab alırıq:
LTFS15000I Başlanğıc mkltfs, LTFS versiyası 2.4.2.0 (10418), log səviyyəsi 2.
LTFS15041I "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store" tərəfindən işə salınıb.
LTFS15042I Bu ikili sistem Mac OS X üçün qurulub.
LTFS15043I GCC versiyası 4.2.1 Uyğun Apple Clang 4.1-dir ((tags/Apple/clang-421.11.66)).
LTFS17087I Kernel versiyası: Darwin Kernel Version 19.4.0: Çərşənbə 4 Mart 22:28:40 PST 2020; kök: xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formatlaşdırma cihazı '0'.
LTFS15004I LTFS həcmi blok ölçüsü: 524288.
LTFS15005I İndeks bölməsinin yerləşdirilməsi siyasəti: size=10M/name=.DS_Store.LTFS11337I İndeks çirkli bayrağını yeniləyin (1) - NO_BARCODE (0x0x1021081e0).
LTFS17085I Plugin: "iokit" lent arxa hissəsi yüklənir.
LTFS30810I Iokit sürücüsü (0) vasitəsilə cihazın açılması.
LTFS30814I Satıcı ID-si IBM-dir.
LTFS30815I Məhsul ID-si 'ULT3580-TD5'dir.
LTFS30816I Mikroproqram versiyası H976-dır.
LTFS30817I Sürücü seriyası **********-dir.
LTFS17160I Maksimum cihaz blokunun ölçüsü 1048576-dır.
LTFS11330I Kartric yüklənir.
LTFS30854I Məntiqi blok mühafizəsi deaktiv edilib.
LTFS11332I Yükləmə uğurlu oldu.
LTFS17157I Sürücü parametrinin hər yerdə yazma rejiminə dəyişdirilməsi.
LTFS15049I Ortanın yoxlanılması (montaj).
LTFS30854I Məntiqi blok mühafizəsi deaktiv edilib.
LTFS15010I SCSI 1 bölməsində məlumat bölməsinin b yaradılması.
LTFS15011I SCSI 0 bölməsində a indeks bölməsinin yaradılması.
LTFS17165I Ortanın tutum nisbətinin sıfırlanması.
LTFS11097I Ortanın bölünməsi.
LTFS11100I B bölməsinə etiketin yazılması.
LTFS11278I B bölməsinə indeksin yazılması.
LTFS30808I READ_ATTR (0x8c) -20501 qaytarır.
LTFS30865I READ_ATTR CDB-də Yanlış Sahəni qaytarır (-20501) 0.
LTFS30836I Atributu oxumaq olmur (-20501).
LTFS11336I Atribut mövcud deyil. Gözlənilən səhvə məhəl qoymayın.
LTFS17235I NO_BARCODE-un b-yə yazı indeksi (Səbəb: Format, 0 fayl) ************.
LTFS17236I NO_BARCODE indeksini yazdı (b, **********).
LTFS11337I İndeks çirkli bayrağını yeniləyin (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I a bölməsinə etiketin yazılması.
LTFS11278I a bölməsinə indeksin yazılması.
LTFS30808I READ_ATTR (0x8c) -20501 qaytarır.
LTFS30865I READ_ATTR CDB-də Yanlış Sahəni qaytarır (-20501) 0.
LTFS30836I Atributu oxumaq olmur (-20501).
LTFS11336I Atribut mövcud deyil. Gözlənilən səhvə məhəl qoymayın.
LTFS17235I NO_BARCODE yazı indeksi a (Səbəb: Format, 0 fayl) 9068025555.
LTFS17236I NO_BARCODE indeksini yazdı (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.LTFS15019I Həcmi 1425 GB-dır.
LTFS30854I Məntiqi blok mühafizəsi deaktiv edilib.
LTFS15024I Medium uğurla formatlaşdırıldı.
Formatlanmış lenti quraşdırın:
sudo mkdir /Volumes/LTFS
sudo chmod 777 /Volumes/LTFS/
sudo ltfs /Volumes/LTFSBir neçə dəqiqə daha sürücü əməliyyatı, diaqnostika alırıq:
307 LTFS14000I LTFS başlanğıcı, LTFS versiyası 2.4.2.0 (10418), log səviyyəsi 2.
307 LTFS14058I LTFS Format Spesifikasiyası versiyası 2.4.0.
307 LTFS14104I "ltfs /Volumes/LTFS/" tərəfindən işə salınıb.
307 LTFS14105I Bu ikili sistem Mac OS X üçün qurulub.
307 LTFS14106I GCC versiyası 4.2.1 Uyğun Apple Clang 4.1-dir ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kernel versiyası: Darwin Kernel Version 19.4.0: Çərşənbə 4 Mart 22:28:40 PST 2020; kök: xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Sinxronizasiya növü "zaman", Sinxronizasiya vaxtı 60 san.
307 LTFS17085I Plugin: "iokit" lent arxa hissəsi yüklənir.
307 LTFS17085I Plugin: "Vahid" iosched backend yüklənir.
307 LTFS14095I Kartuşun boşaldılmasının qarşısını almaq üçün lent cihazının hər yerdə yazma rejimini təyin edin.
307 LTFS30810I Cihazın iokit sürücüsü (0) vasitəsilə açılması.
307 LTFS30814I Satıcı ID-si IBM-dir.
307 LTFS30815I Məhsul ID-si 'ULT3580-TD5'dir.
307 LTFS30816I Mikroproqram versiyası H976-dır.
307 LTFS30817I Sürücü seriyası **********-dir.
307 LTFS17160I Maksimum cihaz blokunun ölçüsü 1048576-dır.
307 LTFS11330I Kartric yüklənir.
307 LTFS30854I Məntiqi blok mühafizəsi deaktiv edilib.
307 LTFS11332I Yükləmə uğurlu oldu.
307 LTFS17157I Sürücü parametrinin hər yerdə yazma rejiminə dəyişdirilməsi.
307 LTFS11005I Səs səviyyəsinin quraşdırılması.
307 LTFS30854I Məntiqi blok mühafizəsi deaktiv edilib.
307 LTFS17227I Tape atributu: Satıcı = IBM.
307 LTFS17227I Tape atributu: Tətbiq Adı = LTFS.
307 LTFS17227I Tape atributu: Tətbiq Versiyası = 2.4.2.0.
307 LTFS17227I Tape atributu: Orta Etiket =.
307 LTFS17228I Tape atributu: Mətn Lokalizasiya ID = 0x81.
307 LTFS17227I Tape atributu: Barkod =.
307 LTFS17227I Tape atributu: Tətbiq Format Versiyası = 2.4.0.
307 LTFS17228I Tape atributu: Səs Kilidi Vəziyyəti = 0x00.
307 LTFS17227I Tape atributu: Media Pool adı =.
307 LTFS14111I İlkin quraşdırma uğurla tamamlandı.
307 LTFS14112I Son quraşdırmanın nəticəsini yoxlamaq üçün 'mount' əmrini çağırın.
307 LTFS14113I Müvəffəqiyyət əldə edilərsə, müəyyən edilmiş quraşdırma nöqtəsi siyahıya alınır.
Və budur, iş masasında Test(ltfs) adlı lentimiz! Adı açıqlanmayan lent OSXFUSE Volume 0 (ltfs) adlandırılacaq.
İndi onunla işləyə bilərsiniz.

Ümumiyyətlə, yadda saxlamaq lazımdır ki, tapıcı pəncərələrində lent qovluqlarının məzmunundan sui-istifadə etməmək məsləhətdir, çünki bu, LTFS üçün olduqca bahalı bir əməliyyatdır, lakin terminal əmrləri ilə işləmək və ya sadəcə atmaq daha yaxşıdır. yuxarıdakı pəncərədə göstərildiyi kimi, ehtiyat qovluğu toplu şəkildə lentə köçürün.
Yeri gəlmişkən, lent və disk arasında daha səmərəli surət çıxarmaq üçün nəzərdə tutulmuş xüsusi yazılmış IBM ltfs_copy yardım proqramı və onun klonları var, lakin indiyə qədər müəllif onları səthi axtarışla ictimai sahədə tapa bilməyib.
Lenti komanda ilə ayıra bilərsiniz:
umount /Volumes/LTFSvə ya sadəcə zibil qutusuna atın.
Əslində, təbiətdə bəzi qrafik qabıqlar mövcuddur macOS bu hərəkətləri asanlaşdırmaq üçün, amma bu cür pozğunluqlardan sonra terminalda bir neçə sətir yazmaqdan qorxmalıyıqmı?
Yan təsir olaraq, xarici eSATA sürücülərini SAS / 4 * eSATA kabeli ilə qoşmaq imkanı əldə edirik.

Mənbə: www.habr.com
