El problema
Al intentar crear un LV, se produce el siguiente error.
# 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 solución
El problema es causado por use_mlockall parámetro en el archivo de configuración de LVM /etc/lvm/lvm.conf . Como se muestra a continuación, el archivo /etc/lvm/lvm.conf tiene la siguiente entrada:
# cat /etc/lvm/lvm.conf use_mlockall = 0
Opción de configuración activación/use_mlockall
Antes de la versión 2.02.62, LVM usaba mlockall() para anclar la memoria de todo el proceso mientras se activan los dispositivos; sin embargo, las versiones posteriores de LVM, como en el ejemplo anterior, no utilizan esta funcionalidad. Para implementar la solución, ejecute los siguientes pasos:
1. Inicie sesión en el servidor con usuario root.
2. Edite el archivo de configuración /etc/lvm/lvm.conf y cambie el siguiente valor:
De
# vi /etc/lvm/lvm.conf use_mlockall = 0
A
# vi /etc/lvm/lvm.conf use_mlockall = 1
Nota
“use_mlockall =0 ” significa que, en teoría, la memoria utilizada por lvm y sus libs podría intercambiarse, pero eso solo debería afectarlo en situaciones de poca memoria. Entonces, en la mayoría de las situaciones, "mlock falló:no se puede asignar memoria ” es solo un mensaje informativo, a menos que realmente tenga poca memoria RAM libre.