I've dug out an old PC at work and I'm hoping it will be powerful enough to be used as a clonezilla server. As much as I like Linux, like most places (in the UK) we're nearly 100% MS win. I end up re-installing winxp quite a lot so I'm hoping I'll be able to plug our clonezilla server into a switch so I could potentially re-image 24 at a time, or however many the switch/server can handle. Before I get into multicast imaging, I aim to just get unicast imaging working first, just so I know I've got the server setup correctly as I'm sure it isn't set up properly at the moment.
My setup is as follows
CZ server:
1.6GHz P4
80GB HD
256MB RAM
2x PCI ethernet cards
running ubuntu 7.10 (but I'll gladly upgrade to 8.04 if it will make drbl work properly)
This server is directly connected ATM by its (static) eth1 port to a Compaq Presario 2500 laptop via a crossover cable.
I followed this guide http://drbl.sf.net/one4all to configure the server. I know the guide says it is recommended that I collect the MAC addresses of all the machines that I want to image but I'm presuming this isn't vital to get CZ to work as I'm hoping to be able to just "plug 'n play" basically. I realise I'll have to be careful about what machines are attached when I'm imaging but that shouldn't be a problem.
On my first attempt at getting drbl to work, I had a static internet connection on eth0 and a static but unused eth1 and I ran /opt/drbl/sbin/drbl4imp, which downloaded a bunch of packages and seemed to configure drbl. The plan eventually is to not have to have the CZ server connected to the internet once it has been configured correctly, so why does drbl4imp (or was it drblpush -i) ask me for DNS setting first? Does it make much difference what I enter here? If it is to be unconnected to the net, do I just enter the static IP address of the CZ servers eth0 port for DNS?
Whilst I'm talking about drblpush -i and drbl4imp I'd like to make a suggestion. 'drblpush -i' seems to ask a lot of questions that would only apply to cloning Linux systems. I think there will be many people like me who will be using CZ server exclusively to image Windows machines and so it would be good if the first question asked was something like "Are you just going to be hosting MS Windows images with clonezilla server (drbl)?" and then many questions could be skipped. Good idea?
Anyway, it was around this point in the setup that I would've copied my clonezilla winxp images into a dir on my CZ server and pointed drbl to them by editing /opt/drbl/conf/drbl.conf and inserting the path into the diskless_root_dir_ro_user_add path before running dcs and configuring clonezilla server.
Now, I boot the etherboot iso that is included with drbl on the compaq laptop with it plugged into eth1 w/ a crossover cable. The laptop seems to find the server as it displays the graphical drbl menu and it will display the correct image to be restored or other options I picked under dcs. I hit enter and theres a few seconds where it looks like a Linux kernel is being booted before I inevitably get this error:
--------------------
mount: RPC: Remote system error - Network is unreachable
Failed to mount the root filesystem! Something went wrong!!!
Only IP address offered by this server name will be accepted: drbl
DHCP server name is: drbl
Successfully obtained IP address via wired link [eth0]
***********************************************************
FATAL ERROR: Failed to mount the root filesystem!!! Please check:
1. Is the driver of this network card loaded successfully on this computer? <EDIT> Run /bin/ls_pciid.sh then compare the results with the file /usr/lib/mkpxeinitrd-net/initrd-skel/etc/pcitable in the DRBL server
2. <EDITED> Is /etc/hosts.allow or hosts.deny blocking the client on the server
3. Is there another DHCP server on this subnet?
4. The DRBL server is able to reverse-map this client IP address to obtain hostname
check URL for more details!
****************************************
You can enter the shell if you want to debug...
[BIG-STRING] kernel panic - not syncing: Attempted to kill init!
----------------------------
Thats the edited version of the error I get every time on the laptop, with whatever options I pick under dcs. As for its suggested fixes to my problem:
1. I'm presuming the laptops network and its driver isn't the problem here or else I would never have ever seen the drbl screen on the laptop right? I can't run that script it mentions as I can't access a shell. I tried CTRL-C, CTRL-D, ALT and F1, F2 etc. but nothing opens a new console so that I can try running anything and so I can't check the results against the server.
2. After the first time that I got this error on the laptop I edited /etc/hosts.allow to just read
ALL : ALL : allow
Then restarted the server and thats how its been since. Poor security I know but its not on the net at the me and it isn't in use for anything else ATM. What exactly should my /etc/hosts.allow and hosts.deny look like if I want to be able to hook any old box up to the server/switch and re-image it? This is do-able right?
3. To avoid any other DHCP servers interfering I have been trying to get drbl running with nothing plugged into eth0, just the laptop I want to image being plugged into eth1 so that should stop any other DHCP servers on the LAN/WAN interfering.
4. "The DRBL server is able to reverse-map this client IP address to obtain hostname" Yes, and? What does that mean to me? Please explain!
I have tried configuring drbl using drblpush -i, drbl4imp and also drblsrv-offline -s `uname -r`. Here is the output of drblsrv-offline -s `uname -r` which is also how my server is currently configured:
-----------------------------------
root@zillaserva:/opt/drbl/sbin# ./drblsrv-offline -s `uname -r`
Using kernel from this server for client...
*****************************************************.
The version number for your OS: Ubuntu 7.10
*****************************************************.
These packages from your GNU/Linux distribution are necessary (Check your distribution package repository for more details):
util-linux tar gzip bzip2 procps dialog rsync parted pciutils tcpdump bc grub gawk hdparm sdparm netcat file ethtool etherwake ssh syslinux mtools mkisofs reiserfsprogs e2fsprogs psmisc locales wget disktype zip unzip initscripts dhcp3-server tftpd-hpa nfs-kernel-server nis ntp curl lftp iptables sysutils libdigest-sha1-perl udev
*****************************************************.
These packages from DRBL project are necessary [Check http://drbl.sf.net (English) or http://drbl.nchc.org.tw (Chinese) for more details]. rpm or deb packages can be found in http://free.nchc.org.tw/drbl-core or http://drbl.sf.net/drbl-core:
partclone mkpxeinitrd-net clonezilla mkswap-uuid drbl-partimage drbl-ntfsprogs drbl-chntpw drbl-lzop udpcast drbl-etherboot freedos
*****************************************************.
These packages are recommended to install if they exist in the distribution repository:
lvm2 ntfs-3g lshw
*****************************************************.
Please press Ctrl-C to stop the program! Or Press "Enter" to continue...
Check if they are installed...
Checking util-linux... installed.
Checking tar... installed.
Checking gzip... installed.
Checking bzip2... installed.
Checking procps... installed.
Checking dialog... installed.
Checking rsync... installed.
Checking parted... installed.
Checking pciutils... installed.
Checking tcpdump... installed.
Checking bc... installed.
Checking grub... installed.
Checking gawk... installed.
Checking hdparm... installed.
Checking sdparm... installed.
Checking netcat... installed.
Checking file... installed.
Checking ethtool... installed.
Checking etherwake... installed.
Checking ssh... installed.
Checking syslinux... installed.
Checking mtools... installed.
Checking mkisofs... installed.
Checking reiserfsprogs... installed.
Checking e2fsprogs... installed.
Checking psmisc... installed.
Checking locales... installed.
Checking wget... installed.
Checking disktype... installed.
Checking zip... installed.
Checking unzip... installed.
Checking initscripts... installed.
Checking dhcp3-server... installed.
Checking tftpd-hpa... installed.
Checking nfs-kernel-server... installed.
Checking nis... installed.
Checking ntp... installed.
Checking curl... installed.
Checking lftp... installed.
Checking iptables... installed.
Checking sysutils... installed.
Checking libdigest-sha1-perl... installed.
Checking partclone... installed.
Checking mkpxeinitrd-net... installed.
Checking clonezilla... installed.
Checking mkswap-uuid... installed.
Checking drbl-partimage... installed.
Checking drbl-ntfsprogs... installed.
Checking drbl-chntpw... installed.
Checking drbl-lzop... installed.
Checking udpcast... installed.
Checking drbl-etherboot... installed.
Checking freedos... installed.
Checking udev... installed.
*****************************************************.
*****************************************************.
*****************************************************.
Install kernel for clients... ...
The kernel for client is copied from server.
Installing kernel 2.6.22-14-generic for clients...
It might take several minutes to install this kernel, please be patient... ...done!
Generating modules.dep and map files for clients... done!
*****************************************************.
Creating config file for PXE clients...
Copying pxelinux.0, menu.c32, vesamenu.c32, chain.c32 and memdisk to /tftpboot/nbi_img...
Copying memtest86+ to /tftpboot/nbi_img...
Copying FreeDOS files to /tftpboot/nbi_img/...
Generating default pxelinux config (/tftpboot/nbi_img/pxelinux.cfg/default)...
Use com32 module: vesamenu.c32
Adding menus for DRBL, local boot, memtest86+, FreeDOS...
done!
*****************************************************.
*****************************************************.
Creating the image files for PXE and Etherboot client, this will take a few minutes ...
The latest kernel for DRBL clients is 2.6.22-14-generic
Running /opt/drbl/sbin/mknic-nbi --kernel 2.6.22-14-generic --all --no-modules
Will client check DHCP server name is "drbl" or not: yes
The maximum times to try to get IP address for a client: 3
The pause time after network card is up: 0
Using the kernel modules from /tftpboot/node_root//lib/modules...
The selected kernel for DRBL clients is: 2.6.22-14-generic
Kernel 2.6 is found, so default to use initramfs.
Creating the network boot initrd for PXE clients by: mkpxeinitrd-net -k 2.6.22-14-generic -t initramfs
Use kernel modules from /tftpboot/node_root//lib/modules/2.6.22-14-generic.
Creating the initRAMFS image...
Initramfs, remove ramdisk_size/ramdisk_block in /tftpboot/nbi_img/pxelinux.cfg/default if exists...
Finished!
Done!
*****************************************************.
Done!
----------------------------------------------------------------------------------
Then, I would configure clonezilla by running dcs with options something like these:
You assign -u (select image in the client) for clonezilla restoring, so only unicast (no multicast) mode is available!
Setting the TERM as xterm
*****************************************************.
Do NOT create partition table in the client harddisk!
Select the image to restore in the client machine!
*****************************************************.
Clean all the previous saved config file if they exist...done!
start_ocs_service -t restoreparts -o ask_user ask_user
Clonezilla image dir: /var/lock/clonezilla
Your system is already in clonezilla mode... we will stop it first if necessary, then start it again...
Stop OCS mode for node 192.168.0.1, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.10, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.11, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.12, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.2, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.3, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.4, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.5, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.6, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.7, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.8, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.9, no matter it's in OCS mode or not.
Warning!!! "range" option is found in dhcpd.conf, this is not a good way in clonezilla... It is better to let your DRBL client acquire same IP address by setting MAC address in dhcpd.conf so that you will NOT overwrite OS of some unknown machines.
Press "Enter" to continue......
Starting the OCS service for node IP add. = 192.168.0.1
Starting the OCS service for node IP add. = 192.168.0.10
Starting the OCS service for node IP add. = 192.168.0.11
Starting the OCS service for node IP add. = 192.168.0.12
Starting the OCS service for node IP add. = 192.168.0.2
Starting the OCS service for node IP add. = 192.168.0.3
Starting the OCS service for node IP add. = 192.168.0.4
Starting the OCS service for node IP add. = 192.168.0.5
Starting the OCS service for node IP add. = 192.168.0.6
Starting the OCS service for node IP add. = 192.168.0.7
Starting the OCS service for node IP add. = 192.168.0.8
Starting the OCS service for node IP add. = 192.168.0.9
Setting the PXE clients to DRBL mode with label "Clonezilla: unicast restore (choose later) to part (choose later)"...
Turn off all MENU DEFAULT...
Make "clonezilla" as default label in /tftpboot/nbi_img/pxelinux.cfg/default.
The MENU LABEL is "Clonezilla: unicast restore (choose later) to part (choose later)"
Client jobs are logged in '/var/log/clonezilla-jobs.log',
The sfdisk log when running clonezilla is in client /var/log/clonezilla-restore-sfdisk.log
*****************************************************.
Now set the client machines to boot from PXE or Etherboot (refer to http://drbl.sourceforge.net for more details). Then boot those clients, so that the template image can be cloned to them!
NOTE! (1) If Etherboot is used in client machine, version 5.4.0 or newer is required! (2) If the cloned OS is MS windows, and it fails to boot with error message like "Missing Operating System" or "Invalid System Disk", then you can try to change the IDE harddrive setting in BIOS to use LBA mode instead of AUTO mode.
This is for all clients, so we remove other host-based PXE config files in /tftpboot/nbi_img/pxelinux.cfg/ and keep /tftpboot/nbi_img/pxelinux.cfg/default only.
Clean all the previous saved PXELINUX config file if they exist...done!
PS. Next time you can run this command directly:
/opt/drbl/sbin/drbl-ocs -b -g auto -x -k -r -u -p choose -l en_US startparts restore
done!
------------------------------------------------------------------------------------
Phew!
I hope somebody can make something of all that and spot where it is I'm going wrong. I have been bug-testing FOSS software on and off for 12 years now but never have I had to put so much effort into reporting a bug than this and the chances are good I haven't actually included the bit of info you would need to fix it! So, I'm hoping this will resolve my prob and we will all get a much simpler guide/ better docs as a result.
The Clonezilla server docs seem to be quite comprehensive but I'm certain that a much simplified, dummies guide could be wrote- one for someone in just my situation ie starting with unicasting a windows image onto a single machine, which is the most simple setup you can have. Once people have got it working in such a simple config they can feel more confident about undertaking bigger, more complex tasks like multicasting a room of Linux boxes with different distros etc.
Ideally I'd love to see a clonezilla server distro to make setting up a server as easy as it is to locally create and restore a CZ image with clonezilla live. It would probably be an install-only distro (no live mode) but if you were just using it as a server for MS Win images then setup could potentially be simplified as far as just having to set static IP address(es) for your servers ethernet card(s) and specifying the location of your CZ images and that'd be it! Dream on? ;)
I know that if I don't get a CZ server running I can always host the images on a SMB or NFS share, but if I do that will more than one machine be able to access/install any one image on the share and how does the speed compare - NFS/SMB vs Clonezilla net install?
Thanks very much for your help!
dan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"I have been bug-testing FOSS software on and off for 12 years now but never have I had to put so much effort into reporting a bug"...
Sorry for that- I didn't proof read my book properly :) I realise that this likely isn't a bug in drbl/CZ at all and its probably just my lack of experience with setting linux servers up, so excuse me CZ/drbl devs please!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, we know it's difficult to setup such a server, and some of your suggestions we will think them over.
The problem you have seems to be the firewall on Ubuntu or something else. When you got such problem, you'd better to check /var/log/daemon.log or /var/log/messages to see why client fails.
No one else reported similar problem on Ubuntu 7.10, so we'd like to see why it fails there.
BTW, maybe it will be easier for you to use DRBL live (although it's still in beta). http://free.nchc.org.tw/drbl-live/testing/ http://free.nchc.org.tw/drbl-live/unstable/
or http://drbl.sourceforge.net/download/sourceforge/
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've dug out an old PC at work and I'm hoping it will be powerful enough to be used as a clonezilla server. As much as I like Linux, like most places (in the UK) we're nearly 100% MS win. I end up re-installing winxp quite a lot so I'm hoping I'll be able to plug our clonezilla server into a switch so I could potentially re-image 24 at a time, or however many the switch/server can handle. Before I get into multicast imaging, I aim to just get unicast imaging working first, just so I know I've got the server setup correctly as I'm sure it isn't set up properly at the moment.
My setup is as follows
CZ server:
1.6GHz P4
80GB HD
256MB RAM
2x PCI ethernet cards
running ubuntu 7.10 (but I'll gladly upgrade to 8.04 if it will make drbl work properly)
This server is directly connected ATM by its (static) eth1 port to a Compaq Presario 2500 laptop via a crossover cable.
I followed this guide http://drbl.sf.net/one4all to configure the server. I know the guide says it is recommended that I collect the MAC addresses of all the machines that I want to image but I'm presuming this isn't vital to get CZ to work as I'm hoping to be able to just "plug 'n play" basically. I realise I'll have to be careful about what machines are attached when I'm imaging but that shouldn't be a problem.
On my first attempt at getting drbl to work, I had a static internet connection on eth0 and a static but unused eth1 and I ran /opt/drbl/sbin/drbl4imp, which downloaded a bunch of packages and seemed to configure drbl. The plan eventually is to not have to have the CZ server connected to the internet once it has been configured correctly, so why does drbl4imp (or was it drblpush -i) ask me for DNS setting first? Does it make much difference what I enter here? If it is to be unconnected to the net, do I just enter the static IP address of the CZ servers eth0 port for DNS?
Whilst I'm talking about drblpush -i and drbl4imp I'd like to make a suggestion. 'drblpush -i' seems to ask a lot of questions that would only apply to cloning Linux systems. I think there will be many people like me who will be using CZ server exclusively to image Windows machines and so it would be good if the first question asked was something like "Are you just going to be hosting MS Windows images with clonezilla server (drbl)?" and then many questions could be skipped. Good idea?
Anyway, it was around this point in the setup that I would've copied my clonezilla winxp images into a dir on my CZ server and pointed drbl to them by editing /opt/drbl/conf/drbl.conf and inserting the path into the diskless_root_dir_ro_user_add path before running dcs and configuring clonezilla server.
Now, I boot the etherboot iso that is included with drbl on the compaq laptop with it plugged into eth1 w/ a crossover cable. The laptop seems to find the server as it displays the graphical drbl menu and it will display the correct image to be restored or other options I picked under dcs. I hit enter and theres a few seconds where it looks like a Linux kernel is being booted before I inevitably get this error:
--------------------
mount: RPC: Remote system error - Network is unreachable
Failed to mount the root filesystem! Something went wrong!!!
Only IP address offered by this server name will be accepted: drbl
DHCP server name is: drbl
Successfully obtained IP address via wired link [eth0]
***********************************************************
FATAL ERROR: Failed to mount the root filesystem!!! Please check:
1. Is the driver of this network card loaded successfully on this computer? <EDIT> Run /bin/ls_pciid.sh then compare the results with the file /usr/lib/mkpxeinitrd-net/initrd-skel/etc/pcitable in the DRBL server
2. <EDITED> Is /etc/hosts.allow or hosts.deny blocking the client on the server
3. Is there another DHCP server on this subnet?
4. The DRBL server is able to reverse-map this client IP address to obtain hostname
check URL for more details!
****************************************
You can enter the shell if you want to debug...
[BIG-STRING] kernel panic - not syncing: Attempted to kill init!
----------------------------
Thats the edited version of the error I get every time on the laptop, with whatever options I pick under dcs. As for its suggested fixes to my problem:
1. I'm presuming the laptops network and its driver isn't the problem here or else I would never have ever seen the drbl screen on the laptop right? I can't run that script it mentions as I can't access a shell. I tried CTRL-C, CTRL-D, ALT and F1, F2 etc. but nothing opens a new console so that I can try running anything and so I can't check the results against the server.
2. After the first time that I got this error on the laptop I edited /etc/hosts.allow to just read
ALL : ALL : allow
Then restarted the server and thats how its been since. Poor security I know but its not on the net at the me and it isn't in use for anything else ATM. What exactly should my /etc/hosts.allow and hosts.deny look like if I want to be able to hook any old box up to the server/switch and re-image it? This is do-able right?
3. To avoid any other DHCP servers interfering I have been trying to get drbl running with nothing plugged into eth0, just the laptop I want to image being plugged into eth1 so that should stop any other DHCP servers on the LAN/WAN interfering.
4. "The DRBL server is able to reverse-map this client IP address to obtain hostname" Yes, and? What does that mean to me? Please explain!
I have tried configuring drbl using drblpush -i, drbl4imp and also drblsrv-offline -s `uname -r`. Here is the output of drblsrv-offline -s `uname -r` which is also how my server is currently configured:
-----------------------------------
root@zillaserva:/opt/drbl/sbin# ./drblsrv-offline -s `uname -r`
Using kernel from this server for client...
*****************************************************.
The version number for your OS: Ubuntu 7.10
*****************************************************.
These packages from your GNU/Linux distribution are necessary (Check your distribution package repository for more details):
util-linux tar gzip bzip2 procps dialog rsync parted pciutils tcpdump bc grub gawk hdparm sdparm netcat file ethtool etherwake ssh syslinux mtools mkisofs reiserfsprogs e2fsprogs psmisc locales wget disktype zip unzip initscripts dhcp3-server tftpd-hpa nfs-kernel-server nis ntp curl lftp iptables sysutils libdigest-sha1-perl udev
*****************************************************.
These packages from DRBL project are necessary [Check http://drbl.sf.net (English) or http://drbl.nchc.org.tw (Chinese) for more details]. rpm or deb packages can be found in http://free.nchc.org.tw/drbl-core or http://drbl.sf.net/drbl-core:
partclone mkpxeinitrd-net clonezilla mkswap-uuid drbl-partimage drbl-ntfsprogs drbl-chntpw drbl-lzop udpcast drbl-etherboot freedos
*****************************************************.
These packages are recommended to install if they exist in the distribution repository:
lvm2 ntfs-3g lshw
*****************************************************.
Please press Ctrl-C to stop the program! Or Press "Enter" to continue...
Check if they are installed...
Checking util-linux... installed.
Checking tar... installed.
Checking gzip... installed.
Checking bzip2... installed.
Checking procps... installed.
Checking dialog... installed.
Checking rsync... installed.
Checking parted... installed.
Checking pciutils... installed.
Checking tcpdump... installed.
Checking bc... installed.
Checking grub... installed.
Checking gawk... installed.
Checking hdparm... installed.
Checking sdparm... installed.
Checking netcat... installed.
Checking file... installed.
Checking ethtool... installed.
Checking etherwake... installed.
Checking ssh... installed.
Checking syslinux... installed.
Checking mtools... installed.
Checking mkisofs... installed.
Checking reiserfsprogs... installed.
Checking e2fsprogs... installed.
Checking psmisc... installed.
Checking locales... installed.
Checking wget... installed.
Checking disktype... installed.
Checking zip... installed.
Checking unzip... installed.
Checking initscripts... installed.
Checking dhcp3-server... installed.
Checking tftpd-hpa... installed.
Checking nfs-kernel-server... installed.
Checking nis... installed.
Checking ntp... installed.
Checking curl... installed.
Checking lftp... installed.
Checking iptables... installed.
Checking sysutils... installed.
Checking libdigest-sha1-perl... installed.
Checking partclone... installed.
Checking mkpxeinitrd-net... installed.
Checking clonezilla... installed.
Checking mkswap-uuid... installed.
Checking drbl-partimage... installed.
Checking drbl-ntfsprogs... installed.
Checking drbl-chntpw... installed.
Checking drbl-lzop... installed.
Checking udpcast... installed.
Checking drbl-etherboot... installed.
Checking freedos... installed.
Checking udev... installed.
*****************************************************.
*****************************************************.
*****************************************************.
Install kernel for clients... ...
The kernel for client is copied from server.
Installing kernel 2.6.22-14-generic for clients...
It might take several minutes to install this kernel, please be patient... ...done!
Generating modules.dep and map files for clients... done!
*****************************************************.
Creating config file for PXE clients...
Copying pxelinux.0, menu.c32, vesamenu.c32, chain.c32 and memdisk to /tftpboot/nbi_img...
Copying memtest86+ to /tftpboot/nbi_img...
Copying FreeDOS files to /tftpboot/nbi_img/...
Generating default pxelinux config (/tftpboot/nbi_img/pxelinux.cfg/default)...
Use com32 module: vesamenu.c32
Adding menus for DRBL, local boot, memtest86+, FreeDOS...
done!
*****************************************************.
*****************************************************.
Creating the image files for PXE and Etherboot client, this will take a few minutes ...
The latest kernel for DRBL clients is 2.6.22-14-generic
Running /opt/drbl/sbin/mknic-nbi --kernel 2.6.22-14-generic --all --no-modules
Will client check DHCP server name is "drbl" or not: yes
The maximum times to try to get IP address for a client: 3
The pause time after network card is up: 0
Using the kernel modules from /tftpboot/node_root//lib/modules...
The selected kernel for DRBL clients is: 2.6.22-14-generic
Kernel 2.6 is found, so default to use initramfs.
Creating the network boot initrd for PXE clients by: mkpxeinitrd-net -k 2.6.22-14-generic -t initramfs
Use kernel modules from /tftpboot/node_root//lib/modules/2.6.22-14-generic.
Creating the initRAMFS image...
Initramfs, remove ramdisk_size/ramdisk_block in /tftpboot/nbi_img/pxelinux.cfg/default if exists...
Finished!
Done!
*****************************************************.
Done!
----------------------------------------------------------------------------------
Then, I would configure clonezilla by running dcs with options something like these:
--------------------------------------------------
root@zillaserva:/opt/drbl/sbin# ./dcs
All - Select All Clients
clonezilla-start
restore-parts
-g , -x, -k, -r -u options selected
Skip this option (not boot local OS)
-p choose
-----------
You assign -u (select image in the client) for clonezilla restoring, so only unicast (no multicast) mode is available!
Setting the TERM as xterm
*****************************************************.
Do NOT create partition table in the client harddisk!
Select the image to restore in the client machine!
*****************************************************.
Clean all the previous saved config file if they exist...done!
start_ocs_service -t restoreparts -o ask_user ask_user
Clonezilla image dir: /var/lock/clonezilla
Your system is already in clonezilla mode... we will stop it first if necessary, then start it again...
Stop OCS mode for node 192.168.0.1, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.10, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.11, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.12, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.2, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.3, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.4, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.5, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.6, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.7, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.8, no matter it's in OCS mode or not.
Stop OCS mode for node 192.168.0.9, no matter it's in OCS mode or not.
Warning!!! "range" option is found in dhcpd.conf, this is not a good way in clonezilla... It is better to let your DRBL client acquire same IP address by setting MAC address in dhcpd.conf so that you will NOT overwrite OS of some unknown machines.
Press "Enter" to continue......
Starting the OCS service for node IP add. = 192.168.0.1
Starting the OCS service for node IP add. = 192.168.0.10
Starting the OCS service for node IP add. = 192.168.0.11
Starting the OCS service for node IP add. = 192.168.0.12
Starting the OCS service for node IP add. = 192.168.0.2
Starting the OCS service for node IP add. = 192.168.0.3
Starting the OCS service for node IP add. = 192.168.0.4
Starting the OCS service for node IP add. = 192.168.0.5
Starting the OCS service for node IP add. = 192.168.0.6
Starting the OCS service for node IP add. = 192.168.0.7
Starting the OCS service for node IP add. = 192.168.0.8
Starting the OCS service for node IP add. = 192.168.0.9
Setting the PXE clients to DRBL mode with label "Clonezilla: unicast restore (choose later) to part (choose later)"...
Turn off all MENU DEFAULT...
Make "clonezilla" as default label in /tftpboot/nbi_img/pxelinux.cfg/default.
The MENU LABEL is "Clonezilla: unicast restore (choose later) to part (choose later)"
Client jobs are logged in '/var/log/clonezilla-jobs.log',
The sfdisk log when running clonezilla is in client /var/log/clonezilla-restore-sfdisk.log
*****************************************************.
Now set the client machines to boot from PXE or Etherboot (refer to http://drbl.sourceforge.net for more details). Then boot those clients, so that the template image can be cloned to them!
NOTE! (1) If Etherboot is used in client machine, version 5.4.0 or newer is required! (2) If the cloned OS is MS windows, and it fails to boot with error message like "Missing Operating System" or "Invalid System Disk", then you can try to change the IDE harddrive setting in BIOS to use LBA mode instead of AUTO mode.
This is for all clients, so we remove other host-based PXE config files in /tftpboot/nbi_img/pxelinux.cfg/ and keep /tftpboot/nbi_img/pxelinux.cfg/default only.
Clean all the previous saved PXELINUX config file if they exist...done!
PS. Next time you can run this command directly:
/opt/drbl/sbin/drbl-ocs -b -g auto -x -k -r -u -p choose -l en_US startparts restore
done!
------------------------------------------------------------------------------------
Phew!
I hope somebody can make something of all that and spot where it is I'm going wrong. I have been bug-testing FOSS software on and off for 12 years now but never have I had to put so much effort into reporting a bug than this and the chances are good I haven't actually included the bit of info you would need to fix it! So, I'm hoping this will resolve my prob and we will all get a much simpler guide/ better docs as a result.
The Clonezilla server docs seem to be quite comprehensive but I'm certain that a much simplified, dummies guide could be wrote- one for someone in just my situation ie starting with unicasting a windows image onto a single machine, which is the most simple setup you can have. Once people have got it working in such a simple config they can feel more confident about undertaking bigger, more complex tasks like multicasting a room of Linux boxes with different distros etc.
Ideally I'd love to see a clonezilla server distro to make setting up a server as easy as it is to locally create and restore a CZ image with clonezilla live. It would probably be an install-only distro (no live mode) but if you were just using it as a server for MS Win images then setup could potentially be simplified as far as just having to set static IP address(es) for your servers ethernet card(s) and specifying the location of your CZ images and that'd be it! Dream on? ;)
I know that if I don't get a CZ server running I can always host the images on a SMB or NFS share, but if I do that will more than one machine be able to access/install any one image on the share and how does the speed compare - NFS/SMB vs Clonezilla net install?
Thanks very much for your help!
dan
"I have been bug-testing FOSS software on and off for 12 years now but never have I had to put so much effort into reporting a bug"...
Sorry for that- I didn't proof read my book properly :) I realise that this likely isn't a bug in drbl/CZ at all and its probably just my lack of experience with setting linux servers up, so excuse me CZ/drbl devs please!
Yes, we know it's difficult to setup such a server, and some of your suggestions we will think them over.
The problem you have seems to be the firewall on Ubuntu or something else. When you got such problem, you'd better to check /var/log/daemon.log or /var/log/messages to see why client fails.
No one else reported similar problem on Ubuntu 7.10, so we'd like to see why it fails there.
BTW, maybe it will be easier for you to use DRBL live (although it's still in beta).
http://free.nchc.org.tw/drbl-live/testing/
http://free.nchc.org.tw/drbl-live/unstable/
or
http://drbl.sourceforge.net/download/sourceforge/