Thursday, July 12, 2012

DRBL worked!

Tasty


DRBL is a useful project that provides a way for a master server to be a PXE boot server and fileserver to thin nodes (computers who do not -- necessarily -- have any non-volatile storage (e.g. hard disks, SSDs, flash drives)).  I have installed this successfully on Debian Wheezy following the directions. My hope is that someone finds this documentation of my choices helpful if they are trying to make DRBL run on similar hardware with Debian Wheezy (and I am included in that).

# dpkg --list | grep drbl
ii  clonezilla                           2.5.8-1drbl                    A partition or disk cloning tool
ii  drbl                                 1.10.90-1drbl                  DRBL (Diskless Remote Boot in Linux).
ii  drbl-chntpw                          20110511-1drbl                 NT SAM password recovery utility
ii  drbl-partimage                       0.6.8-1drbl                    Partition Image
ii  freedos                              1.0-16drbl                     A complete, free, 100% MS-DOS compatible operating system.
ii  ipxe                                 20120123-1drbl                 Open source network boot firmware
ii  mkpxeinitrd-net                      1.6.12-1drbl                   Build initial ramdisk images for DRBL clients.
ii  mkswap-uuid                          0.1.1-1drbl                    set up a Linux swap area with UUID can be assigned
ii  partclone                            0.2.45-2drbl                   The utility to clone and restore a partition. 


There are some choices to be made within the installation instructions, and I want to go into some more detail on those.  So firstly we'll assume that all the necessary Debian packages have been installed on your master.  The two commands that remain are drblsrv and drblpush:


# /opt/drbl/sbin/drblsrv -i
*****************************************************.
Hint! When a "yes or no" option is available, the default value is uppercase. E.g. (y/N) the default is "N", so when you press "Enter" without typing "Y or N" it will be as if you typed "N" and then "Enter". If you are not sure which option to choose just press "Enter" key.
*****************************************************.
*****************************************************.
Installing DRBL for Debian Linux...
*****************************************************.
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
*****************************************************.
This GNU/Linux distribution uses one kernel to support SMP and non-SMP arch.
*****************************************************.
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
The CPU arch option for your clients: 2
The optimization for your system is set to be the same as this server computer.
*****************************************************.
Cleaning the cache of APT to make some settings take effect...
Get:1 http://security.debian.org wheezy/updates InRelease [87.8 kB]
Get:2 http://security.debian.org wheezy/updates/main Sources [937 B]                                    
Get:3 http://security.debian.org wheezy/updates/main amd64 Packages [979 B]   
...  # apt-get update fallout
...
Reading package lists... Done
*****************************************************.
Do you want to upgrade the operating system?
[y/N] n
*****************************************************.
2nd, installing the necessary files for DRBL...
*****************************************************.
Searching if lvm2 ntfs-3g genisoimage mkisofs lshw hwinfo aoetools vblade dmidecode lzop lzma xz xz-utils pxz lzip pigz pbzip2 lbzip2 plzip lrzip hfsutils hfsprogs dmsetup dmraid kpartx device-mapper tofrodos dos2unix unix2dos dhcp3-server isc-dhcp-server gdisk btrfs-tools ufsutils disktype available... 
Package lvm2 exists in repository.
Package ntfs-3g exists in repository.
Package genisoimage exists in repository.
Package lshw exists in repository.
Package hwinfo exists in repository.
Package aoetools exists in repository.
Package vblade exists in repository.
Package dmidecode exists in repository.
Package lzop exists in repository.
Package lzma exists in repository.
Package xz-utils exists in repository.
Package lzip exists in repository.
Package pigz exists in repository.
Package pbzip2 exists in repository.
Package lbzip2 exists in repository.
Package plzip exists in repository.
Package lrzip exists in repository.
Package hfsutils exists in repository.
Package hfsprogs exists in repository.
Package dmsetup exists in repository.
Package dmraid exists in repository.
Package kpartx exists in repository.
Package tofrodos exists in repository.
Package dos2unix exists in repository.
Package isc-dhcp-server exists in repository.
Package gdisk exists in repository.
Package btrfs-tools exists in repository.
Package ufsutils exists in repository.
Package disktype exists in repository.
Package ntfs-3g does not provide the files of old package ntfsprogs, so ntfsprogs will be installed.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libdigest-sha1-perl
Warning! Some necessary packages are not installed! If you continue, maybe something will go wrong! It is better to exit now and check your /etc/apt/sources.list and internet link!
Press Ctrl-C to stop the program! Or Press "Enter" to continue... 
*****************************************************.
*****************************************************.
Trying to upgrade some necessary packages if available...
*****************************************************.
Searching for the latest kernel in the repository...  kernel ...
The latest kernel in the ayo repository is linux-image-3.2.0-3-amd64
There are 2 kernels available for clients, which one do you prefer?
[1]: kernel 3.2.0-1-amd64 x86_64 (from this DRBL server)
[2]: linux-image-3.2.0-3-amd64 (from APT repository)
[1] 1
Clients will use the kernel 3.2.0-1-amd64 x86_64 from server.
It might take several minutes to install this kernel, please be patient... 
done!
*****************************************************.
Installing kernel for clients... ...
Searching for the latest kernel in the repository... kernel ...
*****************************************************.
Now run: drblsrv-offline -c -d -a -l en_US.UTF-8 -s 3.2.0-1-amd64 "" ""
Using kernel from this server for client...
*****************************************************.
Your OS version is:: Debian Testing-Unstable
*****************************************************.
*****************************************************.
Installing kernel for clients... ... 
The kernel for client is copied from server.
Installing kernel 3.2.0-1-amd64 for clients... 
It might take several minutes to install this kernel, please be patient... ...done!
Generating modules.dep and map files for clients... done!
Preparing the kernel firmware for clients...
*****************************************************.
Creating config file for PXE clients...
Copying pxelinux.0, gpxelinux.0, menu.c32, vesamenu.c32, chain.c32, mboot.c32, sanboot.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 computer(s), this will take a few minutes ...
The latest kernel for the DRBL clients is 3.2.0-1-amd64
Running mknic-nbi --kernel 3.2.0-1-amd64 --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: 5
The pause time after network card is up: 0
The timeout to wait for network card linked (Unit: 0.1 secs): 70
Setting port for udhcpc request to default...
Using the kernel modules from /tftpboot/node_root//lib/modules...
The selected kernel for DRBL clients is: 3.2.0-1-amd64
Kernel 2.6 or 3 was found, so default to use initramfs.
Creating the network boot initrd for PXE clients by: mkpxeinitrd-net -k 3.2.0-1-amd64 -t initramfs   -nf 
Use kernel modules from /tftpboot/node_root//lib/modules/3.2.0-1-amd64.
Trying to include network card firmwares if they exist in /tftpboot/node_root//lib/firmware/...
Calling hook udev...
Creating the initRAMFS image...
Initramfs, remove ramdisk_size/ramdisk_block in /tftpboot/nbi_img/pxelinux.cfg/default if exists...
Finished!
Done!
*****************************************************.
Done!

The next command drblpush, goes as follows:
# /opt/drbl/sbin/drblpush -i
******************************************************
Hint! When a yes/no option is available, the default value is uppercase, Ex. (y/N), the default is "N", when you press "Enter", it will use "N". If you are not sure which one to choose, you can just press "Enter" key.
******************************************************
Searching the installed packages for DRBL server...This might take several minutes...
Finished searching the installed packages for DRBL server.
******************************************************
------------------------------------------------------
The interactive mode let you supply the information of your DRBL environment.
------------------------------------------------------
------------------------------------------------------
Please enter DNS domain (such as drbl.sf.net):
[cls.ox.com] cls.ox.com
Set DOMAIN as cls.ox.com
------------------------------------------------------
Please enter NIS/YP domain name:
[penguinzilla] 
Set DOMAIN as penguinzilla
------------------------------------------------------
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.
[monet] monet
Set the client hostname prefix as monet
------------------------------------------------------
eth0: IP address 192.168.1.1, netmask 255.255.255.0
wlan0: IP address 10.1.4.209, netmask 255.255.254.0
Configured ethernet card(s) found in your system: eth0 wlan0 
------------------------------------------------------
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.1), wlan0 (10.1.4.209), 
[wlan0] wlan0
The ethernet port you choose for the WAN connection: wlan0
The ethernet port(s) for DRBL environment:  eth0 
******************************************************
******************************************************
Now we can collect the MAC address of clients!
If you want to let the DHCP service in DRBL server offer same IP address to client every time when client boot, and you never did this procedure, you should do it now!
If you already have those MAC addresses of clients, you can put them into different group files (These files number is the same number of networks cards for DRBL service). In this case, you can skip this step.
This step helps you to record the MAC addresses of clients, then divide them into different groups. It will save your time and reduce the typos.
The MAC addresses will be recorded turn by turn according to the boot of clients,
and they will be put into different files according to the network card in server, file name will be like macadr-eth1.txt, macadr-eth2.txt... You can find them in directory /etc/drbl.
Please boot the clients by order, make sure they boot from etherboot or PXE!
Do you want to collect them?
[y/N] n
******************************************************
OK! Let's continue...
******************************************************
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 ?
[y/N] n
******************************************************
OK! Let's continue, we will set the IP address of clients by "first boot gets IP first" instead of fixed one!
Hostmin: 192.168.1.1
******************************************************
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.
[1] 10
******************************************************
How many DRBL clients (PC for students) connected to DRBL server's ethernet network interface eth0 ?
Please enter the number: 
[1] 10
******************************************************
The final number in the last set of digits in the client's IP address is "19".
We will set the IP address for the clients connected to DRBL server's ethernet network interface eth0 as: 192.168.1.10 - 192.168.1.19
Accept ? [Y/n] y
******************************************************
OK! Let's continue...
******************************************************
The Layout for your DRBL environment: 
******************************************************
          NIC    NIC IP                    Clients
+-----------------------------+
|         DRBL SERVER         |
|                             |
|    +-- [wlan0] 10.1.4.209 +- to WAN
|                             |
|    +-- [eth0] 192.168.1.1 +- to clients group 0 [ 10 clients, their IP 
|                             |            from 192.168.1.10 - 192.168.1.19]
+-----------------------------+
******************************************************
Total clients: 10
******************************************************
Press Enter to continue... 
******************************************************
------------------------------------------------------
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] 1
DRBL SSI mode is set, an elegant mode for DRBL is on the way!
******************************************************
------------------------------------------------------
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] 2
No Clonezilla is the system!
******************************************************
******************************************************
The CPU arch for clients when running Clonezilla job: generic
------------------------------------------------------
If there is a local harddrive with swap partition or writable file system in your client machine,
do you want to use that swap partition or create a swap file in  the writable filesystem so that client has more memory to use? (This step will NOT destroy any data in that harddisk)
[Y/n] n
******************************************************
------------------------------------------------------
Which mode do you want the clients to use after they boot?
"1": Graphic mode (X window system) (default),
"2": Text mode.
[1] 2
The clients will use text mode when they boot.
******************************************************
------------------------------------------------------
Do you want to set the root's password for clients instead of using same root's password copied from server? (For better security)
[y/N] n
OK! Let's continue...
------------------------------------------------------
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
OK! Let's continue...
------------------------------------------------------
Do you want to set the boot prompt for clients?
[Y/n] y
How many 1/10 sec is the boot prompt timeout for clients?
[70] 70
OK! Let's continue...
------------------------------------------------------
------------------------------------------------------
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] 
Use text PXE Linux menu for the client.
------------------------------------------------------
------------------------------------------------------
Do you want to let audio, cdrom, floppy, video and plugdev (like USB device) open to all users in the DRBL client? If yes, we will add all the users to those device groups in the server and client.
[Y/n] y
OK! Let's continue...
------------------------------------------------------
------------------------------------------------------
By using alias interface, every client can have 2 IPs,
one of them is private IP for clients connected to DRBL server, and the other is public IP for clients directly connected to WAN from switch!
Do you want to setup public IP for clients?
[y/N] n
------------------------------------------------------
Do you want to let DRBL clients have an option to run terminal mode? i.e. you want to let that client run remote display (which will mostly use resources of server), say "Y" here.
Note!
0. If you say yes to this option, this will be a very limited environment for client, i.e. NO local access for USB, CD, audio, printer, etc. in client.
1. If your server is not powerful, say "no" here.
2. By saying "yes" here, we will turn on xdmcp,
It is never a safe thing to turn on that.  Setting up /etc/hosts.allow and /etc/hosts.deny to only allow local access is another alternative but not the safest.
Firewalling port 177 is the safest if you wish to have xdmcp on.
Read the manual for more notes on the security of XDMCP.
Please set it by yourself!
3. If you say "yes" here, you might have to restart your desktop environment manager (gdm/kdm) later, remember to save your data before you close applications!
Do you want to let client has an option to run terminal mode?
[y/N] n
OK! Let's continue...
------------------------------------------------------
------------------------------------------------------
Do you want to let DRBL server as a NAT server? If not, your DRBL client will NOT be able to access Internat.
[Y/n] 
OK! Let's continue...
------------------------------------------------------
------------------------------------------------------
Do you want to keep the old setting of existing DRBL clients if they exist?
[Y/n] 
We will try to keep the setting of the DRBL clients if they already exist.
******************************************************
******************************************************
The running kernel in the server supports NFS over TCP!
Note! If you change the running kernel in the server, and not sure whether the kernel supports NFS over udp or tcp, you'd better to re-run "drblpush -i" again to avoid the client boots in failure!
Press Enter to continue... 
------------------------------------------------------
******************************************************
The calculated NETWORK for eth0 is 192.168.1.0.
******************************************************
******************************************************
We are now ready to deploy the files to system! 
Do you want to continue?
Warning! If you go on, your firewall rules will be overwritten during the setup!
The original rules will be backuped as iptables.drblsave in system config directory (/etc/sysconfig or /etc/default).
[Y/n] 
******************************************************
OK! Let's do it!
------------------------------------------------------
Checking the necessary disk space... done!
Copying the config file to /etc/drbl... done!
Backup the original /etc/hosts as /etc/hosts.drblsave... done!
Generate the /etc/hosts for clients connected to eth0... done!
Cleaning the stale files of the diskless nodes if they exist... done!
*****************************************************.
*****************************************************.
The version number for your GNU/Linux: DBN-TU
Keeping the old common root files if they exist... 
Keeping old nodes if they exist... 
Creating common root files... This might take several minutes...........Copying normal dir /lib32 to /tftpboot/node_root/...Copying normal dir /lib64 to /tftpboot/node_root/... done!
Update the kernel for client if necessary... 
The DRBL client uses x86_64 kernel with version 3.2.0-1-amd64...
Trying to update the /tftpboot/node_root/lib/modules/3.2.0-1-amd64 from server's /lib/modules/... This might take several minutes...
Found kernel modules in /lib/modules/3.2.0-1-amd64 and its arch "x86_64" matches client's "x86_64"...
Syncing /lib/modules/3.2.0-1-amd64 to client's common root...
Syncing /boot/*-3.2.0-1-amd64* to client's common root...
Generating the /tftpboot/node_root/lib/modules/3.2.0-1-amd64/modules.dep
Syncing /lib/firmware/ to client's common root...
Copying the directory /etc/ to clients common root /tftpboot/node_root...
Cleaning the ssh key file ssh_host_dsa_key copied from server... done!
Cleaning the ssh key file ssh_host_dsa_key.pub copied from server... done!
Cleaning the ssh key file ssh_host_rsa_key copied from server... done!
Cleaning the ssh key file ssh_host_rsa_key.pub copied from server... done!
Commenting the TCPwrapper related file /tftpboot/node_root/etc/hosts.deny copied from server... done!
Commenting the TCPwrapper related file /tftpboot/node_root/etc/hosts.allow copied from server... done!
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
The startup services for DRBL client are:
firstboot rpcbind nis nfs-common ssh dbus kbd acpid cups binfmt-support drblthincli arm-wol sendsigs umountfs
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
Using udev for clients... Set text mode for Debian DRBL client...
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
Deleting the accounts (except root) in the clients common root template... cp: `/lib64/ld-linux-x86-64.so.2' and `/tftpboot/node_root/lib64/ld-linux-x86-64.so.2' are the same file
done!
Enabling the NIS client in the common root template... done!
Creating some necessary files in the clients common root template...... done!
Creating DRBL client: monet010 192.168.1.10... Generating SSH host keys for client 192.168.1.10 if they do not exist... done!
Display manager:"gdm3"...
Setting node 192.168.1.10 as normal_login... done!
mv: target `S99single' is not a directory
Creating DRBL client: monet011 192.168.1.11... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet012 192.168.1.12... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet013 192.168.1.13... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet014 192.168.1.14... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet015 192.168.1.15... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet016 192.168.1.16... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet017 192.168.1.17... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet018 192.168.1.18... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Creating DRBL client: monet019 192.168.1.19... Pseudo client is created for DRBL SSI or clonezilla box mode! done!
Template client for DRBL SSI, Clonezilla box mode or Clonezilla live client is 192.168.1.10
Using template host /tftpboot/nodes/192.168.1.10
Generating SSH host keys for client 192.168.1.10 if they do not exist... done!
Generating the files for DRBL single system image template... root... etc... var... 
Modifying option diskless_client_os in drbl-ocs.conf...
Disable the password in pxelinux simple menu for all clients... 
Disabling PXE password in config file /tftpboot/nbi_img/pxelinux.cfg/default... 
done!
Now add necessary services to this DRBL server: DHCP, TFTP, NFS, NIS...
Generating the NFS exports for DRBL clients... 
Backup the original /etc/exports as /etc/exports.drblsave
Exporting to clients by IP address line-by-line...
The /etc/exports setting is ok now!
Now generate the firewall rules for NAT service...
Stop the NAT service first...
Flushing firewall rules: success
ip_forward is already on.
Now set the YP securenets...
Backup the original /etc/ypserv.securenets as /etc/ypserv.securenets.drblsave
The /etc/ypserv.securenets setting is done!
Update YP...
Now add the service:  rpcbind isc-dhcp-server nis nfs-common nfs-kernel-server tftpd-hpa drbl-clients-nat
Force to add rpcbind service in this Debian DRBL server...
Force to add isc-dhcp-server service in this Debian DRBL server...
Force to add nis service in this Debian DRBL server...
Force to add nfs-common service in this Debian DRBL server...
Force to add nfs-kernel-server service in this Debian DRBL server...
Force to add tftpd-hpa service in this Debian DRBL server...
Force to add drbl-clients-nat service in this Debian DRBL server...
Now start the service:  rpcbind isc-dhcp-server nis nfs-common nfs-kernel-server tftpd-hpa drbl-clients-nat
Stopping rpcbind daemon....
Starting rpcbind daemon....
Stopping ISC DHCP server: dhcpd.
Starting ISC DHCP server: dhcpd.
Stopping NIS services: ypbind ypserv ypppasswdd ypxfrd.
Starting NIS services: ypserv yppasswdd ypxfrd ypbindbinding to YP server.............................failed (backgrounded).
.
Stopping NFS common utilities: idmapd statd.
Starting NFS common utilities: statd idmapd.
Stopping NFS kernel daemon: mountd nfsd.
Unexporting directories for NFS kernel daemon....
Exporting directories for NFS kernel daemon....
Starting NFS kernel daemon: nfsd mountd.
Stopping HPA's tftpd: in.tftpd.
Starting HPA's tftpd: in.tftpd.
Stopping the NAT services for DRBL clients... Now stop the NAT service...
Flushing firewall rules: success
done!
Starting the NAT services for DRBL clients... done!
ip_forward is already on.
The display manager in this DRBL server is "gdm3"
Clean all the previous saved config file if they exist...done!
Turn on the boot prompt for PXE client...done!
Turn off the thin client option in PXE boot menu...done!
Modifying /tftpboot/nbi_img/pxelinux.cfg/default to let DRBL client use text PXE boot menu... done!
DRBL SSI mode. Set clientdir opt for label drbl in pxelinux config... 
Setting drbl_mode="drbl_ssi_mode" in /etc/drbl/drbl_deploy.conf and /etc/drbl/drblpush.conf... done!
Clonezilla service is set as unavailable. Set clientdir opt for label clonezilla in pxelinux config... 
Setting clonezilla_mode="none" in /etc/drbl/drbl_deploy.conf and /etc/drbl/drblpush.conf... done!
*****************************************************.
Adding normal users to group "audio cdrom plugdev floppy video"........ done!
*****************************************************.
Updating the YP/NIS for group...
Note! If you add new or remove accounts in the DRBL server in the future, remember to run the following command again, so that some group (EX:plugdev) will be updated:
tune-debian-dev-group-perm -g "audio cdrom plugdev floppy video" -e
*****************************************************.
Enjoy DRBL!!!
http://drbl.nchc.org.tw; http://drbl.name
NCHC Free Software Labs, Taiwan. http://free.nchc.org.tw
*****************************************************.
If you like, you can reboot the DRBL server now to make sure everything is ready...(This is not necessary, just an option)
*****************************************************.
The DRBL server is ready! Now set the client machines to boot from PXE or Etherboot. (refer to http://drbl.sourceforge.net for more details)
NOTE! If Etherboot is used on client computers, version 5.4.0 or newer is required!
P.S. The config file is saved as /etc/drbl/drblpush.conf. Therefore if you want to run drblpush with the same config again, you may run it as: /opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf

It should be noted that any changes to the master in terms of new packages that modify their /var or /etc will only work on the nodes after a drblpush is issued again.
A big thanks to the folks at NCHC in Taiwan and other maintainers of this tool. Its very useful and seems to "Just work" for my case.

No comments:

Post a Comment