Tips and Tricks: MySQL e suo stop causa disk full … come farlo ripartire velocemente

novembre 7th, 2010 glycerin

 Tips and Tricks: MySQL e suo stop causa disk full ... come farlo ripartire velocemente
 Powered by Max Banner Ads 

Ultimamente mi è capitato di dover fronteggiare un DB server che si è trovato a corto di spazio a causa di una crescita vertiginosa dei suoi binlog. In particolare questo DB server si occupa dello storage delle sessioni di navigazione.
Una cosa che mi è tornata utile è stata quella di lasciare una via di fuga per poter far ripartire il daemon creando un file empty usando dd. Cancellando questo file vuoto si libera immediatamente dello spazio permettendo così di poter usare la console MySQL. Altrimenti, senza uno spazio da liberare immediatamente sarebbe impossibile operare per il semplice fatto che il daemon risulta in stallo; in particolare mi è capitato di poter scrivere la query in console e rimanere in attesa dell’output invano. Così facendo ho potuto liberare spazio mediante la query di cancellazione manuale dei binlog:

PURGE BINARY LOGS TO 'mysql-bin.132226';

Mentre il file empty è stato creato con la seguente istruzione:

dd if=/dev/zero of=/var/backups/empty_file_to_delete bs=4k count=125000

Una guida veloce su come usare dd è al seguente link “Creare file vuoti di grandi dimensioni con Linux e Windows” che oltretutto dà una valida alternativa a “dd” in ambiente windows … ovvero fsutil.

Technorati Tags: mysql, dd, fsutil, binlog, purge, query

 Tips and Tricks: MySQL e suo stop causa disk full ... come farlo ripartire velocemente
share save 171 16 Tips and Tricks: MySQL e suo stop causa disk full ... come farlo ripartire velocemente

Posted in Debian, Linux, mysql, News | No Comments »

XEN: migrazione COLD di una VM da un dom0 verso un altro

aprile 28th, 2010 glycerin

Una metodologia di migrazione di una VM (creata utilizzando lvm2) da un dom0 a un altro è quella cosiddetta COLD, ovvero con lo stopping della VM. In linea generale perchè la versione LIVE comporta avere uno storage condiviso, ma a dire la verità non  ho ancora avuto esperienze in merito. Spero quanto prima di provarlo.
Passiamo agli step che ho seguito per questa metodologia.

Come primo step si crea un “logical volume” sulla macchina che dovrà ricevere la VM che verrà migrata (sia per la parte disco che per la swap)

lvcreate –addtag srv_2_vol-vm_da_migrare -L20G -n vm_da_migrare-disk srv_2_vol
lvcreate –addtag srv_2_vol-vm_da_migrare -L1G -n vm_da_migrare-swap srv_2_vol

Successivamente si copia in “scp” il file di configurazione che andrà poi modificato:

srv_1:/etc/xen# scp -p vm_da_migrare.cfg root@xxx.xxx.xxx.xxx:/etc/xen/

Vengono modificate le parti inerenti il disco all’interno della configurazione della VM, visto che il volume ha un riferimento diverso.

Una volta completate le fasi iniziali si stoppa la VM sulla macchina dalla quale migrare (xm destroy vm_da_migrare) e via dd e ssh migrare bit a bit il contenuto del logical volume vm_da_migrare-disk congelato a quell’istante.

dd if=/dev/srv_1_vol/vm_da_migrare-disk | ssh -2 -o “Compressionlevel 1″ root@xxx.xxx.xxx.xxx “dd of=/dev/srv_2_vol/vm_da_migrare-disk bs=100M”
srv_1:/etc/xen# dd if=/dev/srv_1_vol/vm_da_migrare-disk | ssh -2 -o “Compressionlevel 1″ root@xxx.xxx.xxx.xxx “dd of=/dev/srv_2_vol/vm_da_migrare-disk bs=100M”
root@xxx.xxx.xxx.xxx’s password:
41943040+0 records in
41943040+0 records out
21474836480 bytes (21 GB) copied, 589.536 s, 36.4 MB/s
0+655801 records in
0+655801 records out
21474836480 bytes (21 GB) copied, 585.855 s, 36.7 MB/s

Sulla VM viene risistemato il gateway in interfaces e l’eventuale firewall visto che cambia il dom0 e che quindi avrà un IP diverso.

Sul SERVER_DAL_QUALE_MIGRARE disabilitare le VM spostate per il loro avvio al boot (tolto il link in /etc/xen/auto/)

Sus SERVER_SUL_QUALE_MIGRARE invece abilitare l’avvio della VM al reboot (link in /etc/xen/auto/)

Technorati Tags: xen, lvm2, dd, ssh, migrazione, dom0

 XEN: migrazione COLD di una VM da un dom0 verso un altro

share save 171 16 XEN: migrazione COLD di una VM da un dom0 verso un altro

Posted in Debian, Linux, News | No Comments »

Cancellazione di file di grosse dimensioni su Linux

ottobre 7th, 2008 glycerin

 Cancellazione di file di grosse dimensioni su Linux
 Powered by Max Banner Ads 

Ecco delle tecniche che possono essere d’aiuto per la cancellazione di file di grosse dimensioni (in genere log file che non subiscono una rotazione frequente) che comportano un alto overhead. Ovviamente la cosa migliore da fare è di testarne ognuna in modo tale da capire quale dà migliori risultati sia in tema di tempistiche ma maggiormente in tema di occupazione dei dischi:

  • date; time cat /dev/null > file_da_cancellare; date
  • date; time rm file_da_cancellare; date
  • date; time > file_da_cancellare; date
  • date; time tail -5 file_da_cancellare > file_da_cancellare; date
  • date; time dd if=/dev/null of=file_da_cancellare bs=4096; date

Ovviamente se esistono altre tecniche e/o altri suggerimenti sono ben accetti.

Un utile link dal quale sono partito è: http://www.cyberciti.biz/faq/remove-log-files-in-linux-unix-bsd/print/

share save 171 16 Cancellazione di file di grosse dimensioni su Linux

Posted in Debian, Linux | No Comments »