Le problème
Lors de la tentative de création d'un LV, l'erreur suivante se produit.
# lvcreate -L 5G -n apps vgOS 7fa0c6cd2000-7fa0c6cd3000 r-xp 00216000 fd:00 8388746 /usr/lib64/libgcc_s-4 .8.5-20150702.so.1: mlock failed: Cannot allocate memory 7fa0c75ce000-7fa0c75cf000 r-xp 00265000 fd:00 8895769 /usr/lib64/libdevmapp er.so.1.02: mlock failed: Cannot allocate memory 7fa0c77d6000-7fa0c77d7000 r-xp 00207000 fd:00 9313347 /usr/lib64/libdevmapp er-event.so.1.02: mlock failed: Cannot allocate memory 7fa1c6f44000-7fa1c6f45000 r-xp 00203000 fd:00 8413569 /usr/lib64/libksplice _helper.so: mlock failed: Cannot allocate memory 7fa1c7161000-7fa1c7162000 r-xp 0021c000 fd:00 8455088 /usr/lib64/libpthread -2.17.so: mlock failed: Cannot allocate memory 7fa1c7466000-7fa1c7467000 r-xp 00304000 fd:00 8455032 /usr/lib64/libm-2.17. so: mlock failed: Cannot allocate memory 7fa1c7825000-7fa1c7826000 r-xp 003be000 fd:00 8455021 /usr/lib64/libc-2.17. so: mlock failed: Cannot allocate memory 7fa1c7a2e000-7fa1c7a2f000 r-xp 00208000 fd:00 8455092 /usr/lib64/librt-2.17 .so: mlock failed: Cannot allocate memory Logical volume "apps" created.
La solution
Le problème est causé par le use_mlockall paramètre dans le fichier de configuration LVM /etc/lvm/lvm.conf . Comme indiqué ci-dessous, le fichier /etc/lvm/lvm.conf contient l'entrée ci-dessous :
# cat /etc/lvm/lvm.conf use_mlockall = 0
Activation de l'option de configuration/use_mlockall
Avant la version 2.02.62, LVM utilisait mlockall() pour épingler la mémoire de l'ensemble du processus lors de l'activation des périphériques, cependant, les versions ultérieures de LVM, comme dans l'exemple ci-dessus, n'utilisent pas cette fonctionnalité. Pour mettre en œuvre la solution, veuillez exécuter les étapes suivantes :
1. Connectez-vous au serveur avec l'utilisateur root.
2. Modifiez le fichier de configuration /etc/lvm/lvm.conf et modifiez la valeur ci-dessous :
De
# vi /etc/lvm/lvm.conf use_mlockall = 0
À
# vi /etc/lvm/lvm.conf use_mlockall = 1
Remarque
"use_mlockall =0 "signifie en théorie que la mémoire utilisée par lvm et ses bibliothèques pourrait être échangée, mais cela ne devrait vous affecter que dans des situations de mémoire insuffisante. Ainsi, dans la plupart des situations, "mlock a échoué :impossible d'allouer de la mémoire " n'est qu'un message d'information, à moins que vous n'ayez vraiment peu de RAM libre.