Virtualization: convert VirtualBox disks to KVM

posted by onThursday March 3rd, 2011

Ciao gente.
E’ da molto tempo oramai che i programmi di virtualizzazione la stanno faccendo da pradoni nel campo dell’informatica e credo proprio che prossimo futoro ora mai si spingerà per una sempre più spinta virtualizzazione.
Come programmi per la virtualizzazione ne esistono diversi, sia free che commerciali.
Tra i programmi più usati per la virtualizzazione cito quelli di messia a disposizione da VMWARE, VIRTUALBOX e QEMU.

Nel mio pc personale per virtualizare uso principalmente Virtualbox, ma ultimamente stò giocando molto con i programmi di virtualizzazione. Proprio in questi giorni stò provando ad usare il nuovo supporto fornito nel kernel linux (JVM).

Dato che sono spesso pigro ho cercato un modo per non dover rifare tutte le mie VM, l’installazione e la configurazione di un sistema rubano sempre del tempo.
La soluzione è molto semplice, basta prendere i dischi virtuali di Vbox e trasformali in dei dischi per Qemu. I passi fondamentali da eseguire sono 2:

  • convertire i vdi in raw
    pennega@pennegaz:HardDisks $ VBoxManage clonehd --format RAW Arch_raid_disk2.vdi Arch_raid_disk2.img
    Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
    (C) 2005-2010 Oracle Corporation
    All rights reserved.
    
    0%...^F10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
    Clone hard disk created in format 'RAW'. UUID: a0a2e205-139c-4b91-88f5-a523cc7b82fd

    NB: Per questa operazione serve a disposizione tanto spazio quanto la grandezza massima del disco

  • convertire il disco raw in un discoqcow2:
    pennega@pennegaz:HardDisks $ qemu-img convert -f raw Arch_raid_disk2.img -O qcow2 Arch_raid_disk2.qcow

Ora non rimane che ricreare la macchine struttando KVM ed usare i dischi appena convertiti.

Buona virtualizzazione a tutti.

Share internet connection

posted by onMonday February 28th, 2011

Sometimes you need to use a PC and at some point you realize you need on the internet but what happens if the PC is far from the modem / router and can not lay cables or PC is not equipped with wifi card? We have to move the PC into the room where is the router?  This may be a solution, but there is one that is even better: share the connection of a PC (connected to wifi) via a simple network cable (cross).

In this case the pc A is a router for the pc B. It must have at least two network interfaces (in this case a wifi and an ethernet), one connected to the router (wlan0) and the other (eth0) to PC B.

To configure the pc A to share the connection, assuming that the interface wlan0 is already configured, and configure the eth0:

root@pennegaz:pennega # ifconfig eth0 192.168.2.1

Now you have to enable forwarding, entering “1 ” in /proc/sys/net/ipv4/ip_forward

root@pennegaz:xenserver # echo 1 > /proc/sys/net/ipv4/ip_forward

Now you must write a rule to iptables to ensure that the forwarding is performed:

root@pennegaz:xenserver # iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Now configure the pc B to get static IP 192.168.2.x and the class as a gateway to enter the ip of eth0 pc A (192.168.2.1).

Ed ecco la connessione è condivisa.

Openfiler: creare un nas opensource

posted by onFriday February 25th, 2011

Openfiler è una distribuzione browser-based per la realizzazione di un NAS o di un SAN.
I protocolli supportati sono:

  • NFS
  • SMB/CIFS
  • HTTP/WebDAV
  • FTP

Supporta inoltre autenticazione NIS ed LDAP (con il supporto per SMA/CIF).
Scaricare l’immagine iso dall’ area download del sito di openfiler .
Far avviare il pc da cd e premere INVIO al prompt per iniziare l’installazione.


Il primo passo dell’ installer è quello di verificare il cd di installazione, passo che può essere saltato, ma dato che prendere meno di un minuto lo si può eseguire. Se l’installer dovesse rifiutarsi di continuare l’installazione perchè non trava il cd semplicemente toglierlo e reinserirlo.

Ora ci si trova difronte ad una comoda ed intuitiva (anaconda) interfacia grafica di installazione.

Per far partire l’installazione premere NEXT. Verrà proposto di scegliere il layout della tastiera, ancora NEXT e si dovrà provedere al partizionamento del disco.

Per comodità si può scegliere di fare tutto in automatico, selezionando il disco in cui installare il sistema e marcare la casella che permette di controllare ed in caso modificare lo schema delle partizioni. Qui è possibile anche procedere ad una installazione in RAID o LVM.

Il passo sucessivo è quello di impostare la rete e l’hostname, impostare il timezone e sucessivamente scegliere la password di root.

Al prossimo NEXT partirà l’installazione vera e propria compresa di formatazione dei dischi ed installazione del software.

Premere reboot per riaviare la macchina a fine installazione.

Terminato il reboot aprire un browser e nella barra degli indirizzi inserire https://INDIRIZZO-IP:446. Nella schermata di login inserire:

  • Username: openfiler
  • Password: password


Prima di continuare dal menu Accounts–>Admin Password cambiare la password di amministratore e sucessivamente dal menu System–>System Update si può procedere all’agiornamento del sistema. Terminato l’aggiornamento riavviare la macchina.
Dal menu System–>Network Setup–>Network Access Configuration si impostano le reti che devono avere acesso alle risorse condivise.
Si continua creando una risorsa condivisa. Per creare lo spazio da condividere andare nel menu Volumes–>Block Devices e scegliere il disco vuoto (/dev/sdb).

In fondo alla pagina si potrà creare una partizione di tipo Primary–>Physical Volume .

Creiamo un VG (Volume Groups) di nome “shared”, selezionare /dev/sdb1 e premere Add volume group.

Ora aggiungere un LV (Logical Volume) al VG, menu Add Volume selezionare il VG dare un nome al volume, una descrizione, la dimensione ed il FS.
Dal menu Services è possibile abilitare alcuni servizi, abilitare ldap samba ecc..
Ora dal menu Accounts–>Authentication—>User Information Configuration abilitare LDAP ed in Accounts–>Administration si possono creare i gruppi e gli utenti per le risorse condivise.

Dal menu Shares è possibile creare una directory condivisa, renderla pubblica od ad acesso controllato, assegnare i permessi per i vari protocolli (nfs,samba ecc).

Ecco il NAS è pronto.

Lost mysql password?

posted by onTuesday February 22nd, 2011

Who works with server and database has to do (like it or not) with the DBMS.
Among the most popular DBMS there is mysql.
To be able to connect to the mysql daemon is necessary, usually, to enter a username and password.
But if you have forgotten your administrator password?
The simple answer is you do not able tologin to the database and can not perform the maintenance issue.
How to fix it?
First stop the mysqld daemon

root@pennegaz:pennega # /etc/rc.d/mysqld stop

Now start mysql in safemode

root@pennegaz:pennega # /usr/bin/mysqld_safe --skip-grant-tables&
[1] 23658

Now you can connect to mysql without a password:

root@pennegaz:pennega # mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.9 Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

and proceed to change the root password.
Select the mysql database:

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
| user_info                 |
+---------------------------+
24 rows in set (0.00 sec)

Now you can change the password

mysql> update user set password = password('NEW_PASSWORD') where user = 'root' and  host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Before you stop and restart mysql you need to update the permissions on the DB:

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye
root@pennegaz:pennega #

Stop and start mysqld

root@pennegaz:pennega # /etc/rc.d/mysqld stop
:: Stopping MySQL Server                                                                                     [BUSY] 110222 11:09:24 mysqld_safe mysqld from pid file /var/lib/mysql/pennegaz.pid ended
                                                                                                             [DONE] 
[1]+  Done                    /usr/bin/mysqld_safe --skip-grant-tables
root@pennegaz:pennega # /etc/rc.d/mysqld start
:: Starting MySQL Server                                                                                     [DONE] 
root@pennegaz:pennega # 

Well now the connection can be made with the new password.

Remove comment from files

posted by onMonday February 21st, 2011

Sooner or later it happens to everyone having to edit a config file.
Usually the operation is simple, just open a text editor (nano, vi, emax, kate, gedit, etc.) and modify the lines of our interest.
The thing starts to get complicated when the configuration files are very rich in comments that make reading difficult.
How to proceed?
We can remove all lines that contain comments, leaving only the configuration directives.
Before you remove the comments it is good to make a copy of the original file (they can always come back to help):

 cp file_di_conf.conf file_di_conf.conf.ori

Now through grep you can proceed to delete comments:

cat file_di_conf.conf.ori  | grep -v -E '(^#|^$)'  > file_di_conf.conf

Now the configuration file will be without comment.

NB:For comments means the line starting with #.

Tanks to xnamix