venerdì 27 aprile 2007

Creare immagini personalizzate di Windows

Un mio collega mi ha girato questo software molto interessante per la creazione di immagini cd bootable di windows.
Su molti server recenti non viene fornito il floppy, se vi trovate nella condizione di dover passare all'installer dei driver aggiuntivi non sareste in grado di farlo...a questo punto c'e' un bellissimo software che vi crea l'immagine dei cd con l'aggiunta di tutti i driver che volete..

http://www.nliteos.com/

domenica 22 aprile 2007

Come creare immagini flp e iso

Grazie al binario "dd" è possibile creare immagini *.flp e *.iso. Su ogni distribuzione linux o sistema unix dd è già presente, mentre per windows esistono moltissime versioni reperibili sul web.

Per creare immagini *.flp
# dd if=/dev/fd0 of=/vmimages/file.flp

Per creare immagini *.iso
# dd if=/dev/cdrom of=/vmimages/file.iso

sabato 21 aprile 2007

Check ESX patch

Girovangando in rete ho trovato questo powershell script che verifica lo scato delle patch di un server esx3. Come prerequisiti ha ovviamente la powershell e plink

$patches="ESX-2158032","ESX-1410076","ESX-1006511","ESX-9986131","ESX-8173580","ESX-6921838",
"ESX-2066306","ESX-6075798","ESX-5497987","ESX-3996003","ESX-2092658","ESX-2031037",
"ESX-1917602","ESX-1271657","ESX-9865995","ESX-6856573","ESX-6050503","ESX-5885387",
"ESX-5031800","ESX-3199476","ESX-9916286","ESX-9617902","ESX-8852210","ESX-8174018",
"ESX-7780490","ESX-7737432","ESX-5011126","ESX-3416571","ESX-1161870","ESX-2559638",
"ESX-2257739","ESX-1541239"

$servers="esx01", "esx02", "esx03"

$account="root"
$password="vmware"

$servers | % { $a=plink -pw $password $account@$_ "esxupdate query"

$server=$_

$patches | % {

$patch=$_

if( [regex]::match($a, $_).success ) {

$summary="Installed"
}
else
{
$summary="Not installed"
}

new-object psobject |
add-member -pass NoteProperty Server $server |
add-member -pass NoteProperty Patch $patch |
add-member -pass NoteProperty Summary $summary

}

}

Gestione password policy via pam

Di default in esx 3 sono abilitate delle policy password via pam, questo può essere fastidioso in alcuni frangenti. Di seguito come disabilitarle

per rimuovere le policy globalmente
# esxcfg-auth --passmaxdays=-1

per rimuovere le policy per un singolo utente
# chage -M -1 vmadmin

per verificare le policy di un utente
# chage -l vmadmin

VMVoodooSync

Questo è un piccolo script per sincronizzara un virtual machine tra due server esx con storage locale.

Per prima cosa si devono creare le chiavi ssh per l'accesso tra i due server. Per facilitare tutte le procedure di copia tra i due server si userà l'utente root.

1. Abilitare su entrambi i server l'accesso ssh come root
2. Creare le chiavi ssh su entrambi i server
3. Configurare vcb
4. Creare la directory di stage dei file vmdk
5. Creare lo script di sincronizzazione
6. Abilitare il firewall per le connessioni ssh in uscita
7. Testare lo script
8. Configurare cron per le schedulazioni delle sincronizzazioni

# vi /etc/ssh/sshd_config
PermitRootLogin yes
# /etc/init.d/sshd restart
# ssh-keygen -t dsa
Non digitare nessuna password per la decriptazione delle chiavi
# scp .ssh/id_dsa.pub root@esx02:~root/.ssh/authorized_keys
# ssh root@esx02
Se tutto va bene il login non dovrebbe richiedere nessuna password

Dato che la password di root in questo esempio viene scritta in chiaro nel file di vcb, è altamente consigliabile creare un utente aggiuntivo e da ViClient dargli i permessi minimi per creare e rimunovere gli snapshots
# vi /etc/vmware/backuptools.conf
modificate le seguenti voci
VCHOST=localhost
USERNAME=root
PASSWORD=root_password
TEMPDIR=/vmfs/volumes/storage1/tmp_backup

La directory di stage del backup deve essere abbastanza grande per contenere la virtual machine di maggior dimensioni.
# mkdir /vmfs/volumes/storage1/tmp_backup

Ora creiamo lo script di sincronizzazione
# mkdir /opt/script
# vi /opt/script/vmvoodoosync.sh

#!/bin/bash

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

DATE="$(date +%d-%m-%Y)"
HOST="`hostname -s`"
HOSTDR="192.168.192.99"

LOG="/vmfs/volumes/storage1/tmp_backup/Backuplog-$DATE.log"

echo "Backup $HOST started at `date`" > $LOG

for vmname in `/usr/sbin/vcbVmName -s powerstate:on |grep name: | awk -F: '{print $2}'`;
do ssh backupusr@$HOSTDR "mkdir -p /vmfs/volumes/storage1/$vmname"
/usr/sbin/vcbMounter -a name:$vmname -M 1 \
-r scp://backupusr@$HOSTDR:/vmfs/volumes/storage1/$vmname >> $LOG
done

echo "Backup $HOST finished at `date`" >> $LOG


Apriamo le porte del firewall su entrambi gli host
# esxcfg-firewall -e sshServer
# ssh root@esx02 -c " /usr/sbin/esxcfg-firewall -e sshServer"

Ora testiamo lo script.. ma prima ve reso eseguibile
# chmod 755 /opt/script/vmvoodoosync.sh
# /opt/script/vmvoodoosync.sh

Per verificare il corretto funzionamento dell0 script potete verificare il file di log all'interno della directory di stage

Se tutto è andato bene potete configurare la schedulazione
# contrab -e
30 20 * * * /opt/script/vmvoodoosync.sh


Benvenuti al blog VmVooDoo

Ciao a tutti...

questo blog è nato, come molti altri, per far pertecipe la comunità delle mie esperienze sulla virtualizzazione e gli altri aspetti che gli ruotano attorno, con un occhio di riguardo ai prodotti Vmware.