1 votes

Partition racine remplaçable à chaud dans Ubuntu Server 10.04 LTS

Ma société exploite de petits boîtiers NAS que nous distribuons dans les entreprises et les foyers pour une utilisation personnelle ou en réseau professionnel. Ces machines fonctionnent sous Ubuntu Server 10.04 et sont configurées pour démarrer à partir d'une clé USB. L'essentiel du stockage et des partages se fait sur une matrice RAID5 à 4 disques. Nous clonons les lecteurs flash à l'aide de dd et les échangeons pour une réparation rapide et facile des problèmes liés au système d'exploitation. Certains de nos clients ne peuvent pas se permettre d'avoir leur boîte éteinte, même pour quelques minutes, pour un redémarrage. Nous aimerions donc savoir comment commencer à créer un lecteur flash "échangeable à chaud". J'envisageais d'exécuter un petit OS avec juste le partage de base, ssh, et FTP dessus à partir de la matrice RAID5, et d'utiliser un signal USB pour exécuter un script ordonnant à la machine de basculer le chargeur de démarrage vers ce "petit" OS. Ainsi, pendant que la machine fonctionne sur ce système d'exploitation temporaire de fortune, nous remplaçons le lecteur flash par le système d'exploitation principal et exécutons à nouveau le signal USB pour basculer le chargeur de démarrage. Je suppose donc que ma question est de savoir s'il existe déjà un logiciel conçu pour cela et, si ce n'est pas le cas, quel chemin dois-je emprunter pour commencer ?

2voto

Joseph Kern Points 9759

Alors ... c'est en fait une question intéressante.

Je vais d'abord vous dire pourquoi ça ne marchera pas, puis je vous dirai comment pourrait travail. :-)

Votre "OS" (plus précisément votre noyau) fournit toutes les interfaces nécessaires à vos périphériques. Y compris vos matrices de disques. Il conserve également une liste de descripteurs qui indiquent aux processus où envoyer leurs données.

Ainsi, lorsque vous parlez de "hot swapping" de votre "OS", vous demandez en fait de remplacer votre noyau (et toutes ses bibliothèques et configurations associées) pendant les opérations. Vous pouvez avoir un système d'exploitation en fonctionnement et un autre stocké sur un périphérique. Mais vous ne pouvez pas remplacer à chaud un noyau standard en cours de fonctionnement.

MAIS, vous pouvez vous pencher sur une nouvelle technologie appelée ksplice . Son but est d'offrir un noyau sans redémarrage. Je ne suis pas familier avec votre implémentation actuelle, ni avec la stabilité de ksplice, mais cela devrait vous permettre de commencer sur le bon chemin. Et Canonical est même l'un de leurs principaux supporters !

Bonne chance !

0voto

Matthew Ife Points 22370

Si le problème est lié à la configuration du système d'exploitation, le remplacement du lecteur n'a aucun effet. Vous ne pouvez pas modifier l'état d'un système d'exploitation en cours d'exécution aussi simplement sans faire quelque chose comme au moins redémarrer les services.

En ce qui concerne le remplacement d'un disque défectueux par un nouveau disque sur USB, par exemple, c'est possible.

Si vous créez le disque USB en tant que groupe de volumes dans LVM2, vous pouvez alors utiliser la commande pvmove pour obtenir cet effet.

Le processus serait le suivant :

  1. Insérez un nouveau disque USB de taille égale ou supérieure.
  2. Utilisation de vgextend ajouter ledit disque au groupe de volume existant.
  3. Utilisation de pvmove Transférez les extents de l'ancienne partition racine sur le nouveau disque USB.
  4. Utilisation de vgreduce supprimer l'ancien disque USB du groupe de volume.
  5. Retirez l'ancien disque.

Je le répète, cela ne résout en rien les problèmes sous-jacents causés par l'état du serveur, qui est probablement à l'origine de la plupart des problèmes.

En outre, cela ne vous aide en rien à réparer un kit existant qui n'est pas compatible avec LVM. Juste des trucs que vous enverriez maintenant.

Si vous voulez offrir une solution hautement disponible, concevez-en une dès le départ. Construisez un NAS redondant. Vous pouvez utiliser drbd pour le faire. Vous pouvez ensuite basculer en toute sécurité pour effectuer autant de travail hors ligne que vous le souhaitez sur la boîte à problèmes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X