Apple Mac et appareils sophistiqués. LTO, SAS, Fibre Channel, eSATA

Le sujet de cet article est la connexion de périphériques externes à un Mac via les interfaces SAS, Fibre Channel (FC) et eSATA. Disons tout de suite que pour résoudre le problème d'accès à de tels appareils, il existe un moyen pour une personne en bonne santé : construire un PC pas cher, brancher une carte contrôleur HBA SAS ou FC (par exemple, un simple adaptateur LSI), connecter vos appareils à ce contrôleur, installez n'importe quel Linux sur le PC et travaillez depuis Mac via le réseau. Mais c'est banal et sans intérêt. Nous allons emprunter la voie hardcore et connecter nos appareils directement sur Mac.

Ce dont nous avons besoin pour cela :
– une somme d'argent décente pour acheter du nouvel équipement, ou bonne chance dans les enchères sur eBay (où, avec un petit effort, vous pouvez acheter l'équipement requis des générations précédentes 10 fois moins cher que le prix catalogue) ;
- Cet article.

Pour travailler avec des bandes magnétiques (maintenant presque universellement représentées au format LTO), vous devez disposer d'un lecteur de bande LTO (streamer) ou d'une bibliothèque de bandes. Il s'agit d'un appareil assez coûteux pour l'achat initial (à partir de centaines de milliers de roubles), mais qui vaut une somme d'argent raisonnable lors de l'achat d'occasion. Étant donné que les générations LTO changent environ tous les deux ans et que la compatibilité est limitée à deux générations, le marché secondaire est assez saturé d'appareils fonctionnels âgés de quatre ans ou plus, c'est-à-dire la génération avant-dernière et au-delà. Si vous achetez un nouvel appareil à des fins commerciales, vous comprenez vous-même pourquoi vous en avez besoin. Si vous souhaitez acheter pour votre maison et votre famille, vous pouvez envisager cette option comme moyen d'archiver des informations (puisque les médias eux-mêmes sont très bon marché pour 1 gigaoctet).

À partir de la génération LTO-5 (et en partie LTO-4), les appareils permettant de travailler avec des bandes magnétiques sont connectés matériellement à l'ordinateur via une interface SAS ou FC (il existe généralement deux versions de chaque appareil)

En revanche, Apple nous met gracieusement à disposition une interface USB-C dans notre Mac (fonctionnant avec les protocoles USB, Thunderbolt 3 ou DisplayPort), parfois une interface Ethernet, ainsi que des Thunderbolt 3 propriétaires - Thunderbolt 2 et Thunderbolt - FireWire 800. adaptateurs.

Impasse? Pas vraiment. Heureusement, Thunderbolt peut fonctionner en mode PCIe et permettre aux cartes PCIe d'être connectées de la même manière que si elles étaient installées directement à l'intérieur du boîtier de l'ordinateur. De ce fait, toute extension de la configuration matérielle Mac est possible, à condition de disposer d'un adaptateur et de pilotes appropriés.

Conceptuellement, le moyen le plus simple de résoudre le problème est un boîtier externe pour adaptateurs PCIe avec une interface Thunderbolt (système d'extension de carte PCIe), dans lequel vous pouvez installer un adaptateur de bus hôte SAS ou FC (HBA). Par exemple, ces boîtes sont produites par l'entreprise Sonnet et quelques autres. Il y a ici une nuance : tous les contrôleurs ne nous conviennent pas, mais un seul doté d'un pilote pour macOS. Il n'existe que quelques cartes de ce type, et les moins chères et les plus populaires (par exemple, le même LSI) ne sont pas incluses dans leur nombre. Heureusement, Sonnet a pris la peine de compiler tableau de compatibilité Cartes PCIe avec différents systèmes d'exploitation via l'interface Thunderbolt.

Une autre solution consiste à acheter un convertisseur d'interface Thunderbolt - SAS ou Thunderbolt - FC prêt à l'emploi, qui est en fait un assemblage prêt à l'emploi d'un boîtier et d'un contrôleur. L'entreprise la plus connue dans ce domaine ATTO, mais il existe également des produits d'autres sociétés.

Notez que tous les contrôleurs SAS et FC ne sont pas certifiés conformes à la norme LTO, car cela coûte de l'argent en soi. Certains fabricants écrivent directement que leurs contrôleurs ne sont pas conçus pour fonctionner avec des lecteurs de bande.

Pour compléter le tableau, notons que mLogic produit dispositif, qui est un disque IBM LTO-8 dans un boîtier externe, dans lequel est immédiatement intégré un convertisseur SAS vers Thunderbolt 3. C'est cependant une chose encore plus exotique que tout ce qui est décrit ci-dessus, surtout selon les standards de notre région. Je doute que cet appareil puisse même être légalement importé en Russie (les disques LTO contiennent des fonctionnalités cryptographiques, et des fabricants tels qu'IBM et HP reçoivent pour cette raison une autorisation d'importation FSB pour chaque modèle).

Ensuite, nous considérerons, à titre d'exemple, un ensemble spécifique d'équipements dont l'auteur est devenu propriétaire à la suite de plusieurs acquisitions réussies, mais le principe général doit être maintenu pour toutes les options.

Nous disposons donc du matériel suivant pour travailler avec du ruban adhésif :
– Ordinateur Apple Mac mini 2018 avec macOS 10.15 Catalina, doté de ports USB-C avec prise en charge Thunderbolt 3 ;
– Adaptateur Apple Thunderbolt 3 / Thunderbolt 2 ;
– Câble Apple Thunderbolt 2 ;
– Convertisseur d'interface ATTO ThunderLink SH 1068 (2*Thunderbolt / 2*SAS-2) ;
– Câble SAS SFF-8088 – SFF-8088 ;
– lecteur de bande LTO-5 IBM TS2350 ;
– Cartouches LTO-5, cartouche de nettoyage.

Maintenant, comme on dit, avec tout ça, on va essayer de décoller.

Nous téléchargeons depuis le site Web d'ATTO la dernière version du pilote ThunderLink SH 1068 (apparemment, pour notre commodité, il est combiné avec le pilote SH 2068 et se trouve dans la section 2068, qui est écrite uniquement dans l'archive avec le pilote) et le Utilitaire de configuration ATTO.

Apple Mac et appareils sophistiqués. LTO, SAS, Fibre Channel, eSATA

Le pilote doit bien sûr être installé. Avant de telles actions, l'auteur conseille de toujours prendre un instantané du système de fichiers APFS du disque de démarrage avec la commande

tmutil localsnapshot

ou une copie de sauvegarde du disque de démarrage, s'il dispose de HFS+. On ne sait jamais. Il sera alors facile de revenir en arrière à partir de l'instantané.

Ensuite, l'esprit inexpérimenté mais prudent sera sans aucun doute enclin à lire attentivement les instructions d'installation du pilote ATTO et à les suivre. En conséquence - tadam ! – nous obtenons un système d’exploitation qui se bloque au stade du chargement. Ici, nous pouvons avoir besoin d'un instantané à partir duquel nous pouvons récupérer en appelant Time machine à partir de la partition de récupération, ou à partir de la même partition de récupération, nous pouvons effacer manuellement le kext malade du répertoire des extensions du noyau (l'auteur ne recommande généralement pas de le faire).

Pourquoi cela arrive-t-il? Parce qu'Apple a pris soin de nous. Dans les versions récentes de macOS, vous ne pouvez pas facilement injecter du code étranger dans le processus de démarrage. Les bons programmeurs Apple ont bloqué ce comportement destructeur. Plus précisément, ils l'ont bloqué à mi-chemin, lorsque les attentes du conducteur se réalisent, mais le conducteur lui-même ne l'est pas, donc tout se fige.

Que devrait faire un esprit sophistiqué avant d’installer un pilote ? Tout d'abord, donnez la commande :

csrutil status

Si en réponse nous recevons :

État de la protection de l'intégrité du système : activé.

alors cela signifie que les bons programmeurs Apple se soucient de nous, donc rien ne fonctionnera pour nous tant que nous n'aurons pas désactivé leur merveilleuse protection. Pour ce faire, redémarrez sur la partition de récupération (⌘R), appelez le terminal et exécutez la commande :

csrutil disable

Après cela, nous redémarrons le système de travail, puis installons ensuite le pilote et en même temps l'utilitaire de configuration ATTO (en principe, l'utilitaire de configuration n'est nécessaire que pour le diagnostic et n'est pas requis pendant le fonctionnement normal). En cours de route, lorsqu'on nous le demande, nous confirmons l'autorisation ATTO dans les paramètres système. Après l'installation, vous pouvez redémarrer à nouveau dans la partition de récupération et donner la commande

csrutil enable

Apple prend à nouveau soin de nous.

Nous disposons désormais d'une interface prise en charge par le pilote vers les périphériques SAS externes (ou FC, si un convertisseur FC a été utilisé). Mais comment travailler avec une bande au niveau logique ?

Comme le sait l'esprit inexpérimenté mais érudit, tout système compatible Unix prend en charge les lecteurs de bande au niveau du noyau et les utilitaires système de base, qui incluent principalement mt (gestion des bandes) et tar (archiveur prenant en charge le travail avec des archives sur bande). Mais que peut en dire un esprit sophistiqué ? Tout système compatible Unix, sauf macOS. Apple a pris soin de nous en supprimant la prise en charge des périphériques à bande de son code.

Mais est-il vraiment impossible de renvoyer ce code en portant les utilitaires Unix open source standards sur macOS ? La bonne nouvelle est que Tolis (auquel je ne crée pas de lien) l'a déjà fait dans son produit Tolis Tape Tools. La mauvaise nouvelle est que l’entreprise mentionnée coûte 399 $ pour utiliser les résultats de son travail. Les estimations de ce fait peuvent varier, mais l'auteur personnellement n'est pas prêt à payer 400 dollars à quelqu'un pour un code qui a été principalement écrit par des personnes complètement différentes et qui est utilisé ouvertement depuis les années 1970, et c'est pourquoi l'auteur se pose cette question pour lui-même. considère fermé. (D'ailleurs, il y a un projet gratuit abandonné dans un état vague sur Github IOSCSITape sur le même sujet).

Heureusement, il existe dans le monde la société IBM, dont les appétits commerciaux sont d'une toute autre ampleur et ne se manifestent donc pas dans toutes les petites choses. Elle a notamment développé le système de fichiers sur bande open source LTFS, également distribué pour macOS.

La mise en garde ici est que différents fabricants de périphériques à bande publient leurs propres versions de LTFS pour prendre en charge leurs périphériques. Puisque l'auteur utilise un lecteur de bande IBM, il a installé LTFS d'IBM. Les disques tiers peuvent nécessiter leurs propres ports LTFS. Et il existe une implémentation universelle d'openLTFS sur Github et Homebrew.

Il est important pour nous que LTFS utilise la fonction de partitionnement des médias et puisse donc fonctionner avec des périphériques et des cartouches à partir de la génération LTO-5.

Ainsi, dans notre cas, nous téléchargeons IBM Spectrum Archive Single Drive Edition pour macOS à partir du site Web d'IBM, qui inclut l'implémentation LTFS. Sans aucune aventure, nous installons le produit à l'aide de son propre installateur. En cours de route, il installe également le package FUSE et, dans les paramètres système, il devra confirmer l'autorisation d'un programmeur intelligent nommé Anatol Pomozov, dont dépend dans ce cas tout IBM. Respect et respect à cet homme.

Il est conseillé d'écrire immédiatement la ligne dans le fichier /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local :

option disque unique sync_type=time@1

qui spécifie que la bande est montée par défaut et que le tampon d'enregistrement est réinitialisé après 1 minute d'inactivité (la valeur par défaut est 5 minutes).

Apple Mac et appareils sophistiqués. LTO, SAS, Fibre Channel, eSATA

Enfin, tout est prêt à se connecter. On connecte la chaîne : Mac – adaptateur T3/T2 – câble Thunderbolt – convertisseur ATTO – câble SAS – lecteur de bande (le choix de plusieurs ports sur le Mac, convertisseur et lecteur n'a pas d'importance). Allumez l’alimentation du convertisseur. Mettez le lecteur de bande sous tension. Nous attendons que le lecteur termine son initialisation selon son indication.

On donne la commande :

ltfs -o device_list

Hourra! Nous obtenons (de la manière habituelle de diagnostic IBM) :

307 LTFS14000I Démarrage LTFS, LTFS version 2.4.2.0 (10418), niveau de journalisation 2.
307 LTFS14058I Spécification du format LTFS version 2.4.0.
307 LTFS14104I Lancé par "ltfs -o device_list".
307 LTFS14105I Ce binaire est conçu pour Mac OS X.
307 LTFS14106I La version GCC est 4.2.1 compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Version du noyau : version 19.4.0 du noyau Darwin : mercredi 4 mars 22:28:40 PST 2020 ; racine :xnu-6153.101.6~15/RELEASE_X86_64.
307 Plugin LTFS17085I : Chargement du backend de bande « iokit ».
Liste des périphériques de bande :.
Nom du périphérique = 0, ID du fournisseur = IBM, ID du produit = ULT3580-TD5, numéro de série = **********, nom du produit = [ULT3580-TD5].

Insérez la cassette, attendez qu'elle se charge et se formate :

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

Ici, le paramètre -d spécifie le numéro de lecteur (toujours zéro s'il est le seul, mais ne peut pas être omis dans cette commande), -n est le nom de la bande (vous pouvez l'omettre) et le paramètre -r nécessite de placer le contenu. de fichiers .DS_Store ne dépassant pas la taille de 10 mégaoctets, dans la section index (c'est-à-dire destinée aux répertoires) de la bande au lieu de la section de données.

Une vie mystérieuse a commencé dans le lecteur de bande. Nous attendons quelques minutes et recevons la réponse suivante :

LTFS15000I Démarrage de mkltfs, LTFS version 2.4.2.0 (10418), niveau de journalisation 2.
LTFS15041I Lancé par "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Ce binaire est conçu pour Mac OS X.
La version LTFS15043I GCC est 4.2.1 compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Version du noyau : version 19.4.0 du noyau Darwin : mercredi 4 mars 22:28:40 PST 2020 ; racine :xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Périphérique de formatage « 0 ».
LTFS15004I Taille du bloc de volume LTFS : 524288 XNUMX.
LTFS15005I Stratégie de placement des partitions d'index : taille=10M/nom=.DS_Store.

LTFS11337I Mettre à jour l'indicateur d'index sale (1) - NO_BARCODE (0x0x1021081e0).
Plugin LTFS17085I : Chargement du backend de bande « iokit ».
LTFS30810I Ouverture d'un périphérique via le pilote iokit (0).
LTFS30814I L'ID fournisseur est IBM.
L'ID produit LTFS30815I est « ULT3580-TD5 ».
LTFS30816I La révision du micrologiciel est H976.
LTFS30817I Le numéro de série du lecteur est **********.
LTFS17160I La taille maximale du bloc de périphérique est de 1048576 XNUMX XNUMX.
LTFS11330I Chargement de la cartouche.
LTFS30854I La protection des blocs logiques est désactivée.
LTFS11332I Chargement réussi.
LTFS17157I Modification du paramètre du lecteur en mode écriture n'importe où.
LTFS15049I Vérification du support (montage).
LTFS30854I La protection des blocs logiques est désactivée.
LTFS15010I Création de la partition de données b sur la partition SCSI 1.
LTFS15011I Création de la partition d'index a sur la partition SCSI 0.
LTFS17165I Réinitialisation de la proportion de capacité du support.
LTFS11097I Partitionnement du support.
LTFS11100I Écriture d'une étiquette sur la partition b.
LTFS11278I Écriture de l'index sur la partition b.
LTFS30808I READ_ATTR (0x8c) renvoie -20501.
LTFS30865I READ_ATTR renvoie un champ non valide dans CDB (-20501) 0.
LTFS30836I Impossible de lire l'attribut (-20501).
LTFS11336I L'attribut n'existe pas. Ignorez l'erreur attendue.
LTFS17235I Écriture de l'index de NO_BARCODE dans b (Raison : Format, 0 fichier) **********.
LTFS17236I A écrit l'index de NO_BARCODE (b, **********).
LTFS11337I Mettre à jour l'indicateur d'index sale (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Écriture d'une étiquette sur la partition a.
LTFS11278I Écriture de l'index sur la partition a.
LTFS30808I READ_ATTR (0x8c) renvoie -20501.
LTFS30865I READ_ATTR renvoie un champ non valide dans CDB (-20501) 0.
LTFS30836I Impossible de lire l'attribut (-20501).
LTFS11336I L'attribut n'existe pas. Ignorez l'erreur attendue.
LTFS17235I Écriture de l'index de NO_BARCODE dans un (raison : format, 0 fichier) 9068025555.
LTFS17236I A écrit l'index de NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

LTFS15019I La capacité du volume est de 1425 XNUMX Go.
LTFS30854I La protection des blocs logiques est désactivée.
LTFS15024I Formatage du support réussi.

Montez la bande formatée :

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

Nous obtenons encore quelques minutes de fonctionnement et de diagnostic du lecteur :

307 LTFS14000I Démarrage LTFS, LTFS version 2.4.2.0 (10418), niveau de journalisation 2.
307 LTFS14058I Spécification du format LTFS version 2.4.0.
307 LTFS14104I Lancé par « ltfs /Volumes/LTFS/ ».
307 LTFS14105I Ce binaire est conçu pour Mac OS X.
307 LTFS14106I La version GCC est 4.2.1 compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Version du noyau : version 19.4.0 du noyau Darwin : mercredi 4 mars 22:28:40 PST 2020 ; racine :xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Le type de synchronisation est « heure », le temps de synchronisation est de 60 secondes.
307 Plugin LTFS17085I : Chargement du backend de bande « iokit ».
307 Plugin LTFS17085I : Chargement du backend iosched « unifié ».
307 LTFS14095I Définissez le mode d'écriture n'importe où du périphérique de bande pour éviter l'éjection de la cartouche.
307 LTFS30810I Ouverture d'un périphérique via le pilote iokit (0).
307 LTFS30814I L'ID du fournisseur est IBM.
307 LTFS30815I L'ID du produit est « ULT3580-TD5 ».
307 LTFS30816I La révision du micrologiciel est H976.
307 LTFS30817I Le numéro de série du variateur est **********.
307 LTFS17160I La taille maximale du bloc de périphérique est de 1048576 XNUMX XNUMX.
307 LTFS11330I Chargement de la cartouche.
307 LTFS30854I La protection du bloc logique est désactivée.
307 LTFS11332I Chargement réussi.
307 LTFS17157I Modification du paramètre du lecteur en mode écriture n'importe où.
307 LTFS11005I Montage du volume.
307 LTFS30854I La protection du bloc logique est désactivée.
307 LTFS17227I Attribut de bande : Fournisseur = IBM.
307 LTFS17227I Attribut de bande : Nom de l'application = LTFS.
307 LTFS17227I Attribut de bande : Version de l'application = 2.4.2.0.
307 LTFS17227I Attribut de bande : Étiquette de support =.
307 LTFS17228I Attribut de bande : ID de localisation de texte = 0x81.
307 LTFS17227I Attribut de bande : Code-barres =.
307 LTFS17227I Attribut de bande : Version du format d'application = 2.4.0.
307 LTFS17228I Attribut de bande : État de verrouillage du volume = 0x00.
307 LTFS17227I Attribut de bande : Nom du pool de médias =.
307 LTFS14111I La configuration initiale s'est terminée avec succès.
307 LTFS14112I Appelez la commande 'mount' pour vérifier le résultat de la configuration finale.
307 LTFS14113I Le point de montage spécifié est répertorié en cas de réussite.

Et le voici, notre ruban sur le bureau, nommé Test(ltfs) ! La bande sans nom sera nommée OSXFUSE Volume 0 (ltfs).

Vous pouvez maintenant travailler avec.

Apple Mac et appareils sophistiqués. LTO, SAS, Fibre Channel, eSATA

En général, vous devez garder à l'esprit qu'il est conseillé de ne pas abuser de l'affichage du contenu des répertoires de bandes dans les fenêtres du Finder, car il s'agit d'une opération incroyablement coûteuse pour LTFS, mais il est préférable de travailler avec les commandes du terminal, ou simplement de réinitialiser le répertoire de sauvegarde en masse sur la bande, comme indiqué dans la fenêtre ci-dessus.

À propos, il existe un utilitaire IBM ltfs_copy spécialement écrit et ses clones, conçus pour une copie plus efficace entre bande et disque, mais jusqu'à présent, l'auteur n'a pas pu les trouver dans le domaine public avec une recherche superficielle.

Vous pouvez démonter la bande avec la commande :

umount /Volumes/LTFS

ou jetez-le simplement à la poubelle.

En fait, dans la nature, il existe des sortes de shells graphiques pour macOS pour faciliter ces actions, mais après de telles perversions, faut-il avoir peur de taper quelques lignes dans le terminal ?

Comme effet secondaire, nous avons la possibilité de connecter des disques eSATA externes via un câble SAS/4*eSATA.

Apple Mac et appareils sophistiqués. LTO, SAS, Fibre Channel, eSATA

Source: habr.com

Ajouter un commentaire