Apple Mac والأجهزة الفاخرة. LTO ، SAS ، القناة الليفية ، eSATA

موضوع هذه المقالة هو توصيل الأجهزة الخارجية بجهاز Mac عبر واجهات SAS ، القناة الليفية (FC) ، eSATA. قم بإجراء حجز على الفور لحل مشكلة الوصول إلى هذه الأجهزة ، هناك طريقة شخص سليم: لتجميع جهاز كمبيوتر رخيص ، ولصق بطاقة تحكم HBA SAS أو FC هناك (على سبيل المثال ، أبسط محول LSI) ، وتوصيل أجهزتك بجهاز التحكم هذا ، وتثبيت أي Linux على جهاز الكمبيوتر والعمل من Mac عبر الشبكة. لكنها مبتذلة وغير مثيرة للاهتمام. سنذهب إلى طريق المتشددين وسربط أجهزتنا مباشرة بجهاز Mac.

ما سنحتاجه لهذا:
- مبلغ لائق من المال لشراء معدات جديدة ، أو حظًا جيدًا في المزادات على موقع eBay (حيث يمكنك ، بجهد ضئيل ، شراء المعدات المطلوبة للأجيال السابقة أرخص 10 مرات من قائمة الأسعار) ؛
- هذه المقالة.

للعمل مع الشريط المغناطيسي (ممثلة حاليًا تقريبًا عالميًا بتنسيق LTO) ، يجب أن يكون لديك محرك أقراص (محرك أشرطة) أو مكتبة أشرطة بمعيار LTO. هذا جهاز باهظ الثمن إلى حد ما للشراء الأولي (من مئات الآلاف من الروبل) ، ولكنه يستحق الأموال المعقولة عند شراء واحدة مستعملة. نظرًا لأن أجيال LTO تتغير كل عامين تقريبًا ، والتوافق يقتصر على جيلين ، فإن السوق الثانوية مشبعة بما يكفي بأجهزة قابلة للتشغيل لمدة أربع سنوات أو أكثر ، أي العام السابق وما بعده. إذا اشتريت جهازًا جديدًا لأغراض تجارية ، فأنت تدرك بنفسك سبب حاجتك إليه. إذا كنت ترغب في شراء المنزل والعائلة ، فيمكنك اعتبار هذا الخيار كطريقة لأرشفة المعلومات (نظرًا لأن الوسائط نفسها رخيصة جدًا لكل 1 غيغابايت).

بدءًا من الجيل LTO-5 (والجزء LTO-4 جزئيًا) ، يتم توصيل أجهزة الأشرطة المغناطيسية بالكمبيوتر عبر واجهة SAS أو FC (عادةً ما يكون هناك إصداران من كل جهاز).

من ناحية أخرى ، توفر لنا Apple في Mac واجهة USB-C (تعمل عبر بروتوكولات USB أو Thunderbolt 3 أو DisplayPort) ، وأحيانًا واجهة Ethernet ، بالإضافة إلى محولات Thunderbolt 3 المملوكة - Thunderbolt 2 و Thunderbolt - FireWire 800. هل هناك

وضع ميئوس منه؟ ليس صحيحا. لحسن الحظ ، يمكن أن يعمل ناقل Thunderbolt في وضع PCIe ويوفر القدرة على توصيل بطاقات PCIe بنفس الطريقة كما لو تم تثبيتها مباشرة داخل علبة الكمبيوتر. ونتيجة لذلك ، فإن أي ملحقات لتكوين أجهزة Mac ممكنة ، سيكون هناك محول وبرامج تشغيل مناسبة.

إن أبسط طريقة لحل المشكلة هي استخدام صندوق خارجي لمحولات PCIe مع واجهة Thunderbolt (نظام توسيع بطاقة PCIe) ، حيث يمكنك تثبيت وحدة تحكم (محول الناقل المضيف ، HBA) SAS أو FC. على سبيل المثال ، يتم إنتاج هذه الصناديق بواسطة Sonnet والعديد من الآخرين. هناك فارق بسيط: ليس كل وحدة تحكم مناسبة لنا ، ولكن لديها فقط برنامج تشغيل لنظام macOS. هناك عدد قليل من هذه المجالس ، والأرخص والأكثر شعبية (على سبيل المثال ، نفس LSI) غير مدرجة في عددهم. لحسن الحظ ، واجهت شركة Sonnet مشكلة تجميع مخطط توافق بطاقة PCIe لأنظمة تشغيل مختلفة من خلال واجهة Thunderbolt.

حل آخر هو شراء محول جاهز لمحول واجهة Thunderbolt-SAS أو Thunderbolt-FC ، وهو في الواقع تجميع جاهز من الصندوق ووحدة التحكم. تشتهر ATTO في هذا المجال ، ولكن تم العثور أيضًا على منتجات من شركات أخرى.

لاحظ أنه ليست كل وحدات تحكم SAS و FC معتمدة للامتثال لمعيار LTO ، لأن هذا وحده يكلف المال. يكتب بعض الشركات المصنعة مباشرة أن وحدات تحكم الشريط الخاصة بهم لا تعمل مع محركات الأشرطة.

لإكمال الصورة ، نلاحظ أن شركة mLogic تنتج جهازًا، وهو محرك IBM LTO-8 في حالة خارجية ، يتم فيه دمج محول SAS to Thunderbolt 3. على الفور ، ومع ذلك ، فإن هذا أكثر غرابة من كل ما سبق ، خاصةً وفقًا لمعايير منطقتنا. أشك في أنه يمكن استيراد هذا الجهاز بشكل قانوني إلى روسيا (تحتوي محركات LTO على أدوات تشفير ، والشركات المصنعة مثل IBM و HP ، لهذا السبب ، تتلقى إذن استيراد FSB لكل طراز).

علاوة على ذلك ، سننظر على سبيل المثال في مجموعة محددة من المعدات ، أصبح مالكها نتيجة العديد من عمليات الاستحواذ الناجحة ، ولكن يجب الحفاظ على المبدأ العام لجميع الخيارات.

لذلك لدينا المعدات التالية للعمل مع الشريط:
- كمبيوتر Apple Mac mini 2018 مع macOS 10.15 Catalina ، الذي يحتوي على منافذ USB-C مع دعم Thunderbolt 3 ؛
- محول Apple Thunderbolt 3 / Thunderbolt 2 ؛
- كابل Apple Thunderbolt 2 ؛
- محول واجهة ATTO ThunderLink SH 1068 (2 * Thunderbolt / 2 * SAS-2) ؛
- كبل SAS SFF-8088 - SFF-8088 ؛
- محرك الأشرطة LTO-5 IBM TS2350 ؛
- خراطيش LTO-5 وخرطوشة التنظيف.

الآن ، كما يقولون ، مع كل هذه القمامة سنحاول الإقلاع.

قم بتنزيل أحدث إصدار من برنامج تشغيل ThunderLink SH 1068 من موقع ATTO على الويب (على ما يبدو ، من أجل راحتنا ، يتم دمجه مع برنامج تشغيل SH 2068 ويقع في القسم 2068 ، والذي تتم كتابته فقط داخل أرشيف برنامج التشغيل نفسه) وأداة تكوين ATTO المساعدة.

صورة

السائق ، بالطبع ، يحتاج إلى تثبيت. قبل مثل هذه الإجراءات ، ينصح المؤلف دائمًا بإجراء لقطة لنظام ملفات APFS من قرص التمهيد باستخدام الأمر

tmutil localsnapshot


أو نسخة احتياطية من قرص التمهيد ، إذا كان هناك HFS +. أنت لا تعرف أبدا. ثم سيكون من السهل التراجع عن اللقطة.

علاوة على ذلك ، عديم الخبرة ، ولكن يظهر العناية الواجبة ، سوف يميل العقل بلا شك إلى قراءة تعليمات ATTO لتثبيت برنامج التشغيل وتنفيذه بعناية. والنتيجة تضامن! - نحصل على نظام التشغيل معلقًا في مرحلة التمهيد. هنا يمكننا استخدام لقطة يمكنك الاسترداد منها عن طريق استدعاء Time time من قسم الاسترداد ، أو يمكنك مسح kext مريض يدويًا من كتالوج ملحق kernel من نفس قسم الاسترداد (لا ينصح المؤلف عمومًا بإجراء ذلك).

لماذا يحدث ذلك؟ لأن أبل اعتنت بنا. في الإصدارات الأخيرة من macOS ، ليس من السهل أخذ شفرة غريبة وتضمينها في عملية التمهيد. لقد منع مبرمجو أبل الجيدون مثل هذا السلوك المدمر. بتعبير أدق ، قاموا بحظره إلى النصف عندما يتم تقديم انتظار السائق ، ولكن السائق نفسه ليس كذلك ، لذلك كل شيء معلق فقط.

ما الذي يجب على العقل المتطور فعله قبل تثبيت برنامج التشغيل؟ أولاً ، أعط الأمر:

csrutil status


إذا حصلنا على رد:

حالة حماية تكامل النظام: ممكّنة.


هذا يعني أن مبرمجي Apple الجيدين يعتنون بنا ، لذلك لن يأتي أي شيء منا حتى نوقف حمايتهم الرائعة. للقيام بذلك ، نقوم بإعادة التشغيل في قسم الاسترداد (⌘R) ، واستدعاء المحطة الطرفية وإعطاء الأمر:

csrutil disable


بعد ذلك ، نعيد التشغيل في نظام العمل ، ثم نقوم بتثبيت برنامج التشغيل ، وفي الوقت نفسه ، أداة تكوين ATTO (من حيث المبدأ ، هناك حاجة إلى أداة التكوين المساعدة فقط للتشخيصات وغير مطلوبة أثناء التشغيل العادي). في هذه العملية ، عندما نطلب منك ، نؤكد على تفويض ATTO في إعدادات النظام. بعد التثبيت ، يمكنك إعادة التشغيل مرة أخرى في قسم الاسترداد وإعطاء الأمر

csrutil enable


أبل تعتني بنا مرة أخرى.

الآن لدينا واجهة مدعومة من قبل السائق لأجهزة SAS الخارجية (أو FC إذا تم استخدام محول FC). ولكن كيف تعمل مع الشريط على المستوى المنطقي؟

كما هو معروف لعقل قليل الخبرة ولكن متحمس ، أي نظام متوافق مع Unix يدعم محركات الأشرطة على مستوى kernel وأدوات النظام الرئيسية ، والتي تتضمن في المقام الأول mt (إدارة الأشرطة) و tar (أرشيفي مع دعم للعمل مع أرشيفات الأشرطة) . ومع ذلك ، ما الذي سيحدده العقل المتطور؟ أي نظام متوافق مع Unix باستثناء macOS . تقلق Apple عنا من خلال إزالة الدعم لأجهزة الشريط من رمزها.

ولكن هل من المستحيل حقًا إعادة هذا الرمز عن طريق نقل الأدوات القياسية مفتوحة المصدر القياسية إلى macOS؟ الخبر السار هو أن Tolis قد فعلت ذلك بالفعل (رابط لا أقدمه) في منتج أدوات Tolis Tape. الخبر السيئ هو أن الشركة المذكورة تقدر استخدام نتائج عملها عند 399 دولار أمريكي. قد تكون تقديرات هذه الحقيقة مختلفة ، لكن المؤلف شخصياً غير مستعد لدفع شخص ما 400 دولار مقابل الرمز ، في الغالب يكتبه أشخاص مختلفون تمامًا ويتم استخدامه علنًا منذ السبعينيات ، وبالتالي فإن هذه المشكلة للمؤلف تعتبر مغلقة. (بالمناسبة ، هناك مشروع IOSCSITape مجاني حول نفس الموضوع على github في حالة غامضة ).

لحسن الحظ ، هناك شركة IBM في العالم ذات شهية تجارية بمقياس مختلف تمامًا ، وبالتالي لا تظهر في كل شيء صغير. على وجه الخصوص ، قامت بتطوير نظام ملفات أشرطة LTFS مفتوح المصدر ، والذي يتم توزيعه أيضًا لنظام macOS.

هناك فارق بسيط في أن مصنعي أجهزة الشريط المختلفة يطلقون إصداراتهم الخاصة من LTFS التي تدعم أجهزتهم. نظرًا لأن المؤلف يستخدم محرك الأشرطة IBM ، تم أيضًا تثبيت LTFS بواسطة IBM. قد تحتاج محركات الأقراص التابعة لجهات خارجية إلى منافذ LTFS الخاصة بها. وهناك تطبيق عالمي مفتوح لـ OpenLTFS على github و homebrew.

من المهم بالنسبة لنا أن تستخدم LTFS وظيفة قسم الوسائط ، وبالتالي يمكنها العمل مع الأجهزة والخراطيش ، بدءًا من الجيل LTO-5.

لذا ، في حالتنا ، نقوم بتنزيل منتج IBM Spectrum Archive Single Drive Edition لنظام macOS من موقع IBM على الويب ، والذي يتضمن فقط تطبيق LTFS. بدون أي مغامرات ، نقوم بتثبيت المنتج باستخدام المثبت الخاص بنا. في هذه العملية ، يقوم أيضًا بتثبيت حزمة FUSE ، بينما في إعدادات النظام سيكون عليك تأكيد تفويض مبرمج ذكي يدعى Anatol Pomozov ، والذي تعتمد عليه IBM في هذه الحالة. الاحترام والاحترام لهذا الشخص.

من المستحسن كتابة السطر في الملف /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local على الفور:

خيار محرك أقراص واحد sync_type = time @ 1


تحديد تركيب الشريط افتراضيًا مع إعادة ضبط المخزن المؤقت للتسجيل بعد دقيقة واحدة من عدم النشاط (الافتراضي 5 دقائق).

صورة

أخيرًا ، كل شيء جاهز للاتصال. نقوم بتوصيل السلسلة: Mac - محول T3 / T2 - كابل Thunderbolt - محول ATTO - كابل SAS - محرك الأشرطة (اختيار العديد من المنافذ على جهاز Mac ، والمحول ومحرك الأقراص غير مهم). بدوره على قوة المحول. قم بتشغيل قوة محرك الشريط. نحن في انتظار تهيئة محرك الأقراص بمؤشره.

نعطي الأمر:

ltfs -o device_list


مرحى! نحصل على (بالطريقة التشخيصية المعتادة لشركة IBM):

307 LTFS14000I بدء تشغيل LTFS ، إصدار LTFS 2.4.2.0 (10418) ، مستوى السجل 2.
307 LTFS14058I LTFS مواصفات الإصدار 2.4.0.
307 LTFS14104I تم إطلاقها بواسطة "ltfs -o device_list".
307 LTFS14105I تم تصميم هذا الثنائي لنظام التشغيل Mac OS X.
307 LTFS14106I إصدار GCC هو 4.2.1 متوافق مع Apple Clang 4.1 ((العلامات / Apple / clang-421.11.66)).
307 LTFS17087I إصدار النواة: إصدار داروين نواة 19.4.0: الأربعاء 4 مارس 22:28:40 بتوقيت المحيط الهادئ 2020 ؛ الجذر: xnu-6153.101.6 ~ 15 / RELEASE_X86_64.
307 LTFS17085I البرنامج المساعد: تحميل الخلفية الشريط "iokit".
قائمة جهاز الشريط:.
اسم الجهاز = 0 ، معرف البائع = IBM ، معرف المنتج = ULT3580-TD5 ، الرقم التسلسلي = ********** ، اسم المنتج = [ULT3580-TD5].


نقوم بإدخال الخرطوشة ، وانتظر التنزيل والتنسيق:

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


هنا ، تحدد المعلمة -d رقم محرك الأقراص (دائمًا صفر إذا كان هو الوحيد ، ولكن لا يمكن حذفه من هذا الأمر) ، -n هو اسم الشريط (يمكنك حذفه) ، وتتطلب المعلمة -r محتويات ملفات. DS_Store لا تتجاوز الحجم 10 ميغا بايت ، في قسم الفهرس (أي مخصص للأدلة) من الشريط بدلاً من قسم البيانات.

ذهبت الحياة الغامضة في محرك الشريط. نحن ننتظر بضع دقائق ، نحصل على الجواب:

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) يُرجع -20501.
LTFS30865I READ_ATTR تُرجع حقل غير صالح في CDB (-20501) 0.
LTFS30836I لا يمكن قراءة السمة (-20501).
LTFS11336I السمة غير موجودة. تجاهل الخطأ المتوقع.
LTFS17235I كتابة فهرس NO_BARCODE إلى (السبب: التنسيق ، 0 ملفات) 9068025555.
LTFS17236I فهرس كتابي NO_BARCODE (أ ، **********).
LTFS15013I حجم UUID هو: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I سعة التخزين هي 1425 جيجابايت.
LTFS30854I تم تعطيل حماية الكتل المنطقية.
LTFS15024I تم تنسيق متوسط ​​بنجاح.


قم بتثبيت الشريط المنسق:

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


نحصل على بضع دقائق إضافية من تشغيل المحرك والتشخيص:

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.


وها هي ، شريطنا على سطح المكتب ، يدعى Test (ltfs)! سيتلقى الشريط المجهول الاسم OSXFUSE Volume 0 (ltfs).

الآن يمكنك العمل معها.

صورة

في الواقع ، يجب أن تضع في اعتبارك أنه من المستحسن عدم إساءة استخدام عرض محتويات أدلة الشريط في نوافذ الخافت ، لأن هذه عملية مكلفة للغاية بالنسبة إلى LTFS ، ولكن من الأفضل العمل مع أوامر المحطة الطرفية ، أو ببساطة تفريغ النسخة الاحتياطية بكميات كبيرة على الشريط ، كما هو موضح في النافذة أعلاه.

بالمناسبة ، هناك أداة IBM مكتوبة خصيصًا ltfs_copy واستنساخها مصممة لنسخ أكثر فعالية بين الشريط والقرص ، ولكن حتى الآن لم يتمكن المؤلف من العثور عليها في المجال العام أثناء عمليات البحث السطحي.

يمكنك إلغاء تحميل الشريط بالأمر:

umount /Volumes/LTFS


أو رميها في السلة.

في الواقع ، هناك نوع من الأصداف الرسومية لنظام macOS في الطبيعة لتسهيل هذه الإجراءات ، ولكن هل نحن ، بعد مثل هذه الانحرافات ، نخشى كتابة بضعة أسطر في النهاية؟

كأثر جانبي ، لدينا الفرصة لتوصيل محركات eSATA الخارجية عبر كابل SAS / 4 * eSATA.

صورة

All Articles