LVM AIX

De DocUnix.

Sommaire

Règles de base

Règles de calculs

Sous AIX, on ne peut pas spécifier la taille en Mo à la création d’un LV. Il faut spécifier le nombre de « partitions logiques » attribuées au LV lors de sa création.

Calcul du nombre de partitions logiques pour un LV :

Avant tout, il faut connaître la taille des « partitions physiques » du VG (PP SIZE) dans lequel le LV doit être créé. Pour cela, lancer la commande : lsvg <VG_NAME> (exemple : lsvg cluster-apps). On obtient les informations suivantes :

VOLUME GROUP:	cluster-apps		VG IDENTIFIER:	004007faa3d706a3
VG STATE:	active			PP SIZE:		8 megabyte(s)
VG PERMISSION:	read/write		TOTAL PPs:		11277 (90216 megabytes)
MAX LVs:	256			FREE PPs:		4559 (36472 megabytes)
LVs:		26			USED PPs:		6718 (53744 megabytes)
OPEN LVs:	24			QUORUM:			1
TOTAL PVs:	21			VG DESCRIPTORS:		21
STALE PVs:	0			STALE PPs:		0
ACTIVE PVs:	21			AUTO ON:		no
MAX PPs per PV:	1016			MAX PVs:		32

La taille des PP est ici de 8 Mo.

Le calcul est le suivant :

Nombre de LP = <taille_en_Mo> / <PP_SIZE>

Exemple : si on veut créer un LV de 500 Mo, le calcul est :

500 / 8 = 62,5 => 63 LP (on arrondit toujourrs au-dessus)

Attention : pour les Raw Devices Sybase, ajouter une LP.

Calcul du nombre de blocs d’un FS :

AIX se base sur des blocs de 512 Ko. Le calcul du nombre de blocs pour un FS est :

<taille_en_Mo> * 1024 * 2

Exemple : Pour un FS de 500 Mo, le nombre de blocs est : 500 * 1024 * 2 = 1024000

Règles à respecter

Trop souvent ignorer, il faut savoir le lv de log (jfslog ou jfs2log) doit faire au moins 4LP pour 1000LP de fs dans le vg.

Serveurs STAND ALONE

Pré requis

  • Le volume groupe rootvg doit être réservé pour le système
  • De préférence, on ne crée pas de volume logique (LV) pour des logs sur un disque où il y a des datas
  • On spécifie toujours le disque sur lequel on étend un LV ainsi que son miroir (s’il y a lieu d'être)
  • Dans le doute, consulter un ingénieur qualifié ou le support

Création lv

Par défaut, il est préférable d'utiliser l'outil smitty, qui est fiable et efficace.
Dans ce cas, le raccourci smitty est smitty lv.

Suppression d'un lv

rmlv <lv_name>

Création d'un fs

Par défaut, je préconise d'utiliser l'outil smitty, qui est fiable et efficace.
Attention, il est fortement préconisé de créer le lv avant le fs. Dans ce cas, le raccourci smitty est smitty jfs pour du jfs et smitty jfs2 pour le jfs2. Attention, pour le jfs2, il faut impérativement que lors de la création du lv, avoir renseigné le champs type en jfs2.

Suppression d'un fs

rmfs -r <point de montage>

Cluster HACMP

Pré requis

  • Le volume groupe rootvg doit être réservé pour le système
  • On ne crée jamais de volume logique pour des logs sur un disque où il y a des datas
  • On spécifie toujours le disque sur lequel on étend un LV ainsi que le miroir
  • On doit exporter la map du vg si on crée/supprime un LV.
  • Lors d’un ajout d’un raw device, ne pas oublier de lui attribuer les bons droits.
  • Dans le doute, consulter un ingénieur qualifié ou le support

Règle générale

Sauf si l'on connais parfaitement les mécanisme HA-CMP, il est très fortement conseillé d'utiliser les menus smitty CSPOC : smitty hacmp

RAW device de log jfs/jfs2

La règle de calcul de la taille des logs pour les filesystems en jfs et jfs2 et de 5PP pour 1000PP en jfs.

Créer un nouveau raw device de jfslog

mklv -t jfs2log -y <newloglv> <vgname> <size>
ou pour le jfs
mklv -t jfslog -y <newloglv> <vgname> <size>

Nota : <size> est exprimé ici en nombre de PP.

Ensuite, il ne faut pas oublier de l'initialiser :

logform /dev/newloglv

Il faut y rattacher des fs. Si les fs existent déjà :

chfs -a log=newloglv filesystem

S'il existe plusieurs raw device de log, lors de la création des fs (jfs2), il faut spécifier le raw device de log comme suit :

crfs -v jfs2 -d <new lv> -a logfile=<newloglv> -m <mount point> -A no -p rw -a agblksize=4096

Il suffit ensuite de monter le jfs2, et vérifier qu'il pointe bien vers le nouveau rawdevice de log en le vérifiant dans /etc/filesystems.

Option cio pour oracle

Pour optimiser les I/O pour Oracle, il faut instancier les ioasynchrones sur le serveur et activer le cio sur les fs (a minima, les fs osys).

activation des ioasynchrones

L'activation des ioasynchrone se fait via smitty aio, "Change / Show Characteristics of Asynchronous I/O". Si les I/O asynchrone sont deja activées, il faudra rebooter le serveur pour prendre en charge les nouveaux paramètres. Sinon, il suffira d'activer la fonction après l'avoir paramétré.

MINIMUM number of servers = <nb disque concerné par les I/O aynchrone>
MAXIMUM number of servers per cpu = <MAXIMUM number of servers per cpu * nb CPU>
Maximum number of REQUESTS = 16384 (valeur recommandée par J-Y Brucker pour tout serveur un peu puissant >= 20.000 TPm)
Server PRIORITY = 39 (par défaut)
STATE to be configured at system restart = available (pour activation au boot par défaut)

activation de l'option cio sur les fs Orcale

Pour chacun des fs osys et data et index, il faut passer l'option cio comme suit :

chfs -a options=cio,rw <mount point>

Si les fs sont montés, il ne faut pas oublier de les démonter puis les remonter pour prise en compte du nouveau paramètre.

Déterminer des disques missing

Si un disque est déclaré missing dans un vg contenant du mirroring LVM, les lv apparaissent stale avec un lsvg. Pour corriger il suffit de:

Trouver le disque missing :

lsvg -p <vg_name>

Le disque apparaitra MISSING.

Pour changer l'état du disque, typiquement aprés un incident SAN :

chpv -va <hdisk>

Ensuite pour resynchroniser le vg, et refaire tous les miroirs impactés :

syncvg -v <vg_name>
ou
varyonvg <vg_name>
Outils personnels