DRBL logo DRBL FAQ/Q&A DRBL logo

Common

Type: Generally FAQ
  • What's NCHC ?
  • What's the difference between DRBL and LTSP ?
  • What's kind of server and client should I buy if I want to use DRBL ?

  • System

    Type: About DRBL system
  • Where is the corresponding directory of DRBL client in server ?
  • How can I append boot time parameters of the Linux kernel to DRBL clients ?
  • How can I debug in the PXE initrd when client boots ?
  • In Debian Sarge, how can I let every normal user in DRBL client to access sound devices and automatically mount USB disk ?

  • Common

    Type: Generally FAQ
  • What's NCHC ?     ^TOP^
  •  

    National Center for High-Performance Computing, it's located in Hsinchu, Taiwan. For more details, please visite the website of NCHC http://www.nchc.org.tw

  • What's the difference between DRBL and LTSP ?     ^TOP^
  •  DRBL uses PXE or etherboot to let the client machine boot, which is similar to LTSP (Linux Terminal Server Project). While LTSP is a centralized server, all the users from the client machines access the LTSP server to run their applications on the LTSP server. You use the client's keyboard and mouse to input, and the client's monitor to display the results. This is great when you use a thin client. You have to increase the server requirements when you have more than 20 or 30 clients. On the other hand, DRBL uses NFS and NIS to provide boot services to the client machines, so DRBL server is just a NFS and NIS server. All the users from all the client machines just access the DRBL server to request files or authentication. Packages are loaded to the client machines and use their own CPU and RAM for processing. Therefore, you can use a common PC as the DRBL server, since it's only doing file and authentication serving. The client machines, however, should be powerful enough to run the applications they need. Our typical installations using DRBL to deploy the Linux classroom have around 30 to 40 clients.
    Both LTSP and DRBL have their own roles, you can choose what you want depending on your situation.
  • What's kind of server and client should I buy if I want to use DRBL ?     ^TOP^
  •  

    This depends on what's kind of application you want to run.
    For the education environment, the following is recommended:

    • Server:
        • x86 CPU at least 450 MHz is recommended.
        • Memory at least 256 MB is recommended.
        • 2 or more fast ethernet network interface cards (NICs) is recommended.
        • At least 10 GB HD space is recommended.
    • Client:
        • x86 CPU at least 200 MHz is recommended.
        • Memory at least 128 MB is recommended.
        • 1 fast ethernet network interface cards.
    • Fast ethernet switch
        • An ethernet hub is not acceptable. It's too slow for network booting and NFS. An fast ethernet switch will reduce the collision domain and give you a much smoother deployent.
        • Your fast ethernet switch should have enough ports for your clients and your server. You can find low cost 12 and 16-port fast ethernet switches just about anywhere. The 40+ port switches are nice, but they typically cost more.

    Since DRBL will work with any Pentium class hardware, you can start your PC cluster with just about any machine you have laying around. You can expand your cluster as your budget allows.


    System

    Type: About DRBL system
  • Where is the corresponding directory of DRBL client in server ?     ^TOP^
  •  It's in /tftpboot/nodes/$IP, where IP is the client's IP address, like /tftpboot/nodes/192.168.0.1.
    There are directories:
    dev etc root var
    under /tftpboot/nodes/$IP.
    For common root directory it's in /tftpboot/node_root, where all clients share this same one directory.
  • How can I append boot time parameters of the Linux kernel to DRBL clients ?     ^TOP^
  •  You can modify the
    /tftpboot/nbi_img/pxelinux.cfg/default
    It's almost similar to grub syntax. And if you are familiar with syslinux, it's the same thing.
    Say, if you want to append "vga=791" for client, you can find the "label drbl", and modify or append the "append" like
    ------------
    append initrd=initrd-pxe.img ramdisk_size=12288 devfs=nomount drblthincli=off selinux=0 vga=791
    ------------
  • How can I debug in the PXE initrd when client boots ?     ^TOP^
  •  In the early stage in PXE initrd when client boots, there is NO log file. However, you can try to debug by:
    1. edit /usr/lib/mkpxeinitrd-net/initrd-skel/linuxrc
    or
    "/usr/lib/mkpxeinitrd-net/initrd-skel/linuxrc/udhcpc-post"
    insert some code to debug, or just put a shell (/bin/sh) so you can enter the shell.
    2. run "/opt/drbl/sbin/mknic-nbi" to generate the PXE initrd.
    3. reboot the client, then you can see some logs or enter the shell.
  • In Debian Sarge, how can I let every normal user in DRBL client to access sound devices and automatically mount USB disk ?     ^TOP^
  •  You have to add those desktop user to group "audio" and group "plugdev". Since the default group for plugdev and audio is not open to every user, you can add them in very client's /etc/group:
    1. For USB disk, like:
    -------
    plugdev:x:46:john, mary
    -------
    2. For sound, like:
    -------
    audio:x:29:john, mary
    -------

    Note!, due to the NIS/YP limitation, you can not add it in server and "make -C /var/yp" to update. NIS/YP only works in GID >= 1000 in Debian. In this method, you have to edit every /etc/group in every client.

    If you are really lazy, here you are, but it not so secure...
    For sound:
    a. append these in /etc/udev/permissions.rules
    -------
    KERNEL="dsp", MODE="0666", GROUP="root"
    KERNEL="mixer", MODE="0666", GROUP="root"
    -------
    or
    b. chmod 777 /dev/dsp /dev/mixer

    For USB disk:
    Here is the method that you do not have to append every user to group "plugdev" in client's /usr/group: 1. In server, change the /etc/group as:
    -------
    plugdev:x:1100:john, mary
    -------
    Note, the GID must be unique and must be >= 1000
    2. chgrp plugdev /usr/bin/pmount
    3. make -C /var/yp
    4. make sure /usr/bin/pmount is setuid, if not, chmod u+s /usr/bin/pmount
    5. comment every plugdev in every client /etc/group, like:
    -------
    plugdev:x:46:john, mary
    -------
    6. logout client, and login in. It should be ok now.

    Last modified: Sun Dec 4 17:50:02 PST 2005