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 et quelques autres. Attention : toutes les manettes ne fonctionneront pas, seules celles disposant dâun pilote pour macOSIl existe trĂšs peu de cartes de ce type, et les moins chĂšres et les plus populaires (par exemple, la mĂȘme carte LSI) n'en font pas partie. Heureusement, Sonnet a pris la peine de les compiler. 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 , 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 , 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, qui dispose 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.

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 localsnapshotou 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 se produit-il ? Parce qu'Apple a pensĂ© Ă nous. Dans les derniĂšres versions macOS Il est impossible d'injecter du code Ă©tranger dans le processus de dĂ©marrage. Les dĂ©veloppeurs d'Apple ont judicieusement bloquĂ© ce comportement destructeur. Plus prĂ©cisĂ©ment, ils l'ont bloquĂ© partiellement : lorsque l'attente du pilote est injectĂ©e sans que le pilote lui-mĂȘme ne le soit, tout se bloque.
Que devrait faire un esprit sophistiquĂ© avant dâinstaller un pilote ? Tout d'abord, donnez la commande :
csrutil statusSi 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 disableAprĂš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 enableApple 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 pour 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 rĂ©cupĂ©rer ce code en portant les utilitaires Unix open source standard vers macOSLa bonne nouvelle, c'est que Tolis (dont je ne citerai pas le nom) a dĂ©jĂ implĂ©mentĂ© cette fonctionnalitĂ© dans son produit Tolis Tape Tools. La mauvaise nouvelle, c'est que l'entreprise facture 399 $ pour l'utilisation de son travail. Les estimations peuvent varier, mais l'auteur n'est pas disposĂ© Ă payer 400 $ pour un code Ă©crit en grande partie par d'autres et utilisĂ© librement depuis les annĂ©es 1970. Il considĂšre donc ce problĂšme comme rĂ©solu. (Au passage, il existe un projet open source abandonnĂ©, mais encore partiellement fonctionnel, sur GitHub.) sur le mĂȘme sujet).
Heureusement, il y a IBM, une entreprise dont les ambitions commerciales sont d'une toute autre ampleur et ne se manifestent donc pas dans des domaines insignifiants. Elle a notamment développé le systÚme de fichiers sur bande open source LTFS, distribué entre autres 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.
Dans notre cas, nous téléchargeons donc le produit IBM Spectrum Archive Single Drive Edition depuis le site web d'IBM. macOSCe produit inclut l'implémentation LTFS. Son installation se déroule sans problÚme grùce à son programme d'installation intégré. Ce dernier installe également le paquet FUSE, mais vous devrez confirmer l'autorisation d'un programmeur de génie nommé Anatol Pomozov dans les paramÚtres systÚme. En effet, tout le systÚme IBM dépend de lui. Chapeau à lui !
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).

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_listHourra! 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/LTFSNous 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.

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/LTFSou jetez-le simplement Ă la poubelle.
En fait, il existe dans la nature des coquilles graphiques pour macOS pour faciliter ces actions, mais aprĂšs de telles perversions, devrions-nous 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.

Source: habr.com
