Site icon Ryadel

Come gestire lo swapfile Linux su disco temporaneo Azure

How to create an Azure SQL Managed Instance

Se hai già letto il mio articolo su azure-tempdisk-bootstrap, sai quanto sia utile sfruttare il disco temporaneo di Azure per memorizzare dati temporanei e cache di Nginx, PHP e .NET. Quel progetto è nato per migliorare le performance dei web server spostando su /mnt tutti i carichi temporanei.

Questa volta voglio presentarti un progetto complementare che si concentra su un altro caso d’uso perfetto per il disco temporaneo di Azure: lo swapfile. Il progetto si chiama azure-tempdisk-swapfile ed è disponibile gratuitamente su GitHub. Il suo compito è semplice ma fondamentale: garantire che la tua VM abbia sempre uno swapfile attivo su /mnt, anche dopo riavvii o deallocazioni, quando il disco effimero viene completamente cancellato.

Perché mettere lo swap su /mnt

Il disco temporaneo locale di Azure è fisicamente collegato all’host della VM, solitamente SSD o NVMe, e quindi è molto veloce. Poiché lo swap non richiede persistenza, è un candidato ideale per /mnt. L’unico problema è che il contenuto del disco sparisce a ogni deallocazione: senza un sistema automatico, rischi di restare senza swap. Qui entra in gioco questo progetto.

azure-tempdisk-swapfile automatizza tutto il processo. A ogni avvio, attende che /mnt venga montato, controlla la presenza dello swapfile, lo ricrea se mancante o con dimensioni errate, esegue mkswap e lo attiva con swapon. Una volta installato, non devi più preoccuparti dello swap.

Come funziona

  • Si avvia tramite un servizio systemd di tipo oneshot.
  • Attende fino a quando /mnt non è montato (tempo massimo configurabile).
  • Crea lo swapfile con fallocate o dd se mancante.
  • Lo inizializza in sicurezza con mkswap e imposta i permessi a 600.
  • Lo attiva con swapon in modo idempotente (non fa nulla se già corretto).

Installazione

Il repository del progetto si trova qui: github.com/Ryadel/azure-tempdisk-swapfile.

Per installarlo, esegui questi passaggi:

Da questo momento, il servizio si occuperà automaticamente di ricreare e attivare lo swapfile a ogni avvio della VM.

Configurazione

Modifica /etc/default/azure-tempdisk-swapfile per personalizzare le impostazioni:

Se cambi dimensione o percorso, lo script ricreerà lo swapfile al successivo riavvio.

Verifica

Per controllare che lo swapfile sia attivo:

Dovresti vedere /mnt/swapfile tra i dispositivi swap attivi.

Perché l’ho scritto

Gestendo VM che ospitano più siti WordPress e applicazioni .NET, mi è capitato spesso di trovarmi con poca RAM. Aumentare la memoria aiuta, ma avere uno swapfile affidabile su /mnt è una sicurezza in più: non sostituisce la RAM, ma evita crash nei momenti di picco. Volevo un modo pulito, sicuro e automatico per farlo, e così è nato azure-tempdisk-swapfile.

Conclusione

Se già utilizzi azure-tempdisk-bootstrap per ottimizzare le directory temporanee dei tuoi web server, azure-tempdisk-swapfile è il complemento perfetto. Insieme, i due progetti ti aiutano a sfruttare al massimo il disco temporaneo di Azure: più performance, meno problemi, e un setup completamente automatizzato.

Exit mobile version