Comment configurer plusieurs disques durs en un seul volume?

39

Je suis sur le point de configurer la boîte pour être essentiellement un serveur de fichiers. Je prévois d’avoir plusieurs disques dans la boîte, et je voudrais tous les configurer pour qu’ils paraissent être un seul disque. Donc, je pourrais l'avoir essentiellement monté à la disquette / média et ne pas m'inquiéter du lecteur utilisé Je ne suis pas sûr de la terminologie correcte pour faire cela, mon Google fu est donc inutile dans cette situation.

Alors, comment puis-je configurer plusieurs disques durs pour apparaître comme un seul disque?

Jacob Schoen
la source

Réponses:

17

Vous voudrez probablement utiliser LVM . Vous pouvez trouver des guides ici .

mgunes
la source
1
Merci. Comme note, il semble que celle que je veux est SettingUpLVM-WithoutACleanInstall, car je n’utilise ni Raid, ni aucun chiffrement.
Jacob Schoen
47

J'ai décidé d'écrire les instructions étape par étape que j'ai faites pour mettre cela en place. Une remarque importante est que je l'ai fait sur un système sur lequel je démarre à partir d'une partition séparée qui ne fait pas partie du LVM. Ainsi, le LVM est simplement destiné au stockage et ne contient aucun des fichiers nécessaires au démarrage du système d'exploitation. De plus, il s’agit de créer l’apparence d’un seul grand disque, bien qu’une technique similaire puisse être utilisée pour créer l’apparence de plusieurs lecteurs (bien des partitions). C'est un dépotoir de cerveau très égoïste puisque les autres guides ne me complètent pas tout à fait. J'espère donc que cela pourra aider les autres.

Ces instructions sont essentiellement issues du lien fourni par Murat Gunes avec certaines informations supplémentaires que j’ai recueillies à partir d’ ici .


J'ai commencé avec un disque sur lequel je n'avais rien.

  • Vous devez d’abord créer une partition sous Linux LVM. Vous pouvez utiliser fdisk pour cela. Vous pouvez voir tous les lecteurs vus par Ubuntu et voir comment ils sont listés en exécutant:sudo fdisk -l

La première ligne de chaque section devrait vous donner suffisamment d’informations pour identifier votre lecteur. Cela ressemblera à:

Disque / dev / sda: 500,1 Go, 500107862016 octets

La partie qui compte est /dev/sda. Maintenant , exécutez: sudo fdisk /dev/sda. Tu verras:

Commande (m pour l'aide):

Tapez ppour lister les partitions sur votre lecteur. Vous devez supprimer les partitions que vous souhaitez intégrer au LVM. Alors tapez dpour supprimer. Si le lecteur ne comporte qu'une partition, il la supprimera (il faut bien l'indiquer pour le supprimer, cela ne se produira que lorsque nous lui dirons de le faire). Sinon, je pense (le mien n'en avait qu'un), il vous demande de saisir le numéro de celui que vous souhaitez supprimer.

Vous devez maintenant créer la nouvelle partition. Tapez npour nouveau. Il demande si étendu ou primaire. Type ppour primaire. Il demande le numéro de partition, tapez 1. Pour le premier cylindre et le dernier cylindre, laissez-les vides pour utiliser les valeurs par défaut.

Maintenant, vous devez le configurer sur Linux LVM. Tapez t. Il demande un code hexadécimal, à utiliser 8epour Linux LVM. Vous devriez voir quelque chose comme:

Type de système modifié de la partition 1 à 8e (Linux LVM)

Enfin, tapez wpour écrire les modifications sur le disque.

  • Maintenant, nous devons installer LVM, alors courez sudo apt-get install lvm2pour l’installer.
  • Je vais être honnête et dire que je ne suis pas sûr de ce que cette étape fait, mais les autres instructions disent modprobe dm-modde charger le module LVM. Je n'ai pas eu d'erreurs, donc je me suis dit que ça fonctionnait.
  • Nous devons éditer le fichier / etc / modules pour que ce module soit chargé au démarrage. Faites- sudo nano /etc/modulesle pour l'éditer. Ajouter dm-modà la liste des articles.
  • Nous souhaitons également modifier la configuration de LVM afin de mettre à jour le filtre afin qu'il ne soit pas trop long à analyser (je pense que c'est pourquoi, de toute façon). Alors faites sudo nano -w /etc/lvm/lvm.confet changez la ligne avec:

filtre = ["a /.*/"]

être:

filter = ["a | / dev / hd [ab] |", "r /.*/"]

  • Nous devons maintenant configurer le premier LVM. Faire sudo vgscan. Vous devriez voir quelque chose comme:

Lecture de tous les volumes physiques. Cela peut prendre un certain temps ...
Aucun groupe de volumes trouvé

Si des groupes de volumes sont déjà configurés, exécutez-les sudo vgchange -a ypour les rendre disponibles.

  • Maintenant, lancez sudo pvcreate /dev/sda1pour configurer la partition.
  • Exécutez maintenant le sudo vgcreate media /dev/sda1remplacement du support par le nom que vous souhaitez attribuer à la partition.
  • Maintenant, lancez le sudo lvcreate -l100%FREE -nvolume mediaremplacement du volume par le nom que vous souhaitez appeler. Cela utilisera tout l’espace libre disponible dans la partition.
  • Nous devons maintenant formater le volume pour pouvoir le faire avec ext4 sudo mke2fs -t ext4 /dev/media/volume.
  • Créez le répertoire dans lequel vous souhaitez monter le volume. J'ai fait sudo mkdir /mnt/media.
  • Montez le volume en faisant sudo mount /dev/media/volume /mnt/media. Ceci n’est plus que pour cette session. Lorsque vous redémarrez, il ne sera pas remonté automatiquement. Pour ce faire, nous devons éditer le /etc/fstabfichier. Pour ce faire, ajoutez sudo nano /etc/fstabet ajoutez la ligne:

/ dev / media / volume / mnt / media ext4 par défaut 0 1

À ce stade, vous pouvez commencer à ajouter des fichiers sur le disque. Si vous devez effacer les autres disques que vous souhaitez ajouter, vous pouvez les copier ici.


Ajout d'un autre lecteur à votre volume

  • Alors suivez à nouveau les étapes de la première puce, mais pour le nouveau lecteur.
  • Maintenant, si le nom du lecteur est /dev/sdb1alors fait sudo vgextend media /dev/sdb1pour l'ajouter au volume.
  • Maintenant, nous devons démonter le volume. Pour ce faire faire sudo umount /dev/media/volume.
  • Maintenant, vous pouvez voir les statistiques sur votre volume maintenant en cours d'exécution sudo vgdisplay. La partie importante est Free PE / Size. Vous devez savoir combien d'espace vous pouvez ajouter au volume pour l'étape suivante.
  • Donc, si vous aviez 150 Go d'espace vous feriez sudo lvextend -L+150G /dev/media/volume.
  • Maintenant, lancez sudo e2fsck -f /dev/media/volumepour vérifier le système de fichiers.
  • Maintenant, lancez sudo resize2fs /dev/media/volumepour tout redimensionner.
  • Vous pouvez exécuter les statistiques à nouveau et vérifier que les résultats Free PE / Sizesont conformes à vos attentes.
  • Remonter le volume en faisant sudo mount /dev/media/volume /mnt/media
  • Rincez et répétez l'opération pour tous les autres lecteurs.
    J'ai également trouvé utile de disposer de fichiers que je devais copier sur des disques vers le LVM que j'ai créé avant d'ajouter ce disque. J'ai donc utilisé cp -r -vpour copier récursivement les fichiers et utiliser la sortie commentée afin que je sache ce qu'il faisait. Un exemple de commande complète serait:

cp -r -v / mnt / temp / Films / mnt / partagé / média

Où se /mnt/temp/Moviestrouve le dossier à partir duquel vous souhaitez copier.

Jacob Schoen
la source
Petite question ... une fois que le LVM est créé, par exemple, avec deux lecteurs, suivez-vous les mêmes étapes pour ajouter d'autres lecteurs ultérieurement?
@Craig C'est correct.
Jacob Schoen
2
Lors de la publication de pvcreate / dev / sda1, j’obtenais les éléments suivants: Périphérique / dev / sda1 non trouvé (ou ignoré par le filtrage). ... conformément au bogue # 136830 du tableau de bord ... le filtre dans lvm.con ["a | / dev / hd [ab] |," r /.*/ "] ... avait en fait besoin de lire: [" a | / dev / [hs [d [ab] | "," r /.*/ "] Sinon, merci beaucoup - bon tutoriel . C.
J'ai eu la même question merci d'avoir demandé à Jacob! Je me demandais cependant: comment cela fonctionne-t-il lorsque vous réinstallez Ubuntu. Actuellement, après une copie, je monte simplement les disques et toutes mes données sont toujours là. Comment cela fonctionne-t-il dans cette situation? (Mon disque Ubuntu est un disque séparé, mais puisque l'ensemble de la configuration de LVM semble être stocké sur le disque Ubuntu ..)
Maarten Kieft
2
Pour ajouter un lecteur, vous pouvez également simplement sudo lvextend -l +100%FREE /dev/media/volumeremplir tout l’espace libre.
Jcady
6

Personnellement, je m'assurerais que tous les lecteurs ont (environ) la même taille et créerais un "tableau" RAID 5 à la place. L’inconvénient de RAID 5 est que vous perdez la taille d’un disque dans l’espace disque total disponible. L’avantage de RAID 5 est que si l’un de vos disques tombe en panne, vous ne perdez rien et vous pouvez simplement remplacer le disque dur défectueux.

Si vous ne vous souciez pas assez de perdre des données pour dépenser un disque supplémentaire dessus, ou si vous avez déjà l'intention d'utiliser plusieurs disques de tailles différentes, il est probablement préférable d'utiliser LVM, comme le dit Murat.

JanC
la source
Merci pour le conseil. En fait, j'ai quelques disques qui sont tous de tailles différentes. Il s’agissait donc essentiellement de leur trouver une utilisation. Bien que ce soit nul si je perdais des éléments, ce n’est rien d’important que je ne puisse pas remplacer avec un effort minimal, et les éléments importants pour moi sont déjà sauvegardés. Mais +1 pour un conseil qui pourrait être utile aux autres.
Jacob Schoen
mdadmftw. C'est un contrôleur logiciel qui prend en charge des choses intéressantes comme les niveaux 5 et 6. «Le RAID n'est pas une sauvegarde», mais il est certainement beaucoup plus facile de le récupérer lorsqu'un disque meurt, il vous suffit d'en ajouter un autre, d'attendre longtemps. pendant qu'il se resync et que vous êtes haut et loin. Vous pouvez resynchroniser avec des disques live, mais le temps est exponentiellement plus lent.
Oli