VM Debian Ajout de disque à chaud avec LVM

Etape 1 – Ajout du disque ou augmentation de la taille d’un disque

Extension de la taille d’un disque sous Vpshere Client.

OU

Ajout d’un nouveau disque, soit via le vSphere Client ou soit par script (en PowerCli) par exemple:

$vm = get-VM <vm_name>
New-HardDisk -VM $vm -CapacityKB 10000

Etape 2 – Rescanner le disque ou Rescanner le bus SCSI pour ajouter le disque sans redémarrer la VM

echo 1 > /sys/block/sdx/device/rescan

OU

echo "- - -" > /sys/class/scsi_host/host#/scan
fdisk -l
tail -f /var/log/message (pour vérifier le nom disk)

il faut remplacer host# par la valeur que vous trouverez avec la commande:

ls /sys/class/scsi_host

Par exemple:

echo "- - -" > /sys/class/scsi_host/host0/scan
tail /var/log/messages

Le disk est reconnu et se nomme sdb

Etape 3 – Vérifier et créer le volume

Editer avec fdisk:

fdisk /dev/sdb (où b est la lettre du disque trouver via tail -f /var/log/messages)
p (liste la table de partition du disk)
l (lister le type de partition pour la création) --> 8e Linux LVM dans notre cas
n p 1 <enter> <enter>
p (pour vérifier la table de partition créé)
t 8e (Changed system type of partition 1 to 8e (Linux LVM))
w (pour écrire les modifications)

La nouvelle partition se nomme /dev/sdb1

utiliser la commande suivante pour relire la partion (si necessaire)

partprobe /dev/sdb

Créer une nouvelle partition de type lvm (le disque se nomme sdb)

pvcreate /dev/sdb1
vgextend rootvg /dev/sdb1
# rootvg est le nom du volume group, # utiliser vgdisplay pour les lister
lvextend -L+1G /dev/PROTON6/root
# /devPROTON6/root est le nom du logical volume, # utiliser lvdisplay pour les lister
resize2fs /dev/PROTON6/root

Comment modifier la configuration d’un ESXi v5.1 sur un serveur dedibox en mode rescue

Dans mon exemple, le problème vient de l’ajout d’un vmKernel qui a une adresse MAC non autorisée ce qui provoque l’arrêt des communications sur le port du switch et donc l’accès au serveur.

Comment faire dans ce cas pour modifier la configuration d’un ESXi v5.1 en mode rescue.

Le mode rescue sur une dédibox étant un mode où le serveur est redémarré avec sur un LiveCD de type Debian. Un accès ssh est fournit, les infos de connexion sont transmises par le support.

Le but est de modifier le fichier de paramètre esx.conf se trouvant dans le répertoire « /etc/vmware ». Ce fichier de configuration est dans une archive zippé nommée state.tgz

Etape 1 – Récupération du fichier

Se connecter en SSH sur le serveur, allez dans le répertoire /mnt et lister les répertoires pour trouver le fichier state.tgz

Pour une installation par défaut de l’ESXi, le fichier doit se trouver dans le fs /mnt/sda5

cd /mnt/sda5 && ls

Copier le fichier state.tgz dans l’espace perso /home/votre-user

cp state.tgz /home/user/.

 

Etape 2 – Extraction du fichier

Se placer dans le répertoire /home/user

cd /home/user

Décompacter le fichier

gunzip -d stage.tgz

Vérifier l’archive stage.tar

tar -tvf stage.tar

Désarchiver le fichier state.tar

tar -xvf state.tar

Un fichier local.tgz apparait, il faut le décompacter et le désarchiver comme le premier.

tar -xvzf local.tgz

le répertoire ./etc est créé, voici une liste des fichiers qu’il contient:

 

Etape 3 – Modification du fichier

Edition du fichier avec l’éditeur VI, et recherche de la ligne contenant « vmkernelnic »

vi etc/vmware/esx.conf

Mettre la valeur à FALSE pour le paramètre <enable> et enregistrer le fichier.

Pour ceux qui ne connaisse pas VI: se placer sur la lettre <t> (avec les flèches du clavier) et tapez la combinaison de touche [cw] pour replacer le mot <true> par <false> puis appuyer sur la touche [ECHAP] et faire la combinaison de touche suivante pour enregistrer et quitter [:wq]

ce qui donne une fois le fichier enregistré et fermé:

 

Etape Finale – Insertion des modifications sur le serveur

Pour insérer les modifications dans la partition du serveur, il faut archiver le répertoire <etc> où on a fait la modification du fichier <esx.conf> et le copier dans son emplacement initial.

Il faut aussi penser à garder les permissions intactes, voici la liste des commandes à passer, toujours en étant placé dans le répertoire /home/user:

Modifier l’appartenance à l’utilisateur et au groupe root sur tous les fichiers du répertoire <etc>

sudo chown root.root –R etc

Archiver et compacter le répertoire <etc> dans un fichier nommé local.tgz

sudo tar –cvzf local.tgz etc

Changer les permissions sur le fichier local.tgz

 sudo chmod 700 local.tgz

Archiver et compacter le fichier local.tgz dans le fichier state.tgz

sudo tar –cvzf state.tgz local.tgz

Changer les permissions sur le fichier state.tgz

sudo chmod 755 state.tgz

Enfin, copier le fichier state.tgz obtenu dans le répertoire du serveur ESXi /mnt/sda5

sudo cp state.tgz /mnt/sda5/state.tgz

Vous pouvez rebooter le serveur, le vmkernel vmk1 ne sera pas monté donc il n’y aura pas de problème de coupure du port du switch. Et après vous pouvez le supprimer dans la partie configuration réseau de l’ESXi

Il est possible de changer l’adresse MAC de cette carte vmkernel pour qu’il soit autoriser à sortir. cf Etape 3 – modification du fichier, il suffit de remplacer les valeurs de <mac> par une adresse MAC autorisée, celle fournit par exemple avec vos IP failover.

Création d’une clé usb bootable WinPE

Cette procédure explique comment créer rapidement une clé usb bootable avec WinPE.

Pour plus d’info, allez voir le site technet Work with Windows PE

Etape 1 – Installation du Kit d’installation automatisée de Windows

A télécharger, puis installer sur le poste

Etape 2 – Préparation de la clé USB

Utilisation de Diskpart

diskpart#>list disk
diskpart#>select disk X (où X correspond à la lettre du disque USB)
diskpart#>clean
diskpart#>create partition primary size=xxxx (en Mo)
diskpart#>active
diskpart#>format fs=fat32
diskpart#>exit

La taille de la clé peut être inférieur à 1Go, l’image de winPE ne faisant que 200 Mo à peu près.

Etape 3 – Préparation des sources WinPE

Les étapes de la création de l’image WinPE sont sur le site technet

dans le menu démarrer lancer « Windows PE Tools Command Prompt »

copype.cmd <architecture> <destination>

En remplaçant <architecture> par x86, amd64 ou ia64 et <destination> par un répertoire

exemple:

copype.cmd x86 c:\winpe_x86

Les fichiers nécessaire à l’environnement WinPE sont copiés dans ce répertoire

Finalisation – Installation sur la clé USB

Il suffit de copier le contenu du répertoire winpe_x86\ISO sur la clé

xcopy <source> <lecteur_USB> /e /f

où <lecteur_USB> est la lettre du lecteur assigné à la clé USB

et <source> le répertoire où sont stockés les sources WinPE

exemple:

xcopy c:\winpe_x86\ISO\*.* F:\ /e /f

Pour ajouter des composants en dehors de l’image WinPE, il suffit de créer en répertoire dans le dossier ISO, il sera copié dans sur la clé et sera accessible dans l’environnement WinPE.