<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TommyBlue.it &#187; lvm</title>
	<atom:link href="http://www.tommyblue.it/tag/lvm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tommyblue.it</link>
	<description>Bombardare per la pace è un po' come trombare per la verginità...</description>
	<lastBuildDate>Tue, 24 Jan 2012 09:34:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Backup di Zimbra Open Source 7.1.0 con LVM e rsnapshot</title>
		<link>http://www.tommyblue.it/2011/04/21/backup-di-zimbra-open-source-7-1-0-con-lvm-e-rsnapshot/</link>
		<comments>http://www.tommyblue.it/2011/04/21/backup-di-zimbra-open-source-7-1-0-con-lvm-e-rsnapshot/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 14:25:25 +0000</pubDate>
		<dc:creator>TommyBlue</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[Rsnapshot]]></category>
		<category><![CDATA[zimbra]]></category>

		<guid isPermaLink="false">http://www.tommyblue.it/?p=1127</guid>
		<description><![CDATA[Chiunque abbia mai fatto il backup di un server di posta sa che l&#8217;imperativo è &#8220;Ridurre il downtime!&#8221;. Ho recentemente modificato lo script di backup che utilizzavo per il server Zimbra (preso da quelli disponibili qui) in modo da utilizzare gli snapshot di LVM e rsnapshot. Adesso il downtime è limitato al tempo di stop/start [...]]]></description>
			<content:encoded><![CDATA[<p>Chiunque abbia mai fatto il backup di un server di posta sa che l&#8217;imperativo è &#8220;Ridurre il downtime!&#8221;.<br />
Ho recentemente modificato lo script di backup che utilizzavo per il server Zimbra (preso da quelli disponibili <a href="http://wiki.zimbra.com/wiki/Open_Source_Edition_Backup_Procedure" target="_blank">qui</a>) in modo da utilizzare gli snapshot di LVM e rsnapshot. Adesso il downtime è limitato al tempo di stop/start di Zimbra e al tempo di snapshot di LVM (circa 2 minuti in totale, di cui pochi istanti di snapshot) e posso con calma effettuare il backup utilizzando rsnapshot che permette di effettuare backup incrementali con uno &#8220;spreco&#8221; di spazio veramente minimo.</p>
<p>La parte riguardante <strong>rsnapshot</strong> è molto semplice: si deve effettuare il backup della cartella in cui viene montato lo snapshot, ovvero <em>/mnt/tmp_backup/ZimbraBackup/</em>. Il resto della configurazione è standard.</p>
<p>Ecco invece lo script da inserire in <em>/etc/cron.daily/</em>:</p>
<pre>#!/bin/bash

# Where the temporary snapshot will be mounted
TEMPDIR="/mnt/tmp_backup"

# The size of the snapshot volume
VOLSIZE="10G"
# Dynamic volsize, change the mountpoint to fit your conf
#VOLSIZE=`df -h | grep /opt | awk '{print $4}'`

# what to backup, in my case: /dev/vg0/opt
VG="vg0"
LV="opt"

# snapshot name
LV_SNAP="ZimbraBackup"

# lvcreate and lvremove commands path
lvcreate_cmd="/sbin/lvcreate"
lvremove_cmd="/sbin/lvremove"

# Choose the backup
#
# monthly =&gt; first day of month
# weekly =&gt; on sunday
# daily =&gt; daily :)

BACKUP_TYPE="daily"

if [ `date +%d` == "01" ]; then
 BACKUP_TYPE="monthly"
elif [ `date +%u` == "7" ]; then
 BACKUP_TYPE="weekly"
fi

echo -e "Backup started at `date`"

# Stop the Zimbra services
before="$(date +%s)"
echo -e "Stopping the Zimbra services..."
/etc/init.d/zimbra stop || exit
echo -e "Creating a snapshot called $LV_SNAP"

# depending on the time it takes to create the backup and the traffic of your server, you may need to increase the 2G value
$lvcreate_cmd -L$VOLSIZE -s -n $LV_SNAP /dev/$VG/$LV

# Create a mountpoint to mount the logical volume to
echo -e "Creating a mountpoint for the LV..."
mkdir -p $TEMPDIR/$LV_SNAP

# Mount the logical volume to the mountpoint
echo -e "Mounting the snapshot..."

# WARNING: if you use xfs you MUST add nouuid option here!
mount -o ro,nouuid /dev/$VG/$LV_SNAP $TEMPDIR/$LV_SNAP/

# Start the Zimbra services
echo -e "Restarting the Zimbra services..."
/etc/init.d/zimbra start || echo -e "ERROR restarting zimbra"

# Calculates and outputs amount of time the server was down for
after="$(date +%s)"
elapsed="$(expr $after - $before)"
hours=$(($elapsed / 3600))
elapsed=$(($elapsed - $hours * 3600))
minutes=$(($elapsed / 60))
seconds=$(($elapsed - $minutes * 60))
echo -e "Server was down for: $hours hours $minutes minutes $seconds seconds"

# Launch rsnapshot to backup
echo -e "Executing $BACKUP_TYPE backup..."
echo -e "rsnapshot $BACKUP_TYPE"
rsnapshot $BACKUP_TYPE

# Unmount /tmp/$lv_zimbra and remove the logical volume
echo -e "Unmounting and removing the snapshot."
umount /dev/$VG/$LV_SNAP
$lvremove_cmd --force /dev/$VG/$LV_SNAP
echo -e "$lvremove_cmd /dev/$VG/$LV_SNAP"

# Done!
echo -e "Backup ended at `date`"</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.tommyblue.it/2011/04/21/backup-di-zimbra-open-source-7-1-0-con-lvm-e-rsnapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertire il filesystem della partizione root</title>
		<link>http://www.tommyblue.it/2009/03/19/convertire-il-filesystem-della-partizione-root/</link>
		<comments>http://www.tommyblue.it/2009/03/19/convertire-il-filesystem-della-partizione-root/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 10:05:06 +0000</pubDate>
		<dc:creator>TommyBlue</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Software Libero]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[xfs]]></category>

		<guid isPermaLink="false">http://www.tommyblue.it/?p=359</guid>
		<description><![CDATA[Ovvero come installare Fedora 10 da cd utilizzando XFS come filesystem per la root (/) :) Nota: avrete bisogno di due partizioni di almeno 4/5 GB L&#8217;uso di XFS è molto utile specialmente se utilizzato in coppia con LVM (in particolare per espandere le partizioni &#8220;al volo&#8221;), cosa che spiegherò di seguito. I passi sono [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ovvero come installare Fedora 10 da cd utilizzando XFS come filesystem per la root (/) :)</strong></p>
<p><em>Nota: avrete bisogno di due partizioni di almeno 4/5 GB</em></p>
<p>L&#8217;uso di XFS è molto utile specialmente se utilizzato in coppia con LVM (in particolare per espandere le partizioni &#8220;al volo&#8221;), cosa che spiegherò di seguito.<br />
I passi sono molto semplici:</p>
<ol>
<li>Avviate dal cd di Fedora 10</li>
<li>Installate normalmente Fedora utilizzando una partizione LVM di almeno  5.0 GB il cui filesystem sarà scelto tra quelli disponibili nell&#8217;installer (ext2 o ext3). <strong>La partizione /boot non può stare su LVM, quindi dedicategli una piccola partizione primaria (200 Mb generalmente bastano).</strong></li>
<li>Una volta terminato create una nuova partizione LVM e formattatela in XFS:
<ul>
<li>aprite un terminale e digitate <strong><em>su</em></strong> diventando <em>root</em></li>
<li>installate il necessario per maneggiare i filesystem XFS: <em><strong>yum install xfsprogs</strong></em></li>
<li>Create un nuovo volume logico: <strong><em>lvcreate -L 5G -n fedora VolGroup00</em></strong></li>
<li>Formattate in XFS il fs appena creato: <strong><em>mkfs.xfs /dev/VolGroup00/fedora</em></strong></li>
</ul>
</li>
<li>Adesso montate le due partizioni e copiate i dati da una all&#8217;altra:
<ul>
<li><em><strong>mkdir /mnt/old_root &amp;&amp; mkdir /mnt/fedora</strong></em></li>
<li><em><strong>mount /dev/VolGroup00/old_root /mnt/old_root &amp;&amp; mount /dev/VolGroup00/fedora /mnt/fedora</strong></em></li>
<li><em><strong>cp -a /mnt/old_root/* /mnt/fedora</strong></em></li>
</ul>
</li>
<li>Terminata quest&#8217;operazione bisogna editare <em>grub</em> (il file <em><strong>/mnt/boot/grub/menu.lst</strong></em>, dovrete prima montare la partizione ad es. in <strong>/mnt/boot</strong>) modificando il filesystem root: la voce dovrebbe essere qualcosa tipo <strong>root=UUID=0f01a383-6557-4d17-be11-14bd50c6c4f7</strong>. Modificatela in <strong>root=/dev/VolGroup00/fedora</strong></li>
<li>Editate anche il file /mnt/fedora/etc/fstab editando la linea:<br />
<strong>/dev/lvm0/old_root / ext3 defaults 1 1</strong><br />
in<br />
<strong>/dev/lvm0/fedora / xfs defaults 1 1</strong></li>
<li>Per finire bisogna ricreare il file initrd quindi, supponendo che il kernel installato sia <em>2.6.27.5-117.fc10.i686.img </em>e che la nuova partizione XFS sia ancora montata in <strong><em>/mnt/fedora</em></strong>:
<ul>
<li><em><strong>mount -t proc none /mnt/fedora/proc</strong></em></li>
<li><em><strong>mount -o bind /dev /mnt/fedora/dev</strong></em></li>
<li><em><strong>chroot /mnt/fedora /bin/bash</strong></em></li>
<li><em><strong>mount /boot</strong></em></li>
<li><em><strong>mv /boot/initrd-2.6.27.5-117.fc10.i686.img /boot/initrd-2.6.27.5-117.fc10.i686.img.backup</strong></em></li>
<li><em><strong>mkinitrd /boot/initrd-2.6.27.5-117.fc10.i686.img 2.6.27.5-117.fc10.i686</strong></em></li>
</ul>
</li>
<li>Bene, se avete fatto tutti i passaggi correttamente (e io non mi sono scordato nulla) potete riavviare e avrete il filesystem di root in XFS!</li>
</ol>
<p>Adesso che avete LVM e XFS se lo spazio nella partizione si sta esaurendo lo potete aumentare al volo senza neanche riavviare. I passi sono questi:</p>
<ol>
<li>Ingrandite di 10GB la partizione: <strong><em>lvextend -L+10G /dev/VolGroup00/fedora</em></strong></li>
<li>Adattate il filesystem alla nuova dimensione: <em><strong>xfs_growfs /</strong></em></li>
<li>Finito! La partizione di root adesso ha 10GB liberi in più :D</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.tommyblue.it/2009/03/19/convertire-il-filesystem-della-partizione-root/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Estendere / su un volume logico quasi &#8220;al volo&#8221;</title>
		<link>http://www.tommyblue.it/2008/04/02/estendere-un-volume-logico-quasi-al-volo/</link>
		<comments>http://www.tommyblue.it/2008/04/02/estendere-un-volume-logico-quasi-al-volo/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 11:58:14 +0000</pubDate>
		<dc:creator>TommyBlue</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Software Libero]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[lvm]]></category>

		<guid isPermaLink="false">http://www.tommyblue.it/?p=139</guid>
		<description><![CDATA[Nel mio MacMini, oltre a MacOSX, erano installate due distribuzioni Linux: Gentoo 2007.0 e Fedora 8. Dato che Gentoo non ne ha voluto sapere di far partire X ho iniziato ad usare in maniera assidua Fedora e ben presto è finito lo spazio sulla radice /, quindi ho deciso di cancellare il volume logico di [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.tommyblue.it/wp-content/uploads/2008/04/lvm.png' rel="lightbox[139]"><img src="http://www.tommyblue.it/wp-content/uploads/2008/04/lvm-300x259.png" alt="Schema LVM" title="Schema LVM" width="300" height="259" class="alignleft size-medium wp-image-140" /></a>Nel mio MacMini, oltre a MacOSX, erano installate due distribuzioni Linux: Gentoo 2007.0 e Fedora 8.</p>
<p>Dato che Gentoo non ne ha voluto sapere di far partire X ho iniziato ad usare in maniera assidua Fedora e ben presto è finito lo spazio sulla radice <em>/</em>, quindi ho deciso di cancellare il volume logico di Gentoo ed espandere quello di Fedora, insomma il vero pane di <strong>LVM</strong>.</p>
<p>Di seguito qualche appunto dato che, come avrete capito, questo blog è la mia <strong>memoria ausiliaria</strong> :)<br />
<span id="more-139"></span><br />
Tanto per cominciare, dato che uso LVM per la radice, non ho potuto utilizzare l&#8217;ottimo <strong>gestore di LVM</strong> presente in Fedora ed ho quindi riavviato usando il <strong>cd minimale di Gentoo che supporta LVM</strong>.<br />
Prima però, col suddetto tool ho eliminato il volume <em>lvm0-gentoo</em>. Il tutto è molto user-friendly e non sto quindi a spiegare come si fa.</p>
<p>Appena avviato Gentoo bisogna caricare il modulo <em>dm-mod</em> con:</p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~# modprobe dm-mod</div></div>
<p>quindi attiviamo il gruppo di volumi logici che, nel mio caso, si trova in <em>/dev/lvm0</em></p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~# vgchange -a y /dev/lvm0</div></div>
<p>e diamogli uno sguardo:</p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~# vgdisplay /dev/lvm0</div></div>
<p><em>Attenzione in entrambi i precedenti comandi a non usare trailing slashes altrimenti non funziona.</em><br />
Notiamo lo spazio libero:</p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Free PE &nbsp;112/3.50GB</div></div>
<p>Per espandere un volume possiamo usare entrambe le unità di misura, io ho usato la prima:</p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~# lvextend -l+112 /dev/lvm0/fedora</div></div>
<p>altrimenti avrei potuto usare:</p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~# lvextend -L+3.50G /dev/lvm0/fedora</div></div>
<p>Per concludere bisogna estendere anche il filesystem, nel mio caso <em>ext3</em>. Prima però bisogna eseguirne un check:</p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~# e2fsck -f /dev/lvm0/fedora<br />
[..]<br />
~# resize2fs /dev/lvm0/fedora<br />
resize2fs 1.39 (29-May-2006)<br />
Resizing the filesystem on /dev/lvm0/fedora to 1941504 (4k) blocks<br />
The filesystem on /dev/lvm0/fedora is now 1941504 blocks long.</div></div>
<p>Finito, riavviando la radice adesso ha le nuove dimensioni e per l&#8217;ennesima <strong>l&#8217;aver usato LVM mi ha risparmiato molte imprecazioni e, forse, formattazioni&#8230;</strong></p>
<p><strong>Link utili</strong><br />
<a href="http://tldp.org/HOWTO/LVM-HOWTO/">http://tldp.org/HOWTO/LVM-HOWTO/</a><br />
<a href="http://web.mit.edu/rhel-doc/3/rhel-sag-it-3/ch-lvm-intro.html">http://web.mit.edu/rhel-doc/3/rhel-sag-it-3/ch-lvm-intro.html</a><br />
<a href="http://it.wikipedia.org/wiki/Gestore_logico_dei_volumi">http://it.wikipedia.org/wiki/Gestore_logico_dei_volumi</a></p>
<p><strong>Edit:</strong><br />
Aggiungo che per estendere una partizione con filesystem XFS è sufficiente:</p>
<div class="codecolorer-container text railscasts" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~# xfs_growfs /home</div></div>
<p>nel caso della partizione home. Il tutto deve essere eseguito con la <strong>partizione montata</strong> :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tommyblue.it/2008/04/02/estendere-un-volume-logico-quasi-al-volo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

