=== Introduzione ===
LVM (Logical Volume Manager) permette l’utilizzo di dispositivi logici virtuali per accedere ai disci, mascherano cosi’ la natura dei dispositivi fisici su cui risiedono i dati.

E’ quindi possibile utilizzare un device virtuale di cui possono fare parte diversi hard disk fisici, anche di natura, velocità e dimensioni diverse.

I vantaggi di un simile approccio alla gestione dei file system sono maggiore flessibilita’ e scalabilita’, alta disponibilita’ del servizio e ridondanza.

=== Schema ===

                        -------------------------------------------------
Logical Volumes  (LV)   |    lv_share   |    lv_backup   |   (unused)   |
                        -------------------------------------------------
Volume Groups    (VG)   |                 vg_fileserver                 |
                        -------------------------------------------------
Physical Volumes (PV)   | /dev/sdb1 | /dev/sdc1 | /dev/sdd1 | /dev/sde1 |
                        -------------------------------------------------

=== Ricerca nuovi dischi ===
Per vedere nuovi dischi aggiunti alla macchina:
echo 1 > /sys/class/fc_host/host/issue_lip
rescan-scsi-bus.sh -l -w -c
multipath

=== Physical Volumes (PV) ===
Per creare un Physical Volume (PV) su una partizione esistente, cioe’ rendere la partizione adatta ad ospitare dei Volume Group (VG):
pvcreate ”/dev/sdb1”

Per visualizzare tutti i Physical Volume (PV) presenti:
pvdisplay

Per spostare tutti i dati da un Physical Volume (PV) ad un altro:
pvmove -i 10 ”/dev/sdb1” ”/dev/sdc1”

=== Volume Groups (VG) ===
Per creare un Volume Group (VG) su un Physical Volume (PV) precedentemente creato:
vgcreate ”vg_name” ”/dev/sdb1” ”/dev/sdc1”

Per attivare un Volume Group (VG) non attivo:
vgchange -a y ”vg_name”

Per estendere un Volume Group (VG):
vgextend ”vg_name” ”/dev/sdd1”

Per visualizzare tutti i Volume Group (VG) presenti:
vgdisplay

Per rinominare un Volume Group (VG):
vgrename ”vg_name” ”vg_new_name”

=== Logical Volumes (LV) ===
Per creare un Logical Volume (LV) grande 2 GB su un Volume Group (VG) precedentemente creato:
lvcreate -L”2G” -n ”lv_name” ”vg_name”

Per formattare in xfs il Logical Volume (LV) appena creato:
mkfs.xfs /dev/”vg_name”/”lv_name”

Per estendere un Logical Volume (LV) di 1 GB:
lvextend -L”+1G” /dev/”vg_name”/”lv_name”

Per estendere il filesystem presente sul Logical Volume (LV) appena esteso:
xfs_growfs /mountpoint

Per visualizzare tutti i Logical Volume (LV) presenti:
lvdisplay

—-
Approfondimenti: http://tldp.org/HOWTO/LVM-HOWTO/

Sorgente: http://shadowmax.referata.com/wiki/SuSE_SLES_LVM

Sincronizzare due server IMAP

scritto da admin il 10 Agosto 2011

Oggi ho trovato un interessante tool per sincronizzare due server IMAP, si chiama imapsync.

L’installazione sulla mia fidata ubuntu è stata una passeggiata:

#apt-get install imapsync

Per utilizzarlo e’ sufficiente lanciare il comando con queste sintassi:
#imapsync –host1 {NomeServerUno} –user1 {NomeUtenteUno} –password1 {PasswordUno} –host2 {NomeServerDue} –user2 {NomeUtenteDue} –password {PasswordDue}
{NomeServerUno}: ip o dominio server di origine
{NomeUtenteUno}: Nome utente server di origine
{PasswordUno}: password server di origine
{NomeServerDue}: ip o dominio server di destinazione
{NomeUtenteDue}: Nome utente server di destinazione
{PasswordDue}: password server di destinazione

Di seguito due esempi, il primo verso Gmail, mentre il secondo verso due semplici server imap:
imapsync –host1 my_mail_server –port1 143 \
–user1 changeme@yourdomain –password1 mypassword \
–host2 imap.gmail.com –port2 993 \
–user2 changeme@gmail.com –password2 mypassword \
–syncinternaldates –ssl2 –noauthmd5 –split1 100 –split2 100

imapsync –host1 mailserver1 –port1 143 \
–user1 user@dominio –password1 pippo \
–host2 mailserver2 –port2 143 \
–user2 user@dominio –password2 pluto

Il parametro –ssl2 e’ necessario in quanto l’autenticazione PLAIN e’ solitamente permessa solo su canale criptato ssl.
imapsync ha il vantaggio di sincronizzare i server in maniera incrementale, i file gia’ sincronizzati non vengono piu’ spostati
consentendo un minor tempo in caso di sincronizzazioni successive.

Periferica USB QEMU-KVM

scritto da admin il 15 Luglio 2011

Oggi ho avuto la necessità di aggiungere su una macchina virtuale una stampante usb collegata al server fisico, non avendo trovato l’opzione in nessuna Gui grafica ho fatto la modifica a manina :)

Ecco gli step:

1) con il comando lsusb prendiamo l’indirzzo del device

Bus 001 Device 002: ID 03f0:2a12 Hewlett-Packard

2) entriamo da console in virsh ed editiamo l’xml della vm virtuale

Server:~# virsh

virsh # edit vm01

3) Una volta aperto l’xml aggiungiamo questa config sotto il gruppo devices:

<hostdev mode=’subsystem’ type=’usb’>
<source>
<vendor id=’0×03f0′/>
<product id=’0×2a12′/>
</source>
</hostdev>

Come potete notare vendo e product sono i pezzi ricavati dall’output del comando lsub che equivale all’indirizzo della periferica. Dopo aver inserito il pezzo purtroppo per farlo funzionare correttamente bisogna riavviare tutto il motore kvm.

Spero possa essere utile a molti ;)

Se anche a voi dopo un aggiornamento di sistema al reboot vi ritrovate questo errore,

non preoccupatevi dopo 5 minuti di paura ho trovato la soluzione :)

da quello che ho letto avvolte capita che non viene aggiornato il file init del kernel

con i moduli del demone mdadm e quindi mette i raid in offline :(

Di seguito i comandi da effettuare per il ripristino:

1) Dopo che compare l’errore il boot si ferma nella modalita initramfs e da qui lanciare+

questi comandi

initramfs> mdadm –examine –scan –config=/etc/mdadm/mdadm.conf >> /etc/mdadm/mdadm.conf (in questo modo rigeneriamo la config del demone mdadm)

initramfs> mdadm -A /dev/md0 /dev/md1 /dev/md2 (attiviamo i raid che il sistema ha messo in offline)

initramfs> return (facciamo il boot)

Dopo questi comandi magicamente riparte tutto :)

per salvare la configurazione ricregliamo a mano il file initramfs

frank~# update-initramfs -u

A presto

Frank

Se controllando il vostro raid “cat /proc/mdstat” vi trovate un array settato come “(auto-read-only)” non preoccupatevi, non so xche succeda ma è facile da risolvere.

Basta lanciare il comando “mdadm - readwrite / dev/md0″ e dopo un po il sistema farà un resync dell’array.

md0 : active (auto-read-only) raid1 sda1[0] sdb1[1]

2931712 blocks [2/2] [UU]

# cat /proc/mdstat

# mdadm –readwrite /dev/md0

# cat /proc/mdstat

Personalities : [raid1]

md0 : active raid1 sda1[0] sdb1[1]

2931712 blocks [2/2] [UU]

[=======>.............]  check = 35.7% (1048832/2931712) finish=0.4min speed=74916K/sec

Spero possa essere di aiuto

Frank

Installare Centos 5.6 Tramite NETINSTALL

scritto da admin il 16 Maggio 2011

Questo articolo non ha molto pertinenza con ubuntu, ma lo posto per quelli che come me per una volta sono stati costretti ad installare centos per questioni di compatibilità….

Procediamo con i passi:

1) Scarichiamo la iso minimale da uno di questi mirror

Download i386: http://mi.mirror.garr.it/mirrors/CentOS/5.6/isos/i386/CentOS-5.6-i386-netinstall.iso

Download x86_64: http://centos.fastbull.org/centos/5.6/isos/x86_64/CentOS-5.6-x86_64-netinstall.iso

Mirrors List: http://www.centos.org/mirrors/

2) Dopo aver fatto il boot scegliamo come supporto HTTP ed inseriamo queste voci


Website Name: mirror.centos.org

CentOS Directory: centos/5.6/os/i386
Dopo alcuni minuti avrete l’interfaccia anaconda che vi permetterà di procedere con l’installazione, l’unica pecca in confronto ad ubuntu/debian che non è possibile settare un proxy in fase d’installazione.
Salutoni
Frank

Cancellare ARP Cache Linux/Checkpoint

scritto da admin il 14 Marzo 2011

Se anche a voi è capitato di avere una informazione vecchia nell’arp cache e non sapete come cancellarla, vi segnalo alcuni comandi utili:

Cancellazione di tutte le voci arp per l’interfaccia eth0:

# ip neigh flush dev eth0

Cancellazione delle voci arp provenienti dall’ip 192.168.15.30:

# ip neigh flush 192.168.15.30

Cancellazione delle voci arp provenienti dalla classe ip 192.168.15.0/24:

# ip neigh flush 192.168.15.0/24

Cancellazione di tutte le voci arp x tutte le interfacce di rete:

# ip neigh flush all

Spero di aver fatto cosa gradita a molti

Frank :-)

Questo non sembra essere ampiamente noto, ma c’è un modo semplice per controllare l’integrità di qualsiasi array mdadm:

echo check > /sys/block/md0/md/sync_action

In caso di permesso negato basta farlo in questo modo:

cd /sys/devices/virtual/block/md0/md

echo check >sync_action

Ecco l’output:

debianuzzo:~# more /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1]
878899968 blocks [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
75392960 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
19534976 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
2931712 blocks [2/2] [UU]
[===>.................]  check = 18.8% (553664/2931712) finish=0.5min speed=79094K/sec

unused devices: <none>

Nel dmesg uscira una scritta simile alla seguente:

[12333718.322202] md: data-check of RAID array md0
[12333718.322202] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
[12333718.322202] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
[12333718.322202] md: using 128k window, over a total of 2931712 blocks.

Al termine uscirà questo:

[12333759.249742] md: md0: data-check done.
[12333759.333896] RAID1 conf printout:
[12333759.333915]  — wd:2 rd:2
[12333759.333932]  disk 0, wo:0, o:1, dev:sda1
[12333759.337448]  disk 1, wo:0, o:1, dev:sdb1

Spero possa essere utile

Frank

L’interfaccia di rete virtuale (virbr0) utilizzata per il Network address translation (NAT) permette alle macchine virtuali di utilizzare un sottorete virtuale per parlare tra di loro e di essere nattati verso l’esterno con l’ip delle interfacce principali ex. etho eth1 ecc…Tuttavia il  NAT rallenta le cose ed è consigliato solo per le installazioni desktop.

Per disabilitare il Network Address Translation (NAT) eseguire i seguenti comandi:

# virsh net-list (Qui controlliamo come viene chiamata l'interfaccia all'interno di KVM)

Name                 State      Autostart
-----------------------------------------
default              active     yes

# virsh net-destroy default
# virsh net-undefine default

La modifica funziona senza il riavvio ma se vogliamo essere precisi basta riavviare il servizio:

/etc/init.d/qemu-kvm restart   :-)

Non sono sicuro se IPv6 in Ubuntu 10.04 Lucid Lynx può ancora causare problemi  di lentezza ma nel caso ecco come disabilitarlo.

er verificare se l’IPv6 è disabilitato, eseguire il seguente comando:

0 significa che è abilitato 1 che è disabilitato

Per disabilitarlo aggiungere le seguenti righe nel file /etc/sysctl.conf

#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

Riavviamo e al reboot avremo l’ipv6 disabilitato