domenica 28 aprile 2013

Install a Clonezilla Server on Ubuntu

In questo post vi spiego come installare in maniera semplice Clonezilla Server programma free per la creazione e la restore di immagini tramite funzione pxe.
Esiste anche una versione live molto comoda se volete farmi un immagine del proprio pc, per poi poter ripristinare in seguito: http://clonezilla.org/downloads.php

Ora vediamo come installare clonezilla server su un sistema operativo linux Ubuntu.

Partiamo dal presupposto che abbiate già installato il sistema operativo. Se non l'avete fatto potete seguire questa guida

Aggiungere il repository

sudo gedit /etc/apt/sources.list


deb http://drbl.sourceforge.net/drbl-core drbl stable

 A questo punto scarichiamo la chiave GPC per poi installarla

wget http://drbl.sourceforge.net/GPG-KEY-DRBL


sudo apt-key add GPG-KEY-DRBL
A questo punto è necessario configurare la scheda di rete in modo che abbia un'interfaccia "privata"

#Loopback
auto lo
iface lo inet loopback

#Network Interface, this should match your network
auto eth0
iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1

#Virtual Interface for Conezilla, make sure you use a "class C" IP (192.168.x.x)
auto eth0:0
iface eth0:0 inet static
address 192.168.99.200
netmask 255.255.255.0
Ora si procede con l'installazione di DRBL 

sudo apt-get install drbl
sudo /opt/drbl/sbin/drblsrv -i


The first question basically asks you if you want to install other Linux images, answer “N
Do you want to install the network installation boot images so that you can let the client computer install some GNU/Linux distributions (Debian, Ubuntu, RedHat Linux, Fedora Core, Mandriva, CentOS and OpenSuSE…) via a network connection?  !!NOTE!! This will download a lot of files (Typically > 100 MB) so it might take a few minutes. If the client computer has a hard drive that you may install GNU/Linux onto, put a Y here. If you answer “no” here, you can run “drbl-netinstall” to install them later.
[y/N] N

Next question asks if you would like to use a serial console instead of a GUI, so choose “N
Do you want to use the serial console output on the client computer(s)?
If you do NOT know what to pick, say “N” here, otherwise the client computer(s) may show NOTHING on the screen!
[y/N] N

Next question asks about the type architecture used in your CPU.  Since practically all of today’s PCs are i586, choose  ”1“.
Which CPU architecture kernel do you want to assign for the DRBL client computer(s)?
0 -> i386 CPU architecture
1 -> i586 CPU architecture
2 -> Use the same architecture as this DRBL server
Note! Note Note! Note! Note! Note! Note!
NOTE!!! If the client computer(s) is not the same architecture as this server, please pick “0″ or “1″, otherwise your client computer(s) will NOT be able to boot.
If you use wrong architecture type kernel, the glibc and openssl package might use i686 or i386 while the kernel might use i686, i586, or i386, which might be not suitable for all your computer(s).
[2] 1

Select “N” in the next question. You do not want DRBL to upgrade your operating system. Next, DRBL will begin downloading and installing all its dependencies.
Do you want to upgrade the operating system?
[y/N] N

Ora procediamo con l'installazione di clonezilla


sudo /opt/drbl/sbin/drblpush -i
At the first question just press “enter” to leave the default name.
Please enter DNS domain (such as drbl.sf.net):
[DRBL.name]

At the second question again just press “enter” to leave the default nis/yp domain name.
Please enter NIS/YP domain name:
[penguinzilla]

At the third question again just press “enter” to leave the default server name.
Please enter the client hostname prefix:
This prefix is used to automatically create hostname for clients. If you want to overwrite some or all automatically created hostnames, press Ctrl-C to quit this program now, edit /opt/drbl/conf/client-ip-hostname, then run this program again.
[servername]

The fourth question asks to choose which card to use to go to the internet, previously we chose eth0 as our connection to the web and eth0:0 as our virtual interface for Clonezilla, so enter “eth0
eth0: IP address 192.168.1.200, netmask 255.255.255.0
eth0:0: IP address 192.168.99.200, netmask 255.255.255.0
Configured ethernet card(s) found in your system: eth0 eth0:0
- – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – -
The public IP address of this server is NOT found.
Which ethernet port in this server is for public Internet accsess, not for DRBL connection?
Available ethernet ports in this server:
eth0 (192.168.1.200), eth0:0 (192.168.99.200),
[eth0] eth0
If you get a message telling you that your Clonezilla IP (eth0:0) is on a class A or B network, make sure you change it to a “Class C” (e.g. 192.168.x.x) and start Clonezilla’s configuration over, otherwise multicasting’s effectiveness will be greatly reduced.
Next question asks if you want to collect MAC addresses of computers to be cloned; this is done so that only computers that are going to be cloned get assigned an IP from DRBL.  I find this time consuming and unnecessary, since it is easier to turn DRBL off once you are done cloning so that it does not conflict with your network’s DHCP server. DRBL is very easy to turn on and off with a simple short-cut on your server’s desktop. So we are going to choose “N“.
(…summary…) Now we can collect the MAC address of clients!
Do you want to collect them?
[y/N] N

Since we chose not to collect mac addresses we will choose “N” in the next question.
Do you want to let the DHCP service in DRBL server offer same IP address to the client every time when client boots (If you want this function, you have to collect the MAC addresses of clients, and save them in file(s) (as in the previous procedure)). This is for the clients connected to DRBL server’s ethernet network interface eth0:0 ?
[y/N] N

Next question asks what will be the starting IP number assigned to client computers; you can leave it at “1” since no other computers should be using the Clonezilla subnet.
What is the initial number do you want to use in the last set of digits in the IP (i.e. the initial value of d in the IP address a.b.c.d) for DRBL clients connected to this ethernet port eth0:0.
[1] 1

Next question asks how many computers do you want to clone at a time; you can set this to whatever you want as long as it is not ridiculously high, for this example we are going to leave it at “12” computers.
How many DRBL clients (PC for students) connected to DRBL server’s ethernet network interface eth0:0 ?
Please enter the number:
[12] 12

Do you accept what we did in the previous question? Select “Y” (self explanatory).
The final number in the last set of digits in the client’s IP address is “12″. We will set the IP address for the clients connected to DRBL server’s ethernet network interface eth0:0 as: 192.168.99.1 – 192.168.99.12 Accept ?
[Y/n] Y

Next, Clonezilla will show you how your network configuration will look like; this is just information so press “enter“.
The Layout for your DRBL environment:
******************************************************
NIC      NIC IP             Clients
+———————————————————————————+
|        DRBL SERVER        |
|                           |
| +– [eth0]   10.0.2.100     +- to WAN
|                           |
| +– [eth0:0] 192.168.99.200 +-  to clients group 0:0 [12 clients,   IPs 192.168.99.1 - 12]
|                           |
+———————————————————————————+

******************************************************
Total clients: 12
******************************************************
Press Enter to continue…

Clonezilla will then ask you if you want to have the option of booting computer to Linux using the network, we are just setting the server for cloning so choose option “2“.
In the system, there are 3 modes for diskless linux services:
[0] Full DRBL mode, every client has its own NFS based /etc and /var.
[1] DRBL SSI (Single system image) mode, every client uses tmpfs based /etc and /var. In this mode, the loading and necessary disk space of server will be lighter. NOTE! (a) The client machine memory is recommended at least 256 MB. (b) The setting and config files of client will not be saved to the DRBL server! They are just used once and will vanish after the machine shutdowns! Besides, if you modify any file in the template client (located in /tftpboot/nodes), you have to run /opt/drbl/sbin/drbl-gen-ssi-files to create the template tarball in /tftpboot/node_root/drbl_ssi/. (c) If you want to provide some file to overwrite the setting in the template tarball when client boots, check /tftpboot/node_root/drbl_ssi/clients/00_README for more details.
[2] I do NOT want to provide diskless Linux service to client.
Which mode do you prefer?
[0] 2

Choose Clonezilla box mode, option “1“. This way the whole cloning operation will be lighter on the server.
In the system, there are 4 modes available for clonezilla:
[0] Full Clonezilla mode, every client has its own NFS based /etc and /var.
[1] Clonezilla box mode, every client uses tmpfs based /etc and /var. In this mode, the loading and necessary disk space of server will be lighter than that in Full Clonezilla mode. Note! In Clonezilla box mode, the setting and config files of client will not be saved to the DRBL server! They just use once and will vanish after the machine shutdowns!
[2] I do NOT want clonezilla.
[3] Use Clonezilla live as the OS (Operating System) of clients (Testing).
Which mode do you prefer?
[0] 1

Next question asks what will be the default directory where you want to store your images. To me the default “/home/partimag” is not intuitive, so I change it to “/clonezilla” so it can be easily accessible in the file-system. But this is up to you; just remember that if you decide to change it make sure you create the new folder manually, since the setup will not do it for you.
The CPU arch for clients when running Clonezilla job: i486
——————————————————
When using clonezilla, which directory in this server you want to store the saved image (Please use absolute path, and do NOT assign it under /mnt/, /media/ or /tmp/)?
[/home/partimag] /clonezilla

Unless you want to be annoyed with a password prompt every time you want to clone a computer or you are a security freak, choose “N” in the next question.
Do you want to set the pxelinux password for clients so that when client boots, a password must be entered to startup (For better security)
[y/N] N

Choose “N” at the next question as well, you do not need a boot prompt for clients
Do you want to set the boot prompt for clients?
[y/N] N

I recommend you choose “Y” in the next question; graphic backgrounds look friendlier.
Do you want to use graphic background for PXE menu when client boots?
Note! If you use graphical PXELinux menu, however client fails to boot, you can switch to text mode by running “/opt/drbl/sbin/switch-pxe-bg-mode -m text”.
[y/N] Y

Choose “N” in the next question (self explanatory).
Do you want to use DRBL server as a NAT server? If not, your DRBL client will not be able the internet.
[y/N] Y

Choose “Y” of course to finish.
We are now ready to deploy the files to the system!
Warning! If you go on your firewall rules will be overwritten during setup…
[Y/n] Y

Avvio di Clonezilla


sudo /opt/drbl/sbin/dcs
Se da errore lanciare il comando sudo /dcs
Con questa opzione è l'utente del client che decide cosa fare...se si seleziona save disk o restore disk in automatico clonezilla effettuerà il salvataggio su un immagine dell'intero disco oppure il ripristino di una determinata immagine.

Nessun commento: