L’indicizzazione foto di QPhoto

aprile 16, 2017 technews

Quando si configura per la prima volta una NAS QNAP ci sono alcuni trucchi che nessuno vi dice e che possono peggiorare notevolmente l’esperienza d’uso della NAS; un errore di configurazione nel primo set-up può difficilmente essere recuperato successivamente.Uno di questi problemi è relativo alla dimensione ed uso del primo volume creato sulla NAS, questo perché questo sarà il volume che QPhoto utilizzerà per memorizzare le thumbnail (miniature) delle foto salvate sulla NAS. Se lo spazio libero di questo volume scende sotto il 5% allora l’applicazione smetterà di indicizzare le foto; questa quota percentuale poteva essere ragionevole quando un volume era delle dimensioni di 500Gb o 1Tb, ma con l’aumentare della dimensione dei dischi a disposizione fino a volumi di 10Tb o più, la cosa diventa piuttosto fastidiosa. Su un volume di 10Tb ad esempio sono necessari circa 500Gb liberi – da lasciare quindi inutilizzabili – per permettere a QPhoto di continuare a funzionare anche se in verità avrebbe bisogno di 1Gb o poco più per poter funzionare.

Essendo legato all’ordine di creazione del volume, questo problema si trascinerà per tutta la vita della NAS a meno di non riuscire a svuotare il primo volume spostando i dati, magari 5~6Tb di Foto, Film o altro già memorizzati, in altro volume abbastanza grande per poi svuotare e lasciare al solo QPhoto il primo volume, ridimensionato al minimo necessario.

Il forum di supporto QNAP non aiuta molto e la risposta più frequente è appunto quella di liberare spazio sul volume primario o allargarlo per avere quel 5% di spazio libero necessario. Una delle soluzioni più semplici per riprendere l’indicizzazione è fermarla e farla ripartire con:

kill $(ps faxu | grep mymediadbserver | grep -v grep | head -n 1 | awk '{print $1}') ; /usr/local/medialibrary/bin/mymediadbserver -n -t -d -i -1

ma questi esperimenti mi hanno permesso di notare un curioso log:

[2017-04-16 10:57:29] Error: signal 15 (Terminated):
/usr/local/medialibrary/bin/mymediadbserver(mySignalHandler+0x25)[0x80505d5]
[0xf7762400]
/lib/libc.so.6(__libc_start_main+0xe0)[0xf5674f90]
/usr/local/medialibrary/bin/mymediadbserver(__gxx_personality_v0+0x3cd)[0x80503f1]
My Media Database Server is launching ....
[2017-04-16 10:57:29] mymediadbserver is launching...
[~] # none: prio 4
idle
s_maxWatches = 117964
Loading g_config...
enableSleepOnDiskFull = 1
OPTIONS:FileUmask0 = 0
OPTIONS:FileUmask1 = 0
OPTIONS:FileUmask2 = 0
OPTIONS:FileUmask3 = 0
Waiting Command (6) ..

Dove enableSleepOnDiskFull sembra essere legato alla problematica. Ho quindi cercato di capire dove si trovi il file di configurazione:

strings /usr/local/medialibrary/bin/mymediadbserver | grep conf

ed una volta localizzato in /etc/config/medialibrary.conf ho aggiunto il parametro enableSleepOnDiskFull = 0 con vi:

[TRANSCODESVR]
ENABLE = 1
INOTIFY = 1
[OPTIONS]
ENABLE = 1
INOTIFY = 0
VERSION = 20151204
IMPORTFLAG = 1
AddAllShareFolder = 1
samplesInstalled = 1
DAILYBUILD = 0
MAXNICE = 0
enableSleepOnDiskFull = 0
[DMS]
ENABLE = 1
QPKG_INSTEAD = 1
[DMC]
QPKG_INSTEAD = 1

riavviando poi l’indicizzazione dalla interfaccia web e Voilà, il problema si è risolto!

Questo post è disponibile anche in: English