Ajout de disques avec LVM

26

Je suis sûr que cela a déjà été répondu quelque part ici (j'ai même trouvé un peu un guide ici , mais semblait être un peu inégal et incomplet) mais je me demandais si quelqu'un pouvait m'aider ou au moins me diriger dans la bonne direction pour obtenir ce que j'essaie de faire accompli.

Fondamentalement, j'ai installé Ubuntu 14.04 (via "Guided - utilisez le disque entier et configurez LVM") sur un disque de 20 Go. J'ai ensuite physiquement ajouté un disque propre de 80 Go à la machine, qu'il détecte comme «sdb».

Fondamentalement, ma question est, je veux pouvoir ajouter / combiner la quantité d'espace allouée du nouveau disque (80 Go) à ma machine afin qu'au lieu d'afficher deux lecteurs (20 Go et 80 Go), il montre simplement un lecteur (100 Go) . Je ne m'inquiète pas du RAID ou de tout autre module complémentaire spécial.

Je suis un peu nouveau sur Linux, mais je comprends que je dois utiliser LVM pour y parvenir.

S'il y a quelqu'un qui peut m'aider ou me lier à un guide / tutoriel utile, ce serait très apprécié! Je ne sais pas si cela est nécessaire non plus, mais voici ma sortie 'fdisk -l' et '/ etc / fstab':

Sortie fdisk (raccourcie):

Disk /dev/sda: 21.5 GB, 21474836480 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *       2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/sdb: 85.9 GB, 85899345920 bytes
Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-root: 20.4 GB, 20392706048 bytes
Disk /dev/mapper/ubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-swap_1: 801 MB, 801112064 bytes
Disk /dev/mapper/ubuntu--vg-swap_1 doesn't contain a valid partition table

/ etc / fstab (raccourci):

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=26710773-7a64-4f34-a34e-0057cb1739d7 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0
oink
la source

Réponses:

53

Après avoir examiné une combinaison de guides aléatoires et de didacticiels sur le net, j'ai réussi à ajouter un disque à ma machine Ubuntu Server 14.04 et à le configurer pour que j'ai plusieurs disques durs apparaissant comme un seul lecteur. Pour ce faire, j'ai utilisé LVM.

Pour aider quelqu'un d'autre qui pourrait vouloir le faire à un moment donné, je posterai ici ce que j'ai fait.


Ces étapes supposent que vous commencez essentiellement à partir de zéro, sauf que vous avez déjà installé Ubuntu sur votre machine (via "Guided - utilisez le disque entier et configurez LVM"), et que vous avez physiquement ajouté le disque supplémentaire. Ces étapes peuvent fonctionner si vous avez des données existantes sur la machine, mais je ne peux pas dire avec certitude si cela serait sûr de le faire.

Ces commandes supposent les informations suivantes et varient en fonction de votre configuration:

  • Votre nouveau disque est «sdb»
    • Cela peut être trouvé en exécutant ls /dev/sd*
  • Que le nom de votre groupe de volumes est «ubuntu-vg»
    • Cela peut être trouvé en exécutant vgdisplay
  • Que votre chemin de volume logique est '/ dev / ubuntu-vg / root'
    • Cela peut être trouvé en exécutant lvdisplay
  • Votre nouveau disque fait 20 Go
    • J'espère que vous savez quelle est la taille du disque.

  1. Installez Logical Volume Manager (vous pouvez ou non avoir besoin de le faire).

    sudo apt-get install system-config-lvm
    
  2. Convertissez votre nouveau disque en un volume physique (dans ce cas, le nouveau disque est «sdb»).

    sudo pvcreate /dev/sdb
    
  3. Ajoutez le volume physique au groupe de volumes via «vgextend».

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. Allouez le volume physique à un volume logique (étendez la taille du volume en fonction de votre nouvelle taille de disque).

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. Redimensionnez le système de fichiers sur le volume logique afin qu'il utilise l'espace supplémentaire.

    sudo resize2fs /dev/ubuntu-vg/root
    

Ça devrait le faire. Cinq étapes simples! Vous n'avez pas non plus à redémarrer. Exécutez simplement df -het votre nouvel espace disque devrait afficher correctement alloué, ainsi que toutes les applications Web que vous exécutez récupèreront la nouvelle quantité d'espace disque.

oink
la source
2
Vous pouvez utiliser lvextend -l +100%FREEpour étendre pour utiliser tout l'espace libre, au lieu delvextend -L+20G
nathancahill
Vous pouvez utiliser cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitionspour trouver le nom, comme sdb, d'un lecteur nouvellement installé.
O. Jones
1
Cela devrait fonctionner; cependant, je déconseille d'utiliser un disque entier comme volume logique. Au lieu de cela, je recommande de partitionner le disque et de créer le LVM dans une ou plusieurs partitions sur ce disque. Cette procédure offre une flexibilité à l'avenir, si vous souhaitez ou avez besoin d'un espace non LVM à l'avenir. Il peut également fonctionner mieux si vous exécutez un outil qui suppose que tous les disques sont partitionnés. Je ne connais aucun exemple important de tels outils, mais vous ne savez jamais quelles hypothèses pourraient surgir dans un utilitaire aléatoire que vous voudrez ou devrez exécuter à l'avenir.
Rod Smith
D'après le commentaire de Rod Smith, cela signifie mécaniquement que vous devez d'abord exécuter fdisk sur votre / dev / sdb, allouer tout l'espace à une nouvelle partition, définir la partition comme un "Linux LVM" (type 8e), puis remplacer tous les / dev / sdb entrées dans vos instructions avec / dev / sdb1
mtalexan
grand guide. la vérification des disques disponibles est cependant plus belle lsblk. Test sur RHEL7 cependant.
erikbwork
1

J'ai essayé de configurer un grand disque LVM dans un bureau 14.04 64 bits avec des disques SATA 3X500GB. Il a échoué lors de l'installation avec des erreurs de périphérique. J'ai trouvé un lien qui indique que les disques de plus de 256 Go sont la limite des extensions, mais je ne sais pas si cela s'applique ici.

J'ai également tenté de configurer le RAID (RAID 1 / démarrage 300 Mo, swap RAID 0 2 Go et / RAID 5 tout le reste. Plus d'échecs.

$ sudo apt-get install -y mdadm

À partir de l'option Live CD «Essayer Ubuntu sans installer», vous pouvez toujours installer MDADM. Toujours pas de chance. La détection GParted semble être légèrement re-Tahrded et ne récupère pas certains volumes dans LVM ou certains volumes dans RAID / dev / mdX à moins que tout ait déjà reçu un système de fichiers;

$ sudo mkfs.etx4 / dev / md2

De plus, les configurations RAID présentent maintenant encore plus de défis. MDADM ne semble plus être ajouté à la liste de packages / target / usr / sbin de l'installation, et l'installer là-bas pour que l'installation démarre au redémarrage serait une énorme épreuve, pour laquelle je n'ai tout simplement pas le temps ni la patience , seulement pour découvrir que quelques heures de travail plus tard, il n'a toujours pas démarré sur ces nouvelles cartes mères piratées (UEFI) pour un problème GRUB.

L'installation de LVM à partir d'Ubiquity fonctionne très bien, jusqu'à ce que vous ayez besoin d'ajouter plus de disques à la partition racine (/), auquel cas vous avez de très bonnes chances de souffler l'installation entière. Les opérations de redimensionnement LVM échouent et vous revenez à la case 1 à nouveau .

Essayer le programme d'installation du serveur 14.04 Partman sauve la journée.

Démarré le programme d'installation du serveur 14.04, il a très bien identifié les architectures, installé MDADM, grub a été installé sur les 3 disques et tout fonctionne très bien.

3 disques (500 Go SATA)

3 partitions chacune. Toutes les partitions définies sur le type Linux Raid dans fdisk.

RAID 1 / démarrage, partitions de 300 Mo, swap RAID 0, partitions de 2 Go et RAID 5 /, 500 Go (tout ce qui reste).

$ sudo fdisk -l
Device Boot Start End Blocks Id System
/ dev / sda1 2048 616447 307200 83 Linux
/ dev / sda2 616448 4810751 2097152 83 Linux
/ dev / sda3 4810752 976773167 485981208 fd Linux raid autodetectect

ID de bloc de début de démarrage de périphérique Système
/ dev / sdc1 * 2048 616447 307200 83 Linux
/ dev / sdc2 616448 4810751 2097152 83 Linux
/ dev / sdc3 4810752 976773167 485981208 fd Détection automatique de raid Linux fd

ID de bloc de début de démarrage de périphérique Système
/ dev / sdb1 2048 616447 307200 83 Linux
/ dev / sdb2 616448 4810751 2097152 83 Linux
/ dev / sdb3 4810752 976773167 485981208 fd Détection automatique de raid Linux fd
...

$ sudo ls / dev / md *
/ dev / md0 / dev / md1 / dev / md2

/ dev / md:
0 1 2

$ sudo mdadm -D / dev / md0
/ dev / md0:
Version: 1.2
Heure de création: mer 6 août 13:03:01 2014
Niveau de raid: raid1
Taille de la baie: 306880 (299,74 MiB 314,25 Mo)
Taille de développement utilisée: 306880 (299,74 MiB 314,25 Mo)
Périphériques de raid: 3
Nombre total de périphériques: 3
Persistance: le superbloc est persistant

Update Time : Mon Aug 11 19:51:44 2014  
      State : clean   

Périphériques actifs: 3 périphériques actifs: 3
périphériques
défaillants: 0
périphériques de rechange: 0

      Name : ubuntu:0
      UUID : 03a4f230:82f50f13:13d52929:73139517
    Events : 19

Nombre Majeur Mineur État RaidDevice 0 8 1 0 synchronisation active / dev / sda1 1 8 17 1 synchronisation active / dev / sdb1 2 8 33 2 synchronisation active / dev / sdc1

$ sudo mdadm -D / dev / md1 / dev / md1: Version: 1.2 Heure de création: mer 6 août 13:03:31 2014 Niveau de raid: raid0 Taille de la baie: 6289920 (6,00 Gio 6,44 Go) Périphériques de raid: 3 Nombre total de périphériques: 3 Persistance: le superbloc est persistant

Heure de mise à jour: Wed Aug 6 13:03:31 2014 État: propre Périphériques actifs: 3 Périphériques de travail: 3 Périphériques en panne: 0 Périphériques de rechange: 0

Chunk Size : 512K

     Name : ubuntu:1
      UUID : 9843bdd3:7de01b63:73593716:aa2cb882
    Events : 0

Nombre Majeur Mineur État RaidDevice 0 8 2 0 synchronisation active / dev / sda2 1 8 18 1 synchronisation active / dev / sdb2 2 8 34 2 synchronisation active / dev / sdc2

$ sudo mdadm -D / dev / md2 / dev / md2: Version: 1.2 Heure de création: mer 6 août 13:03:50 2014 Niveau de raid: raid5 Taille de la baie: 971699200 (926,68 Gio 995,02 Go) Taille de développement utilisée: 485849600 (463,34 Gio 497,51 Go) Périphériques RAID: 3 Nombre total de périphériques: 3 Persistance: le superbloc est persistant

Heure de mise à jour: Mon Aug 11 19:54:49 2014 État: actif Périphériques actifs: 3 Périphériques de travail: 3 Périphériques en panne: 0 Périphériques de rechange: 0

    Layout : left-symmetric
Chunk Size : 512K

      Name : ubuntu:2
      UUID : 6ead2827:3ef088c5:a4f9d550:8cd86a1a
    Events : 14815

Nombre Majeur Mineur État RaidDevice 0 8 3 0 synchronisation active / dev / sda3 1 8 19 1 synchronisation active / dev / sdb3 3 8 35 2 synchronisation active / dev / sdc3

$ sudo cat / etc / fstab
'# / etc / fstab: informations sur le système de fichiers statique.'
'#'
'# Utilisez' blkid 'pour imprimer l'identifiant universel unique pour un'
'# périphérique; cela peut être utilisé avec UUID = comme un moyen plus robuste de nommer les périphériques '
' # qui fonctionne même si des disques sont ajoutés et supprimés. Voir fstab (5). »
'#'
'#'
'# / était sur / dev / md126 pendant l'installation'
UUID = 2af45208-3763-4cd2-b199-e925e316bab9 / ext4 errors = remount-ro 0 1
'# / boot était sur / dev / md125 pendant l'installation «
UUID = 954e752b-30e2-4725-821a-e143ceaa6ae5 / boot ext4 par défaut 0 2
»
UUID = fb81179a-6d2d-450d-8d19-3cb3bde4d28a aucun swap sw 0 0

Courir comme un pur-sang maintenant.

Il me semble que si vous utilisez du matériel 32 bits, cela ne fonctionne pas pour vous, mais je pense qu'à ce stade, le RAID doux peut être un pire choix que le LVM à disque unique pour tout ce qui est plus petit, et JBOD pour tout ce qui est plus ancien que cela de toute façon .

Merci.

spyderdyne
la source
Partman sauve la mise. Démarré le programme d'installation du serveur 14.04, il a très bien identifié les architectures, installé MDADM et tout fonctionne très bien. Voici un résumé de la configuration au cas où cela serait utile;.
spyderdyne
1

Cette technique a fonctionné pour moi sur un SSD principal de 128 Go et une extension de disque dur de 2 To.
Si vous rencontrez un problème en utilisant "ubuntu-vg" lors de l'ajout d'un volume physique au groupe de volumes, essayez d'émettre la commande

sudo vgdisplay 

En règle générale, le format du nom du groupe de volumes est NAME_OF_COMPUTER-vg, donc si votre système est nommé, SKYNETvotre groupe de volumes serait probablement nommé

SKYNET-vg
Alexander Heck
la source