Lvmraid : Différence entre versions

De SME Server Wiki
(ajouter les disques dans les array raid)
(resize SME9 on proxmox with degraded raid 1 and LVM)
 
(18 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
grace a lvm et raid1 par defaut sur sme vous pouvez gerer facilement les disques, voir meme changer un disque ou deux et retoucher la taille des partitions.
+
grâce a lvm et raid1 par défaut sur sme vous pouvez gérer facilement les disques, voir même changer un disque ou deux et retoucher la taille des partitions.
  
 
voir  
 
voir  
Ligne 6 : Ligne 6 :
  
  
'''Attention cette manipulation est réservée à des administrateur qui sont à l'aise avec Linux. Vous devez être certain de ce que vous faites. En effet il est facile, si l'on est pas à l'aise de formater le lecteur contenant les données au lieu de votre nouveau disque.
+
'''Attention cette manipulation est réservée à des administrateurs qui sont à l'aise avec Linux. Vous devez être certain de ce que vous faites. En effet il est facile, si l'on est pas à l'aise de formater le lecteur contenant les données au lieu de votre nouveau disque.
 
'''
 
'''
  
Ligne 12 : Ligne 12 :
 
=== Installer le premier nouveau disque ===
 
=== Installer le premier nouveau disque ===
  
Éteindre le serveur et installer un des nouveaux disques en débranchant un des anciens. Faites attention de débrancher tout disque USB qui servent à autre chose (comme pour faire une sauvegarde).
+
Éteindre le serveur et installer un des nouveaux disques en débranchant un des anciens. '''Faites attention de débrancher tout disque USB qui ne serve à autre chose''' (comme pour faire une sauvegarde).
  
 
Relancez votre serveur.
 
Relancez votre serveur.
  
=== Ajout du nouveau disque dans l'array raid ===
+
'''Nous utiliserons ici <font color="#FF0000">sdb</font> comme nom de disque ajouté a chaque étape en considérant que le disque précédemment ajouté passe sous le nom <font color="#00FF00">sda</font> à l'étape suivante. Il est de votre responsabilité de vérifier quel est le bon nom de disque, et d'adapter le how to.'''
 +
 
 +
=== Ajout du premier nouveau disque dans l'array raid ===
  
 
Une fois redémarré vous pouvez constater que le raid focntionne en degradé :
 
Une fois redémarré vous pouvez constater que le raid focntionne en degradé :
Ligne 24 : Ligne 26 :
 
==== partitionner le disque ====
 
==== partitionner le disque ====
  
D'abord vérifier la taille de la partition boot
+
Avant tout vérifier la taille de la partition boot
  
 
  df /boot
 
  df /boot
Ligne 31 : Ligne 33 :
 
  /dev/md1                101018    20802    75000  22% /boot
 
  /dev/md1                101018    20802    75000  22% /boot
  
Vous devez d'abord créer les partitions raid  
+
Vous devez ensuite créer les partitions raid  
  
'''/!\ Attention sdb n'est peut être pas le nom de votre disque ajouté /!\'''
+
'''/!\ Attention <font color="#FF0000">sdb</font> n'est peut être pas le nom de votre disque ajouté /!\'''
  
  fdisk /dev/sdb
+
  fdisk /dev/<font color="#FF0000">sdb</font>
  
taper n p 1 puis 1 et +101018K pour la taille de la partition boot, a changer suivant votre cas)
+
taper : '''p''' pour afficher la table de partition: celle-ci doit être vide si votre disque est neuf, si ce n'est pas le cas vous vous apprêtez probablement à détruire un des disques système !!!
  
 +
taper: '''n''' '''p''' '''1''' puis '''1''' et '''+101018K''' pour la taille de la partition boot (a changer suivant votre cas)
  
ensuite deuxième partition:  n p 2 puis compléter le disque avec la deuxième partition (taper sur entrer pour utiliser tout)
 
  
 +
ensuite deuxième partition:  '''n''' '''p''' '''2''' puis compléter le disque avec la deuxième partition (taper sur '''entrer''' pour utiliser tout)
  
choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 1 puis  fd
 
choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 2 puis fd
 
  
 +
choisissez de mettre un système raid linux sur chacune des partitions: tapez '''t''' puis '''1''' puis  '''fd'''
 +
choisissez de mettre un système raid linux sur chacune des partitions: tapez '''t''' puis '''2''' puis  '''fd'''
  
terminez en quittant fdisk en écrivant la table de partition: tapez w
+
ajouter le drapeau de boot : '''a''' puis '''1'''
 +
 
 +
terminez en quittant fdisk en écrivant la table de partition: tapez '''w'''
  
 
==== ajouter les disques dans les array raid ====
 
==== ajouter les disques dans les array raid ====
Ligne 54 : Ligne 59 :
 
(en admetant que md1 est le array  boot et md2 est l'array système ce qui est à vérifier avec mdstat)
 
(en admetant que md1 est le array  boot et md2 est l'array système ce qui est à vérifier avec mdstat)
  
  mdadm /dev/md1 --add /dev/sdb1
+
  mdadm /dev/md1 --add /dev/<font color="#FF0000">sdb</font>1
  mdadm /dev/md2 --add /dev/sdb2
+
  mdadm /dev/md2 --add /dev/<font color="#FF0000">sdb</font>2
  
 
maintenant vos disques sont ajoutés et ('''a condition que les partitions soient au moins aussi grosses que les anciennes''') les array vont synchroniser les données:
 
maintenant vos disques sont ajoutés et ('''a condition que les partitions soient au moins aussi grosses que les anciennes''') les array vont synchroniser les données:
Ligne 64 : Ligne 69 :
 
attendez que tout soit synchronisé
 
attendez que tout soit synchronisé
  
=== ajouter le deuxième disque ===
+
==== grub et la mbr  ====
 +
 
 +
grub
 +
puis dans la console grub (a condition que <font color="#FF0000">sdb</font> soit bien le nom de votre lecteur):
 +
 
 +
device (hd0) /dev/<font color="#FF0000">sdb</font>
 +
root (hd0,0)
 +
setup (hd0)
 +
 
 +
===Installer le deuxième nouveau disque===
  
 
éteindre le serveur retirer le deuxième ancien disque, ajouter le nouveau tout rebrancher et redémarrer.
 
éteindre le serveur retirer le deuxième ancien disque, ajouter le nouveau tout rebrancher et redémarrer.
 +
 +
=== ajouter le deuxième nouveau disque===
 +
  
 
==== partitioner le disque ====
 
==== partitioner le disque ====
Ligne 79 : Ligne 96 :
 
  /dev/md1                101018    20802    75000  22% /boot
 
  /dev/md1                101018    20802    75000  22% /boot
  
Vous devez d'abord créer les partitions raid '''(attention sdb n'est pas forcement le nom de votre disque ajouté)'''
+
Vous devez d'abord créer les partitions raid '''(attention <font color="#FF0000">sdb</font> n'est pas forcement le nom de votre disque ajouté)'''
  
  fdisk /dev/sdb
+
  fdisk /dev/<font color="#FF0000">sdb</font>
  
taper n p 1 puis 1 et 101018K pour la taille de la partition boot, a changer suivant votre cas)
+
taper '''n''' '''p''' '''1''' puis '''1''' et '''101018K''' pour la taille de la partition boot, a changer suivant votre cas)
  
  
ensuite deuxième partition:  n p 2 puis compléter le disque avec la deuxième partition (taper sur entrer pour utiliser tout)
+
ensuite deuxième partition:  '''n''' '''p''' '''2''' puis compléter le disque avec la deuxième partition (taper sur '''entrer''' pour utiliser tout)
  
  
choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 1 puis  fd
+
choisissez de mettre un système raid linux sur chacune des partitions: tapez '''t''' puis '''1''' puis  '''fd'''
choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 2 puis fd
+
choisissez de mettre un système raid linux sur chacune des partitions: tapez '''t''' puis '''2''' puis '''fd'''
  
  
terminez en quittant fdisk en écrivant la table de partition: tapez w
+
ajouter le drapeau de boot : '''a''' puis '''1'''
 +
 
 +
terminez en quittant fdisk en écrivant la table de partition: tapez '''w'''
 +
 
 +
 
 +
alternativement tapez :
 +
sfdisk -d /dev/sda | sfdisk /dev/sdb
 +
 
 +
==== grub et la mbr  ====
 +
 
 +
grub
 +
puis dans la console grub (a condition que <font color="#FF0000">sdb</font> soit bien le nom de votre lecteur):
 +
 
 +
device (hd0) /dev/<font color="#FF0000">sdb</font>
 +
root (hd0,0)
 +
setup (hd0)
  
 
==== ajouter les disques dans les array raid ====
 
==== ajouter les disques dans les array raid ====
  
En observant le raid avec cat /proc/mdstats vous pouvez constater qu'il y'a deux array (un pour le boot et un pour le systeme) il faut donc ajouter les partitions créées a ces deux array :
+
En observant le raid avec cat /proc/mdstats vous pouvez constater qu'il y'a deux array (un pour le boot et un pour le système) il faut donc ajouter les partitions créées a ces deux array :
 
(en admetant que md1 est le array  boot et md2 est l'array système ce qui est à vérifier avec mdstats)
 
(en admetant que md1 est le array  boot et md2 est l'array système ce qui est à vérifier avec mdstats)
  
  mdadm /dev/md1 --add /dev/sdb1
+
  mdadm /dev/md1 --add /dev/<font color="#FF0000">sdb</font>1
  mdadm /dev/md2 --add /dev/sdb2
+
  mdadm /dev/md2 --add /dev/<font color="#FF0000">sdb</font>2
  
 
maintenant vos disques sont ajoutés et ('''a condition que les partitions soient au moins aussi grosses que les anciennes''') les array vont synchroniser les données:
 
maintenant vos disques sont ajoutés et ('''a condition que les partitions soient au moins aussi grosses que les anciennes''') les array vont synchroniser les données:
Ligne 108 : Ligne 140 :
 
  watch -n 3 cat /proc/mdstat
 
  watch -n 3 cat /proc/mdstat
  
attendez que tout soit synchronisé  
+
attendez que tout soit synchronisé
 
+
  
 
=== agrandir l'espace ===
 
=== agrandir l'espace ===
  
 +
D'abord augmenter la taille du raid :
 
  mdadm --grow /dev/md1 --size=max
 
  mdadm --grow /dev/md1 --size=max
 
  mdadm --grow /dev/md2 --size=max
 
  mdadm --grow /dev/md2 --size=max
  
 +
Ensuite augmenter la taille du volume LVM
 
  pvresize /dev/md1
 
  pvresize /dev/md1
 
  pvresize /dev/md2
 
  pvresize /dev/md2
 +
 +
Enfin augmenter la taille du groupe de volume LVM.
  
 
  lvresize -l +$(vgdisplay -c main | cut -d: -f16) main/root
 
  lvresize -l +$(vgdisplay -c main | cut -d: -f16) main/root
Ligne 128 : Ligne 163 :
  
 
  ext2online -C0 /dev/main/root  
 
  ext2online -C0 /dev/main/root  
              ou  
+
ou  
 
  ext2online -C0 /dev/mapper/vg_primary-lv_root
 
  ext2online -C0 /dev/mapper/vg_primary-lv_root
 
attention  : [-C0 pour tiret C zero]
 
attention  : [-C0 pour tiret C zero]
Ligne 137 : Ligne 172 :
  
 
   1. you don't need the pvresize or lvresize command
 
   1. you don't need the pvresize or lvresize command
   2. the final line becomes ext2online -C0 /dev/md2 (or whatever / is mounted to)  
+
   2. the final line becomes ext2online -C0 /dev/md2 (or whatever / is mounted to)
 
+
 
+
  
 
== resize machine vmware ==
 
== resize machine vmware ==
Ligne 189 : Ligne 222 :
  
  
 +
== resize SME9 on proxmox with degraded raid 1 and LVM==
 +
 +
add a second virtual disk. If you choose virtio you will not need to reboot.
 +
 +
let's consider old drive /dev/sda, new drive /dev/vda
 +
 +
partitioning:
 +
sfdisk -d /dev/sda | sfdisk /dev/vda
 +
 +
then you can use cfdisk or fdisk to resize the last partition of cda to tak the whole size available.
 +
 +
 +
check your raid status, in order to be certain which one is boot (should be md0) and main system (should be md1)
 +
 +
cat /proc/mdstat
 +
 +
add new drive
 +
mdadm /dev/md0 --add /dev/vda1
 +
mdadm /dev/md1 --add /dev/vda2
 +
 +
wait for sync
 +
 +
watch cat /proc/mdstat
 +
 +
intiialize grub for vda
 +
 +
device (hd0) /dev/<font color="#FF0000">vda</font>
 +
root (hd0,0)
 +
setup (hd0)
 +
 +
 +
fails old drive out of raid
 +
  mdadm /dev/md1 --fail /dev/sda2 --remove /dev/sda2
 +
 +
 +
grow raid
 +
mdadm --grow /dev/md1 --size=max
 +
 +
grow lvm volume
 +
 +
pvresize /dev/md1
 +
 +
grow Logical volume root
 +
 +
lvresize -l +$(vgdisplay -c main | cut -d: -f16) main/root
 +
lvresize --extents 100%FREE --resizefs /dev/main/root
 +
 +
grow filesystem online
 +
resize2fs /dev/main/root
 +
 +
 +
test a reboot
 +
 +
 +
remove first drive totally
 +
 +
  mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1
 +
 +
and remove it from proxmox side. or alternatively you can keep it by using console and the raid option to put it back after resizing it in proxmox
 +
 
http://www.debian-administration.org/articles/424
 
http://www.debian-administration.org/articles/424

Version actuelle en date du 28 juin 2016 à 02:25

grâce a lvm et raid1 par défaut sur sme vous pouvez gérer facilement les disques, voir même changer un disque ou deux et retoucher la taille des partitions.

voir http://forums.ixus.fr/viewtopic.php?t=38235&start=15 http://wiki.contribs.org/Raid#Upgrading_the_Hard_Drive_Size


Attention cette manipulation est réservée à des administrateurs qui sont à l'aise avec Linux. Vous devez être certain de ce que vous faites. En effet il est facile, si l'on est pas à l'aise de formater le lecteur contenant les données au lieu de votre nouveau disque.

Sur un serveur Physique

Installer le premier nouveau disque

Éteindre le serveur et installer un des nouveaux disques en débranchant un des anciens. Faites attention de débrancher tout disque USB qui ne serve à autre chose (comme pour faire une sauvegarde).

Relancez votre serveur.

Nous utiliserons ici sdb comme nom de disque ajouté a chaque étape en considérant que le disque précédemment ajouté passe sous le nom sda à l'étape suivante. Il est de votre responsabilité de vérifier quel est le bon nom de disque, et d'adapter le how to.

Ajout du premier nouveau disque dans l'array raid

Une fois redémarré vous pouvez constater que le raid focntionne en degradé :

cat /proc/mdstat

partitionner le disque

Avant tout vérifier la taille de la partition boot

df /boot

devrait retourner :

Sys. de fich.        1K-blocs       Occupé Disponible Capacité Monté sur
/dev/md1                101018     20802     75000  22% /boot

Vous devez ensuite créer les partitions raid

/!\ Attention sdb n'est peut être pas le nom de votre disque ajouté /!\

fdisk /dev/sdb

taper : p pour afficher la table de partition: celle-ci doit être vide si votre disque est neuf, si ce n'est pas le cas vous vous apprêtez probablement à détruire un des disques système !!!

taper: n p 1 puis 1 et +101018K pour la taille de la partition boot (a changer suivant votre cas)


ensuite deuxième partition: n p 2 puis compléter le disque avec la deuxième partition (taper sur entrer pour utiliser tout)


choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 1 puis fd choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 2 puis fd

ajouter le drapeau de boot : a puis 1

terminez en quittant fdisk en écrivant la table de partition: tapez w

ajouter les disques dans les array raid

En observant le raid avec cat /proc/mdstat vous pouvez constater qu'il y'a deux array (un pour le boot et un pour le systeme) il faut donc ajouter les partitions créées a ces deux array : (en admetant que md1 est le array boot et md2 est l'array système ce qui est à vérifier avec mdstat)

mdadm /dev/md1 --add /dev/sdb1
mdadm /dev/md2 --add /dev/sdb2

maintenant vos disques sont ajoutés et (a condition que les partitions soient au moins aussi grosses que les anciennes) les array vont synchroniser les données:

vérifiez l'avancée avec:

watch -n 3 cat /proc/mdstat

attendez que tout soit synchronisé

grub et la mbr

grub

puis dans la console grub (a condition que sdb soit bien le nom de votre lecteur):

device (hd0) /dev/sdb
root (hd0,0)
setup (hd0)

Installer le deuxième nouveau disque

éteindre le serveur retirer le deuxième ancien disque, ajouter le nouveau tout rebrancher et redémarrer.

ajouter le deuxième nouveau disque

partitioner le disque

D'abord verifier la taille de la partition boot

df /boot

devrait retourner :

Sys. de fich.        1K-blocs       Occupé Disponible Capacité Monté sur
/dev/md1                101018     20802     75000  22% /boot

Vous devez d'abord créer les partitions raid (attention sdb n'est pas forcement le nom de votre disque ajouté)

fdisk /dev/sdb

taper n p 1 puis 1 et 101018K pour la taille de la partition boot, a changer suivant votre cas)


ensuite deuxième partition: n p 2 puis compléter le disque avec la deuxième partition (taper sur entrer pour utiliser tout)


choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 1 puis fd choisissez de mettre un système raid linux sur chacune des partitions: tapez t puis 2 puis fd


ajouter le drapeau de boot : a puis 1

terminez en quittant fdisk en écrivant la table de partition: tapez w


alternativement tapez :

sfdisk -d /dev/sda | sfdisk /dev/sdb

grub et la mbr

grub

puis dans la console grub (a condition que sdb soit bien le nom de votre lecteur):

device (hd0) /dev/sdb
root (hd0,0)
setup (hd0)

ajouter les disques dans les array raid

En observant le raid avec cat /proc/mdstats vous pouvez constater qu'il y'a deux array (un pour le boot et un pour le système) il faut donc ajouter les partitions créées a ces deux array : (en admetant que md1 est le array boot et md2 est l'array système ce qui est à vérifier avec mdstats)

mdadm /dev/md1 --add /dev/sdb1
mdadm /dev/md2 --add /dev/sdb2

maintenant vos disques sont ajoutés et (a condition que les partitions soient au moins aussi grosses que les anciennes) les array vont synchroniser les données:

vérifiez l'avancée avec:

watch -n 3 cat /proc/mdstat

attendez que tout soit synchronisé

agrandir l'espace

D'abord augmenter la taille du raid :

mdadm --grow /dev/md1 --size=max
mdadm --grow /dev/md2 --size=max

Ensuite augmenter la taille du volume LVM

pvresize /dev/md1
pvresize /dev/md2

Enfin augmenter la taille du groupe de volume LVM.

lvresize -l +$(vgdisplay -c main | cut -d: -f16) main/root

ou si vous avez installé votre sme en 7 RC

lvresize -l +$(vgdisplay -c vg_primary | cut -d: -f16) vg_primary/lv_root

vous pouvez vérifier cela en tapant "df -h" si vous pouvez lire "/dev/mapper/vg_primary-lv_root" c'est la deuxième ligne que vous devez utiliser, sinon "/dev/mapper/main-root" c'est la première qui vous est utile. Attention  : [-l (L minuscule)]


ext2online -C0 /dev/main/root 

ou

ext2online -C0 /dev/mapper/vg_primary-lv_root

attention  : [-C0 pour tiret C zero]

   * These instructions should work for any raid level you have as long as you have >= 2 drives
   * If you have disabled lvm 
  1. you don't need the pvresize or lvresize command
  2. the final line becomes ext2online -C0 /dev/md2 (or whatever / is mounted to)

resize machine vmware

d'abord:

C:\Program Files\VMware\VMware Server>vmware-vdiskmanager -x 8GB "F:\Documents\My Virtual Machines\VMWP-SME7\sme7pre1.vmdk"
C:\Program Files\VMware\VMware Server>vmware-vdiskmanager -c -s 8GB -a ide -t 1
"F:\Documents\My Virtual Machines\VMWP-SME7\sme7pre2.vmdk"

puis modifier le fichier de la machine pour ajouter le disque

ensuite meme chose que ajout de disque


  1. Freeing /dev/sda:
  2. First, removing all RAID1 partitions on /dev/sda:
mdadm /dev/md1 --fail /dev/sda3 --remove /dev/sda3
mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1
  1. Then, stopping the swapspace on /dev/sda:

swapoff /dev/sda2

  1. Then, altering the partition tables:
fdisk /dev/sda
 #entering 'w' at the end to write. This should go OK now.
  1. Start using the partitions again:
swapon /dev/sda2
mdadm /dev/md0 --add /dev/sda1
mdadm /dev/md1 --add /dev/sda3
  1. wait for both md devices to be fully synced
  2. (check /proc/mdstat)
  1. same with /dev/sdb
mdadm /dev/md1 --fail /dev/sdb3 --remove /dev/sdb3
mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1
fdisk /dev/sdb
mdadm /dev/md0 --add /dev/sdb1
  1. don't add /dev/sdb3 yet, to have a spare copy while resize2fs-ing
mdadm --grow /dev/md1 --size=max
resize2fs /dev/md1
  1. If the resize2fs-ing went OK, we can now add /dev/sdb3:
mdadm /dev/md1 --add /dev/sdb3


resize SME9 on proxmox with degraded raid 1 and LVM

add a second virtual disk. If you choose virtio you will not need to reboot.

let's consider old drive /dev/sda, new drive /dev/vda

partitioning:

sfdisk -d /dev/sda | sfdisk /dev/vda

then you can use cfdisk or fdisk to resize the last partition of cda to tak the whole size available.


check your raid status, in order to be certain which one is boot (should be md0) and main system (should be md1)

cat /proc/mdstat

add new drive

mdadm /dev/md0 --add /dev/vda1
mdadm /dev/md1 --add /dev/vda2

wait for sync

watch cat /proc/mdstat

intiialize grub for vda

device (hd0) /dev/vda
root (hd0,0)
setup (hd0)


fails old drive out of raid

 mdadm /dev/md1 --fail /dev/sda2 --remove /dev/sda2


grow raid

mdadm --grow /dev/md1 --size=max

grow lvm volume

pvresize /dev/md1

grow Logical volume root

lvresize -l +$(vgdisplay -c main | cut -d: -f16) main/root
lvresize --extents 100%FREE --resizefs /dev/main/root

grow filesystem online

resize2fs /dev/main/root


test a reboot


remove first drive totally

 mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1

and remove it from proxmox side. or alternatively you can keep it by using console and the raid option to put it back after resizing it in proxmox

http://www.debian-administration.org/articles/424