Apple Mac dan perangkat mewah. KPP, SAS, Fibre Channel, eSATA

Topik artikel ini adalah untuk menghubungkan perangkat eksternal ke Mac melalui SAS, Fibre Channel (FC), antarmuka eSATA. Segera buat reservasi bahwa untuk menyelesaikan masalah akses ke perangkat tersebut, ada cara orang sehat: untuk merakit PC yang murah, menempelkan kartu pengontrol HBA SAS atau FC di sana (misalnya, adaptor LSI yang paling sederhana), sambungkan perangkat Anda ke pengontrol ini, instal Linux apa pun pada PC dan bekerja dari Mac melalui jaringan. Tapi itu dangkal dan tidak menarik. Kami akan pergi jalan hardcore dan akan menghubungkan perangkat kami langsung ke Mac.

Apa yang kita perlukan untuk ini:
- jumlah uang yang layak untuk membeli peralatan baru, atau keberuntungan dalam pelelangan di eBay (di mana, dengan sedikit usaha, Anda dapat membeli peralatan yang diperlukan dari generasi sebelumnya 10 kali lebih murah daripada daftar harga);
- artikel ini.

Untuk bekerja dengan pita magnetik (saat ini hampir secara universal diwakili oleh format KPP), Anda harus memiliki tape drive (penggerak tape) atau perpustakaan tape dari standar KPP. Ini adalah perangkat yang agak mahal untuk pembelian awal (dari ratusan ribu rubel), tetapi bernilai uang waras ketika membeli yang bekas. Karena generasi LTO berubah kira-kira setiap dua tahun, dan kompatibilitas terbatas pada dua generasi, pasar sekunder cukup jenuh dengan perangkat yang dapat dioperasikan selama empat tahun atau lebih, yaitu. tahun sebelum terakhir dan seterusnya. Jika Anda membeli perangkat baru untuk tujuan komersial, maka Anda sendiri mengerti mengapa Anda membutuhkannya. Jika Anda ingin membeli untuk rumah dan keluarga, maka Anda dapat mempertimbangkan opsi ini sebagai cara pengarsipan informasi (karena media itu sendiri sangat murah per 1 gigabyte).

Dimulai dengan generasi LTO-5 (dan sebagian LTO-4), perangkat pita magnetik terhubung ke komputer melalui antarmuka SAS atau FC (biasanya ada dua versi dari masing-masing perangkat).

Di sisi lain, Apple dengan ramah menyediakan kami di Mac kami Antarmuka USB-C (bekerja melalui USB, Thunderbolt 3 atau protokol DisplayPort), kadang-kadang antarmuka Ethernet, serta adaptor Thunderbolt 3 yang dipatenkan - Thunderbolt 2 dan Thunderbolt - FireWire 800.

Situasi tanpa harapan? Tidak juga. Untungnya, bus Thunderbolt dapat beroperasi dalam mode PCIe dan menyediakan kemampuan untuk menghubungkan kartu PCIe dengan cara yang sama seolah-olah dipasang langsung di dalam kasing komputer. Karena hal ini, ekstensi apa pun ke konfigurasi perangkat keras Mac dimungkinkan, akan ada adaptor dan driver yang sesuai.

Cara konseptual yang paling sederhana untuk menyelesaikan masalah adalah dengan menggunakan kotak eksternal untuk adaptor PCIe dengan antarmuka Thunderbolt (sistem ekspansi kartu PCIe), di mana Anda dapat menginstal pengontrol (Host bus adapter, HBA) SAS atau FC. Sebagai contoh, kotak-kotak tersebut diproduksi oleh Sonnet dan beberapa lainnya. Ada nuansa: tidak setiap controller cocok untuk kita, tetapi hanya memiliki driver untuk MacOS. Hanya ada beberapa papan seperti itu, dan yang termurah dan paling populer (misalnya, LSI yang sama) tidak termasuk dalam jumlah mereka. Untungnya, Sonnet kesulitan menyusun grafik kompatibilitas kartu PCIe untuk berbagai OS melalui antarmuka Thunderbolt.

Solusi lain adalah membeli konverter siap pakai untuk konverter antarmuka Thunderbolt-SAS atau Thunderbolt-FC, yang, pada dasarnya, adalah rakitan siap pakai dari kotak dan pengontrol. ATTO terkenal di bidang ini , tetapi produk dari perusahaan lain juga ditemukan.

Perhatikan bahwa tidak semua pengontrol SAS dan FC disertifikasi untuk mematuhi standar KPP, karena ini saja membutuhkan biaya. Beberapa produsen langsung menulis bahwa pengoperasian pengontrol mereka dengan tape drive tidak disediakan.

Untuk melengkapi gambar, kami mencatat bahwa perusahaan mLogic memproduksi perangkat, yang merupakan drive IBM LTO-8 dalam kasus eksternal, ke mana konverter SAS to Thunderbolt 3 segera diintegrasikan. Namun, ini bahkan lebih eksotis daripada semua hal di atas, terutama oleh standar area kami. Saya ragu bahwa perangkat ini bahkan dapat diimpor secara legal ke Rusia (drive KPP mengandung alat kriptografi, dan produsen seperti IBM dan HP, untuk alasan ini, menerima izin impor FSB untuk setiap model).

Lebih lanjut, kami akan mempertimbangkan misalnya seperangkat peralatan khusus, pemilik yang menjadi penulisnya sebagai hasil dari beberapa akuisisi yang berhasil, tetapi prinsip umum harus dipertahankan untuk semua opsi.

Jadi kami memiliki peralatan berikut untuk bekerja dengan tape:
- Komputer Apple Mac mini 2018 dengan macOS 10.15 Catalina, yang memiliki port USB-C dengan dukungan untuk Thunderbolt 3;
- Apple Thunderbolt 3 / Thunderbolt 2 adaptor;
- Kabel Apple Thunderbolt 2;
- ATTO ThunderLink SH 1068 antarmuka converter (2 * Thunderbolt / 2 * SAS-2);
- Kabel SAS SFF-8088 - SFF-8088;
- tape drive KPP-5 IBM TS2350;
- Kartrid LTO-5, kartrid pembersih.

Sekarang, seperti yang mereka katakan, dengan semua sampah ini kita akan mencoba untuk lepas landas.

Unduh versi terbaru driver ThunderLink SH 1068 dari situs web ATTO (tampaknya, untuk kenyamanan kami, itu dikombinasikan dengan driver SH 2068 dan terletak di bagian 2068, yang ditulis hanya di dalam arsip driver itu sendiri) dan utilitas konfigurasi ATTO.

gambar

Pengemudi, tentu saja, perlu diinstal. Sebelum tindakan seperti itu, penulis selalu menyarankan untuk melakukan snapshot dari sistem file APFS dari disk boot dengan perintah

tmutil localsnapshot


atau salinan cadangan disk boot, jika ada HFS +. Anda tidak pernah tahu apa. Maka akan mudah untuk memutar kembali dari snapshot.

Lebih lanjut, tidak berpengalaman, tetapi menunjukkan uji tuntas, pikiran pasti akan cenderung untuk hati-hati membaca instruksi ATTO untuk menginstal driver dan menjalankannya. Hasilnya adalah tadam! - kita mendapatkan sistem operasi yang menggantung pada tahap boot. Di sini kita dapat menggunakan snapshot dari mana Anda dapat memulihkan dengan memanggil mesin Waktu dari partisi pemulihan, atau Anda dapat secara manual menghapus kext sakit dari katalog ekstensi kernel dari partisi pemulihan yang sama (penulis umumnya tidak merekomendasikan melakukan hal ini).

Kenapa itu terjadi? Karena Apple merawat kami. Dalam versi terbaru dari macOS, tidak mudah untuk mengambil dan menanamkan kode asing ke dalam proses boot. Pemrogram Apple yang baik telah memblokir perilaku merusak tersebut. Lebih tepatnya, mereka memblokirnya hingga setengah ketika pengemudi menunggu diperkenalkan, tetapi pengemudi itu sendiri tidak, jadi semuanya hanya hang.

Apa yang harus dilakukan oleh pikiran canggih sebelum menginstal driver? Pertama, berikan perintah:

csrutil status


Jika menanggapi itu kita dapatkan:

Status Perlindungan Integritas Sistem: diaktifkan.


ini berarti bahwa programmer Apple yang baik peduli dengan kita, jadi tidak ada yang akan datang dari kita sampai kita mematikan perlindungan mereka yang luar biasa. Untuk melakukan ini, kita reboot ke partisi pemulihan (⌘R), panggil terminal dan berikan perintah:

csrutil disable


Setelah itu, kita reboot ke sistem kerja, dan kemudian kita menginstal driver, dan pada saat yang sama utilitas konfigurasi ATTO (pada prinsipnya, utilitas konfigurasi hanya diperlukan untuk diagnostik dan tidak diperlukan selama operasi normal). Dalam proses, ketika ditanya, kami mengonfirmasi otorisasi ATTO dalam pengaturan sistem. Setelah instalasi, Anda kembali dapat reboot ke partisi pemulihan dan memberikan perintah

csrutil enable


Apple merawat kami lagi.

Sekarang kami memiliki antarmuka yang didukung driver ke perangkat SAS eksternal (atau FC, jika FC converter digunakan). Tetapi bagaimana cara bekerja dengan rekaman itu pada tingkat yang logis?

Seperti diketahui oleh pikiran yang tidak berpengalaman tetapi terpelajar, setiap sistem yang kompatibel dengan Unix mendukung tape drive pada tingkat kernel dan utilitas sistem utama, yang terutama mencakup mt (manajemen pita) dan tar (pengarsip dengan dukungan untuk bekerja dengan arsip pita) . Namun, apa yang akan ditentukan oleh pikiran canggih? Sistem apa pun yang kompatibel dengan Unix kecuali macOS . Apple mengkhawatirkan kami dengan menghapus dukungan untuk perangkat tape dari kodenya.

Tetapi apakah benar-benar mustahil untuk mengembalikan kode ini dengan mem-porting utilitas open source standar terbuka ke macOS? Berita baiknya adalah bahwa Tolis telah melakukan ini (tautan yang tidak saya berikan) dalam produk Tolis Tape Tools-nya. Kabar buruknya adalah bahwa perusahaan tersebut memperkirakan penggunaan hasil kerjanya pada 399 dolar AS. Perkiraan fakta ini mungkin berbeda, tetapi penulis secara pribadi tidak siap untuk membayar seseorang 400 dolar untuk kode, sebagian besar ditulis oleh orang yang sama sekali berbeda dan secara terbuka digunakan sejak tahun 1970-an, dan karena itu masalah ini adalah untuk penulis menganggap ditutup. (Omong-omong, ada proyek IOSCSITape gratis tentang topik yang sama di github dalam keadaan yang tidak jelas ).

Untungnya, ada perusahaan IBM di dunia yang selera komersialnya pada skala yang sama sekali berbeda, dan karenanya tidak muncul dalam setiap hal kecil. Secara khusus, ia mengembangkan sistem file rekaman LTFS open-source, yang juga didistribusikan untuk macOS.

Ada nuansa di mana produsen perangkat kaset yang berbeda merilis versi LTFS mereka sendiri yang mendukung perangkat mereka. Karena penulis menggunakan tape drive IBM, LTFS juga diinstal oleh IBM. Drive pihak ketiga mungkin membutuhkan port LTFS mereka sendiri. Dan ada implementasi openLTFS universal pada github dan homebrew.

Penting bagi kami bahwa LTFS menggunakan fungsi partisi media, dan karenanya dapat bekerja dengan perangkat dan kartrid, dimulai dengan generasi LTO-5.

Jadi, dalam kasus kami, kami mengunduh produk IBM Spectrum Archive Single Drive Edition untuk macOS dari situs web IBM, yang hanya mencakup implementasi LTFS. Tanpa petualangan, kami memasang produk dengan installer kami sendiri. Dalam prosesnya, ia juga menginstal paket FUSE, dan dalam pengaturan sistem Anda harus mengonfirmasi otorisasi seorang programmer pintar bernama Anatol Pomozov, yang dalam hal ini seluruh IBM bergantung. Hormati dan hormati orang ini.

Dianjurkan untuk segera menulis baris: /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

opsi drive-tunggal sync_type = waktu @ 1


menentukan pemasangan pita secara default dengan reset buffer rekaman setelah 1 menit tidak aktif (default 5 menit).

gambar

Akhirnya, semuanya siap terhubung. Kami menghubungkan rantai: Adaptor Mac - T3 / T2 - Kabel Thunderbolt - Konverter ATTO - Kabel SAS - tape drive (pilihan beberapa port pada Mac, konverter dan drive tidak penting). Nyalakan daya konverter. Hidupkan kekuatan tape drive. Kami menunggu inisialisasi drive dengan indikasinya.

Kami memberikan perintah:

ltfs -o device_list


Hore! Kami mendapatkan (dengan cara diagnostik yang biasa untuk IBM):

307 LTFS14000I Mulai LTFS, LTFS versi 2.4.2.0 (10418), level log 2.
307 LTFS14058I Format Spesifikasi LTFS versi 2.4.0.
307 LTFS14104I Diluncurkan oleh "ltfs -o device_list".
307 LTFS14105I Biner ini dibangun untuk Mac OS X.
307 LTFS14106I versi GCC adalah 4.2.1 Kompatibel Apple Clang 4.1 ((tag / Apple / clang-421.11.66)).
307 LTFS17087I Versi kernel: Darwin Kernel Versi 19.4.0: Rab 4 Mar 22:28:40 PST 2020; root: xnu-6153.101.6 ~ 15 / RELEASE_X86_64.
307 LTFS17085I Plugin: Memuat backend tape "iokit".
Daftar Perangkat Tape:.
Nama Perangkat = 0, ID Vendor = IBM, ID Produk = ULT3580-TD5, Nomor Seri = **********, Nama Produk = [ULT3580-TD5].


Kami memasukkan kartrid, tunggu unduhan dan format:

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


Di sini, -d parameter menentukan jumlah drive (selalu nol jika itu adalah satu-satunya, tetapi Anda tidak dapat menghilangkan perintah ini), -n adalah nama rekaman (Anda dapat menghilangkannya), dan parameter -r memerlukan isi file .DS_Store file tidak boleh melebihi ukuran 10 megabita, di bagian indeks (mis., Ditujukan untuk direktori) dari rekaman itu bukan bagian data.

Kehidupan misterius dalam tape drive telah hilang. Kami menunggu beberapa menit, kami mendapatkan jawabannya:

LTFS15000I Starting mkltfs, LTFS version 2.4.2.0 (10418), log level 2.
LTFS15041I Launched by «mkltfs -d 0 -nTest -r size=10M/name=.DS_Store».
LTFS15042I This binary is built for Mac OS X.
LTFS15043I GCC version is 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Kernel version: Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Formatting device '0'.
LTFS15004I LTFS volume blocksize: 524288.
LTFS15005I Index partition placement policy: size=10M/name=.DS_Store.

LTFS11337I Update index-dirty flag (1) — NO_BARCODE (0x0x1021081e0).
LTFS17085I Plugin: Loading «iokit» tape backend.
LTFS30810I Opening a device through iokit driver (0).
LTFS30814I Vendor ID is IBM.
LTFS30815I Product ID is 'ULT3580-TD5 '.
LTFS30816I Firmware revision is H976.
LTFS30817I Drive serial is **********.
LTFS17160I Maximum device block size is 1048576.
LTFS11330I Loading cartridge.
LTFS30854I Logical block protection is disabled.
LTFS11332I Load successful.
LTFS17157I Changing the drive setting to write-anywhere mode.
LTFS15049I Checking the medium (mount).
LTFS30854I Logical block protection is disabled.
LTFS15010I Creating data partition b on SCSI partition 1.
LTFS15011I Creating index partition a on SCSI partition 0.
LTFS17165I Resetting the medium's capacity proportion.
LTFS11097I Partitioning the medium.
LTFS11100I Writing label to partition b.
LTFS11278I Writing index to partition b.
LTFS30808I READ_ATTR (0x8c) returns -20501.
LTFS30865I READ_ATTR returns Invalid Field in CDB (-20501) 0.
LTFS30836I Cannot read attribute (-20501).
LTFS11336I The attribute does not exist. Ignore the expected error.
LTFS17235I Writing index of NO_BARCODE to b (Reason: Format, 0 files) **********.
LTFS17236I Wrote index of NO_BARCODE (b, **********).
LTFS11337I Update index-dirty flag (0) — NO_BARCODE (0x0x1021081e0).
LTFS11100I Writing label to partition a.
LTFS11278I Writing index to partition a.
LTFS30808I READ_ATTR (0x8c) mengembalikan -20501.
LTFS30865I READ_ATTR mengembalikan Bidang Tidak Valid di CDB (-20501) 0.
LTFS30836I Tidak dapat membaca atribut (-20501).
LTFS11336I Atribut tidak ada. Abaikan kesalahan yang diharapkan.
LTFS17235I Menulis indeks NO_BARCODE ke a (Alasan: Format, 0 file) 9068025555.
LTFS17236I Menulis indeks NO_BARCODE (a, **********).
LTFS15013I Volume UUID adalah: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

Kapasitas Volume LTFS15019I adalah 1425 GB.
LTFS30854I Perlindungan blok logis dinonaktifkan.
LTFS15024I Medium berhasil diformat.


Pasang pita yang diformat:

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


Kami mendapatkan beberapa menit lagi pengoperasian drive, diagnostik:

307 LTFS14000I LTFS starting, LTFS version 2.4.2.0 (10418), log level 2.
307 LTFS14058I LTFS Format Specification version 2.4.0.
307 LTFS14104I Launched by «ltfs /Volumes/LTFS/».
307 LTFS14105I This binary is built for Mac OS X.
307 LTFS14106I GCC version is 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Kernel version: Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Sync type is «time», Sync time is 60 sec.
307 LTFS17085I Plugin: Loading «iokit» tape backend.
307 LTFS17085I Plugin: Loading «unified» iosched backend.
307 LTFS14095I Set the tape device write-anywhere mode to avoid cartridge ejection.
307 LTFS30810I Opening a device through iokit driver (0).
307 LTFS30814I Vendor ID is IBM.
307 LTFS30815I Product ID is 'ULT3580-TD5 '.
307 LTFS30816I Firmware revision is H976.
307 LTFS30817I Drive serial is **********.
307 LTFS17160I Maximum device block size is 1048576.
307 LTFS11330I Loading cartridge.
307 LTFS30854I Logical block protection is disabled.
307 LTFS11332I Load successful.
307 LTFS17157I Changing the drive setting to write-anywhere mode.
307 LTFS11005I Mounting the volume.
307 LTFS30854I Logical block protection is disabled.
307 LTFS17227I Tape attribute: Vendor = IBM.
307 LTFS17227I Tape attribute: Application Name = LTFS.
307 LTFS17227I Tape attribute: Application Version = 2.4.2.0.
307 LTFS17227I Tape attribute: Medium Label =.
307 LTFS17228I Tape attribute: Text Localization ID = 0x81.
307 LTFS17227I Tape attribute: Barcode =.
307 LTFS17227I Tape attribute: Application Format Version = 2.4.0.
307 LTFS17228I Tape attribute: Volume Lock Status = 0x00.
307 LTFS17227I Tape attribute: Media Pool name =.
307 LTFS14111I Initial setup completed successfully.
307 LTFS14112I Invoke 'mount' command to check the result of final setup.
307 LTFS14113I Specified mount point is listed if succeeded.


Dan ini dia, rekaman kami di desktop, disebut Test (ltfs)! Kaset tanpa nama akan menerima nama OSXFUSE Volume 0 (ltfs).

Sekarang kamu bisa bekerja dengannya.

gambar

Sebenarnya, Anda harus ingat bahwa disarankan untuk tidak menyalahgunakan melihat isi dari direktori tape di jendela finder, karena ini adalah operasi yang sangat mahal untuk LTFS, tetapi lebih baik bekerja dengan perintah terminal, atau hanya membuang direktori cadangan dalam jumlah besar ke tape, seperti yang ditunjukkan di jendela di atas.

Ngomong-ngomong, ada utilitas IBM tertulis ltfs_copy dan klonnya dirancang untuk menyalin lebih efisien antara tape dan disk, tetapi sejauh ini penulis belum dapat menemukannya di domain publik selama pencarian permukaan.

Anda dapat melepas pita rekaman dengan perintah:

umount /Volumes/LTFS


atau hanya membuangnya di keranjang.

Sebenarnya, ada beberapa jenis cangkang grafis untuk macOS di alam untuk memfasilitasi tindakan ini, tetapi apakah kita, setelah penyimpangan seperti itu, takut mengetik beberapa baris di terminal?

Sebagai efek samping, kami mendapatkan kesempatan untuk menghubungkan drive eSATA eksternal melalui kabel SAS / 4 * eSATA.

gambar

All Articles