Il problema
Quando si tenta di creare un LV si verifica il seguente errore.
# 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 soluzione
Il problema è causato da use_mlockall parametro nel file di configurazione di LVM /etc/lvm/lvm.conf . Come mostrato di seguito, il file /etc/lvm/lvm.conf ha la voce seguente:
# cat /etc/lvm/lvm.conf use_mlockall = 0
Attivazione opzione di configurazione/use_mlockall
Prima della versione 2.02.62, LVM utilizzava mlockall() per bloccare la memoria dell'intero processo durante l'attivazione dei dispositivi, tuttavia, le versioni successive di LVM, come nell'esempio sopra, non utilizzano questa funzionalità. Per implementare la soluzione, eseguire i seguenti passaggi:
1. Accedi al server con l'utente root.
2. Modifica il file di configurazione /etc/lvm/lvm.conf e cambia il valore seguente:
Da
# vi /etc/lvm/lvm.conf use_mlockall = 0
A
# vi /etc/lvm/lvm.conf use_mlockall = 1
Nota
"use_mlockall =0 ” significa in teoria che la memoria utilizzata da lvm e le sue librerie potrebbero essere scambiate, ma ciò dovrebbe interessarti solo in situazioni di memoria insufficiente. Quindi, nella maggior parte delle situazioni "mlock non riuscito:impossibile allocare memoria ” è solo un messaggio informativo, a meno che tu non abbia davvero poca RAM libera.