msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2011-09-05 14:12+0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):6 msgid "Diskless Nodes with Gentoo" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(author:title):8 msgid "Researcher" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail:link):9 msgid "ma53@drexel.edu" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail):9 msgid "Michael Andrews" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(author:title):11 msgid "Editor" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail:link):12 msgid "unsolo@sysrq.no" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail):12 msgid "Kristian Jerpetjoen" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(author:title):14 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(author:title):17 msgid "Reviewer" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail:link):15 msgid "swift@gentoo.org" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail):15 msgid "Sven Vermeulen" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail:link):18 msgid "neysx@gentoo.org" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(mail):18 msgid "Xavier Neys" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(abstract):21 msgid "This HOWTO will help you create setup diskless nodes with Gentoo Linux." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(version):29 msgid "1.27" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(date):30 msgid "2009-01-25" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):33 msgid "Introduction" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):35 msgid "About this HOWTO" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):38 msgid "This HOWTO will help you setup diskless workstations based on the Gentoo Linux distribution. We intend to make this as user friendly as possible and cater to the Linux newbie, because every one of us was one at a certain point :) While an experienced user could easily tie the multiple HOWTOs available on diskless nodes and networking together we hope that this guide can ease the installation for all interested users, geeks or not." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):50 msgid "What is a diskless machine?" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):53 msgid "A diskless machine is a PC without any of the usual boot devices such as hard disks, floppy drives or CD-ROMs. The diskless node boots off the network and needs a server that will provide it with storage space as a local hard disk would. From now on we call the server the master, while the diskless machine gets called the slave (what's in a name :). The slave node needs a network adapter that supports PXE booting or Etherboot; check Etherboot.org for support listings. Most modern cards support PXE and many built-in adapters on motherboards will also work." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):68 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):993 msgid "Before you start" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):71 msgid "You should have Gentoo installed on your master node and enough space on the master to store the file systems of the slave nodes you want to host. Also make sure you have one interface to the internet separated from the local area connection." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):83 msgid "Configuring the master and the slaves" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):85 msgid "About kernels" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):88 msgid "The kernel is the software that sits between your hardware and all other software you have loaded on your machine, essentially the heart of a kernel based operating system. When your computer is started, the BIOS executes the instructions found at the reserved boot space of your hard drive. These instructions are typically a boot loader that loads your kernel. After your kernel has been loaded all processes are handled by the kernel." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):97 msgid "For more information on kernels and kernel configuration you might want to check out the kernel HOWTO." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):106 msgid "Configuring the master kernel" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):109 msgid "The master kernel can be as large and as customized as you would like but there are a few required kernel options you need to select. Go into your kernel configuration menu by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):115 msgid "Editing the master's kernel configuration" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):115 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):235 #, no-wrap msgid "\n# cd /usr/src/linux\n# make menuconfig\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):120 msgid "You should get a grey and blue GUI that offers a safe alternative to manually editing the /usr/src/linux/.config file. If your kernel is currently functioning well you might want to save the current configuration file by exiting the GUI and type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):127 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):215 msgid "Backing up the master's kernel configuration" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):127 #, no-wrap msgid "\n# cp .config .config_working\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):131 msgid "Go into the following sub-menus and make sure the listed items are checked as built-in (and NOT as modular). The options show below are taken from the 2.6.10 kernel version. If you use a different version, the text or sequence might differ. Just make sure you select at least those shown below." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):138 msgid "master's kernel options" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):138 #, no-wrap msgid "\nCode maturity level options --->\n [*] Prompt for development and/or incomplete code/drivers\n\nDevice Drivers --->\n Networking options --->\n <*> Packet socket\n <*> Unix domain sockets\n [*] TCP/IP networking\n [*] IP: multicasting\n [ ] Network packet filtering (replaces ipchains)\n\nFile systems --->\n Network File Systems --->\n <*> NFS server support\n [*] Provide NFSv3 server support\n\n\nIf you want to access the internet through your master node and/or have a\nsecure firewall make sure to add support for iptables\n\n [*] Network packet filtering (replaces ipchains)\n IP: Netfilter Configuration --->\n <*> Connection tracking (required for masq/NAT)\n <*> IP tables support (required for filtering/masq/NAT)\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):165 msgid "If you want to use packet filtering, you can add the rest as modules later. Make sure to read the Gentoo Security Handbook Chapter about Firewalls on how to set this up properly." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):172 msgid "These kernel configuration options should only be added to your system specific configuration options and are not meant to completely replace your kernel configuration." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):178 msgid "After you have re-configured the master's kernel you will want to rebuild it:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):182 msgid "Recompiling the master's kernel and modules" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):182 #, no-wrap msgid "\n# make && make modules_install\n(Make sure /boot is mounted before copying to it)\n# cp arch/i386/boot/bzImage /boot/bzImage-master\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):188 msgid "Then add an entry for that new kernel into lilo.conf or grub.conf depending on which bootloader you are using and make the new kernel the default one. Now that the new bzImage has been copied into your boot directory all you will have to do is reboot the system in order to load these new options." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):199 msgid "About the slave kernel" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):202 msgid "It is recommended that you compile the slave kernel without any modules, since loading and setting them up via remote boot is a difficult and unnecessary process. Additionally, the slave kernel should be as small and compact as possible in order to efficiently boot from the network. We are going to compile the slave's kernel in the same place where the master was configured." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):210 msgid "To avoid confusion and wasting time it is probably a good idea to backup the master's configuration file by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):215 #, no-wrap msgid "\n# cp /usr/src/linux/.config /usr/src/linux/.config_master\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):219 msgid "Now we will want to configure the slave's kernel in the same fashion we configured the master's kernel. If you want to start with a fresh configuration file you can always recover the default /usr/src/linux/.config file by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):226 msgid "Getting a clean kernel configuration" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):226 #, no-wrap msgid "\n# cd /usr/src/linux\n# cp .config_master .config\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):231 msgid "Now go into the configuration GUI by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):235 msgid "Editing the slave's kernel configuration" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):240 msgid "You will want to make sure you select the following options as built-in and NOT as kernel modules:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):245 msgid "slave's kernel options" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):245 #, no-wrap msgid "\nCode maturity level options --->\n [*] Prompt for development and/or incomplete code/drivers\n\nDevice Drivers --->\n [*] Networking support\n Networking options --->\n <*> Packet socket\n <*> Unix domain sockets\n [*] TCP/IP networking\n [*] IP: multicasting\n [*] IP: kernel level autoconfiguration\n [*] IP: DHCP support (NEW)\n\nFile systems --->\n Network File Systems --->\n <*> file system support\n [*] Provide NFSv3 client support\n [*] Root file system on NFS\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):266 msgid "An alternative to having an dhcp server is setting up a BOOTP server." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(impo):270 msgid "It is important that you add your network adapter into the kernel (and not as a module) on the nodes. Using modules however is generally not a problem for diskless nodes." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):276 msgid "Now the slave's kernel needs to be compiled. You have to be careful here because you don't want to mess up the modules (if any) you have built for the master:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):282 msgid "Compiling the slave kernel" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):282 #, no-wrap msgid "\n# cd /usr/src/linux\n# make\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):287 msgid "Now create the directory on the master that will be used to hold slaves' files and required system files. We use /diskless but you may choose any location you like. Now copy the slave's bzImage into the /diskless directory:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):294 msgid "If you are using different architectures you might want to save each config into .config_arch. Do the same with the images: save them into the /diskless as bzImage_arch." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):300 msgid "Copying the slave kernel" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):300 #, no-wrap msgid "\n# mkdir /diskless\n# cp /usr/src/linux/arch/i386/boot/bzImage /diskless\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):308 msgid "Configuring a preliminary slave file system" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):311 msgid "The master and slave filesystems can be tweaked and changed a lot. Right now we are only interested in getting a preliminary filesystem of appropriate configuration files and mount points. First we need to create a directory within /diskless for the first slave. Each slave needs it's own root file system because sharing certain system files will cause permission problems and hard crashes. You can call these directories anything you want but I suggest using the slaves IP addresses as they are unique and not confusing. The static IP of our first slave will be, for instance, 192.168.1.21:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):322 msgid "Creating a remote root directory" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):322 #, no-wrap msgid "\n# mkdir /diskless/192.168.1.21\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):326 msgid "Various configuration files in /etc need to be altered to work on the slave. Copy the master's /etc directory onto your new slave root by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):332 msgid "Creating /etc for the slave's filesystem" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):332 #, no-wrap msgid "\n# cp -r /etc /diskless/192.168.1.21/etc\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):336 msgid "Still this filesystem isn't ready because it needs various mount points and directories. To create them, type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):341 msgid "Creating mount points and directories in the slave's filesystem" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):341 #, no-wrap msgid "\n# mkdir /diskless/192.168.1.21/home\n# mkdir /diskless/192.168.1.21/dev\n# mkdir /diskless/192.168.1.21/proc\n# mkdir /diskless/192.168.1.21/tmp\n# mkdir /diskless/192.168.1.21/mnt\n# chmod a+w /diskless/192.168.1.21/tmp\n# mkdir /diskless/192.168.1.21/mnt/.initd\n# mkdir /diskless/192.168.1.21/root\n# mkdir /diskless/192.168.1.21/sys\n# mkdir /diskless/192.168.1.21/var\n# mkdir /diskless/192.168.1.21/var/empty\n# mkdir /diskless/192.168.1.21/var/lock\n# mkdir /diskless/192.168.1.21/var/log\n# mkdir /diskless/192.168.1.21/var/run\n# mkdir /diskless/192.168.1.21/var/spool\n# mkdir /diskless/192.168.1.21/usr\n# mkdir /diskless/192.168.1.21/opt\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):361 msgid "Most of these \"stubs\" should be recognizable to you; stubs like /dev, /proc or /sys will be populated when the slave starts, the others will be mounted later. You should also change the /diskless/192.168.1.21/etc/conf.d/hostname file to reflect the hostname of the slave. Binaries, libraries and other files will be populated later in this HOWTO right before you attempt to boot the slave." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):370 msgid "Even though /dev is populated by udev later on, you need to create the console entry. If not, you will receive the error \"unable to open initial console\"." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):376 msgid "Creating console entry in the /dev" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):376 #, no-wrap msgid "\n# mknod /diskless/192.168.1.21/dev/console c 5 1\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):385 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):459 msgid "Configuring the DHCP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):387 msgid "About the DHCP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):390 msgid "DHCP stands for Dynamic Host Configuration Protocol. The DHCP server is the first computer the slaves will communicate with when they PXE boot. The primary purpose of the DHCP server is to assign IP addresses. The DHCP server can assign IP addresses based on hosts ethernet MAC addresses. Once the slave has an IP address, the DHCP server will tell the slave where to get its initial file system and kernel." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):402 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):766 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):869 msgid "Before you get started" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):405 msgid "There are several things you will want to make sure are working before you begin. First check your network connectivity:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):410 msgid "Checking networking configurations" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):410 #, no-wrap msgid "\n# ifconfig eth0 multicast\n# ifconfig -a\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):415 msgid "You will want to make sure you have have an eth0 device running. It should look something like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):420 msgid "A properly working eth0 device" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):420 #, no-wrap msgid "\neth0 Link encap:Ethernet HWaddr 00:E0:83:16:2F:D6\n inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0\n UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1\n RX packets:26460491 errors:0 dropped:0 overruns:2 frame:0\n TX packets:32903198 errors:0 dropped:0 overruns:0 carrier:1\n collisions:0 txqueuelen:100\n RX bytes:2483502568 (2368.4 Mb) TX bytes:1411984950 (1346.5 Mb)\n Interrupt:18 Base address:0x1800\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):431 msgid "It's important that it says MULTICAST, if it doesn't then you will have to recompile your kernel to include multicast support." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):439 msgid "Installing the DHCP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):442 msgid "If your network does not already have a DHCP server installed you will need to install one:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):447 msgid "Installing the dhcp server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):447 #, no-wrap msgid "\n# emerge dhcp\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):451 msgid "If your network already has a DHCP server installed you will have to edit the configuration file to get the PXE boot to function correctly." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):462 msgid "There is only one configuration file you will have to edit before starting the DHCP server: /etc/dhcp/dhcpd.conf. Copy and edit the provided sample file:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):468 msgid "Editing the dhcp server's configuration file" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):468 #, no-wrap msgid "\n# cp /etc/dhcp/dhcpd.conf.sample /etc/dhcp/dhcpd.conf\n# nano -w /etc/dhcp/dhcpd.conf\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):473 msgid "The general layout of the file is set up in an indented fashion and looks like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):478 msgid "Sample dhcpd.conf layout" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):478 #, no-wrap msgid "\n# global options here\nddns-update-style none;\nshared-network LOCAL-NET {\n# shared network options here\nsubnet 192.168.1.0 netmask 255.255.255.0 {\n # subnet network options here\n host slave{\n # host specific options here\n }\n group {\n # group specific options here\n }\n}\n}\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):495 msgid "The shared-network block is optional and should be used for IPs you want to assign that belong to the same network topology. At least one subnet must be declared and the optional group block allows you to group options between items. A good example of dhcpd.conf looks like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):502 msgid "Sample dhcpd.conf" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):502 #, no-wrap msgid "\n#\n# Sample dhcpd.conf for diskless clients\n#\n\n# Disable dynamic DNS\nddns-update-style none;\n\n# Assume one default gateway for IP traffic will do\noption routers 192.168.1.1;\n\n# Provide DNS info to clients\noption domain-name-servers 192.168.1.1;\noption domain-name \"mydomain.com\";\n\n# Specify the TFTP server to be used\nnext-server 192.168.1.1;\n\n# Declare a vendor-specific option buffer for PXE clients:\n# Code 1: Multicast IP address of boot file server\n# Code 2: UDP port that client should monitor for MTFTP responses\n# Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests\n# Code 4: Number of seconds a client must listen for activity before trying\n# to start a new MTFTP transfer\n# Code 5: Number of seconds a client must listen before trying to restart\n# a MTFTP transfer\n\noption space PXE;\noption PXE.mtftp-ip code 1 = ip-address;\noption PXE.mtftp-cport code 2 = unsigned integer 16;\noption PXE.mtftp-sport code 3 = unsigned integer 16;\noption PXE.mtftp-tmout code 4 = unsigned integer 8;\noption PXE.mtftp-delay code 5 = unsigned integer 8;\noption PXE.discovery-control code 6 = unsigned integer 8;\noption PXE.discovery-mcast-addr code 7 = ip-address;\n\n# Declare the subnet where our diskless nodes will live\nsubnet 192.168.1.0 netmask 255.255.255.0 {\n\n # Provide PXE clients with appropriate information\n class \"pxeclient\" {\n match if substring(option vendor-class-identifier, 0, 9) = \"PXEClient\";\n vendor-option-space PXE;\n\n # At least one of the vendor-specific PXE options must be set in\n # order for the client boot ROMs to realize that we are a PXE-compliant\n # server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM\n # that we can't provide multicast TFTP.\n\n option PXE.mtftp-ip 0.0.0.0;\n\n # This is the name of the file the boot ROMs should download.\n filename \"pxelinux.0\";\n }\n\n # Provide Etherboot clients with appropriate information\n class \"etherboot\" {\n match if substring(option vendor-class-identifier, 0, 9) = \"Etherboot\";\n filename \"vmlinuz_arch\";\n }\n\n # Add one host declaration for each diskless host\n host slave21 {\n hardware ethernet 00:02:A5:04:3B:66;\n fixed-address 192.168.1.21;\n }\n}\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):571 msgid "There is nothing prohibiting the use of both PXE boot and Etherboot together. The above Code Listing is merely an example; if you have issues, please consult the DHCPd documentation." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):577 msgid "The IP address after next-server will be asked for the specified filename. This IP address should be the IP of the tftp server, usually the same as the master's IP address. The filename is relative to the /diskless directory (this is due to the tftp server specific options which will be covered later). Inside the host block, the hardware ethernet option specifies a MAC address, and fixed-address assigns a fixed IP address to that particular MAC address. There is a pretty good man page on dhcpd.conf with options that are beyond the scope of this HOWTO. You can read it by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):589 msgid "Viewing the man pages for dhcpd.conf" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):589 #, no-wrap msgid "\n# man dhcpd.conf\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):596 msgid "Starting the DHCP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):599 msgid "Before you start the dhcp initialisation script edit the /etc/conf.d/dhcp file so that it looks something like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):604 msgid "Sample /etc/conf.d/dhcp" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):604 #, no-wrap msgid "\nIFACE=\"eth0\"\n# insert any other options needed\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):609 msgid "The IFACE variable is the device you wish to run your DHCP server on, in our case eth0. Adding more arguments to the IFACE variable can be useful for a complex network topology with multiple Ethernet cards. To start the dhcp server type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):616 msgid "Starting the dhcp server on the master" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):616 #, no-wrap msgid "\n# /etc/init.d/dhcp start\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):620 msgid "To add the dhcp server to your start-up scripts type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):624 msgid "Adding the dhcp server to the master's default run level" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):624 #, no-wrap msgid "\n# rc-update add dhcp default\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):631 msgid "Troubleshooting the DHCP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):634 msgid "To see if a node boots you can take a look at /var/log/messages. If the node successfully boots, the messages file should have some lines at the bottom looking like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):640 msgid "Sample log file entries created by dhcp" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):640 #, no-wrap msgid "\nDHCPDISCOVER from 00:00:00:00:00:00 via eth0\nDHCPOFFER on 192.168.1.21 to 00:00:00:00:00:00 via eth0\nDHCPREQUEST for 192.168.1.21 from 00:00:00:00:00:00 via eth0\nDHCPACK on 192.168.1.21 to 00:00:00:00:00:00 via eth0\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):647 msgid "This log file can also help you discover the slaves' MAC addresses." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):651 msgid "If you get the following message it probably means there is something wrong in the configuration file but that the DHCP server is broadcasting correctly." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):656 msgid "Sample dhpc server error" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):656 #, no-wrap msgid "\nno free leases on subnet LOCAL-NET\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):660 msgid "Every time you change the configuration file you must restart the DHCP server. To restart the server type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):665 msgid "Restarting the dhcp server on the master" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):665 #, no-wrap msgid "\n# /etc/init.d/dhcpd restart\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):674 msgid "Configuring the TFTP server and PXE Linux Bootloader and/or Etherboot" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):676 msgid "About the TFTP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):679 msgid "TFTP stands for Trivial File Transfer Protocol. The TFTP server is going to supply the slaves with a kernel and an initial filesystem. All of the slave kernels and filesystems will be stored on the TFTP server, so it's probably a good idea to make the master the TFTP server." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):689 msgid "Installing the TFTP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):692 msgid "A highly recommended tftp server is available as the tftp-hpa package. This tftp server happens to be written by the author of SYSLINUX and it works very well with pxelinux. To install simply type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):698 msgid "Installing the tfp server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):698 #, no-wrap msgid "\n# emerge tftp-hpa\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):705 msgid "Configuring the TFTP server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):708 msgid "Edit /etc/conf.d/in.tftpd. You need to specify the tftproot directory with INTFTPD_PATH and any command line options with INTFTPD_OPTS. It should look something like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):714 msgid "Sample /etc/conf.d/in.tftpd" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):714 #, no-wrap msgid "\nINTFTPD_PATH=\"/diskless\"\nINTFTPD_OPTS=\"-l -v -s ${INTFTPD_PATH}\"\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):719 msgid "The -l option indicates that this server listens in stand alone mode so you don't have to run inetd. The -v indicates that log/error messages should be verbose. The -s /diskless specifies the root of your tftp server." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):729 msgid "Starting the the TFTP Server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):732 msgid "To start the tftp server type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):736 msgid "Starting the master's tftp server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):736 #, no-wrap msgid "\n# /etc/init.d/in.tftpd start\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):740 msgid "This should start the tftp server with the options you specified in the /etc/conf.d/in.tftpd. If you want this server to be automatically started at boot type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):746 msgid "Adding the tftp server to the master's default run level" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):746 #, no-wrap msgid "\n# rc-update add in.tftpd default\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):753 msgid "About PXELINUX" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):756 msgid "This section is not required if you are only using Etherboot. PXELINUX is the network bootloader equivalent to LILO or GRUB and will be served via TFTP. It is essentially a tiny set of instructions that tells the client where to locate its kernel and initial filesystem and allows for various kernel options." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):769 msgid "You will need to get the pxelinux.0 file which comes in the SYSLINUX package by H. Peter Anvin. You can install this package by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):774 msgid "Installing syslinux" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):774 #, no-wrap msgid "\n# emerge syslinux\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):781 msgid "Setting up PXELINUX" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):784 msgid "This isn't needed for Etherboot" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):788 msgid "Before you start your tftp server you need to setup pxelinux. First copy the pxelinux binary into your /diskless directory:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):793 msgid "Setting up the remote bootloader" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):793 #, no-wrap msgid "\n# cp /usr/share/syslinux/pxelinux.0 /diskless\n# mkdir /diskless/pxelinux.cfg\n# touch /diskless/pxelinux.cfg/default\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):799 msgid "This will create a default bootloader configuration file. The binary pxelinux.0 will look in the pxelinux.cfg directory for a file whose name is the client's IP address in hexadecimal. If it does not find that file it will remove the rightmost digit from the file name and try again until it runs out of digits. Versions 2.05 and later of syslinux first perform a search for a file named after the MAC address. If no file is found, it starts the previously mentioned discovery routine. If none is found, the default file is used." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):810 msgid "Files that PXE looks for in pxelinux.cfg/ in sequence" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):810 #, no-wrap msgid "\n(Leading 01 means Ethernet, next bytes match our slave's MAC address)\n01-00-40-63-c2-ca-c9\n\n(Assigned IP in hexadecimal)\nC0A80115\nC0A8011\nC0A801\nC0A80\nC0A8\nC0A\nC0\nC\n\ndefault\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):827 msgid "These are all in lowercase." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):831 msgid "Let's start with the default file:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):835 msgid "Sample pxelinux.cfg/default" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):835 #, no-wrap msgid "\nDEFAULT /bzImage\nAPPEND ip=dhcp root=/dev/nfs nfsroot=192.168.1.1:/diskless/192.168.1.21\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):840 msgid "The DEFAULT tag directs pxelinux to the kernel bzImage that we compiled earlier. The APPEND tag appends kernel initialisation options. Since we compiled the slave kernel with NFS_ROOT_SUPPORT, we will specify the nfsroot here. The first IP is the master's IP and the second IP is the directory that was created in /diskless to store the slave's initial filesystem." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):853 msgid "About Etherboot" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):856 msgid "This isn't required if you are using PXE boot." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):860 msgid "Etherboot boots network boot images from a TFTP server. As the PXE this is equivalent to LILO or GRUB. The mknbi utility enables you to create different images using different options." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):872 msgid "You will need to get the mknbi (utility for making tagged kernel images useful for netbooting) package to create your Etherboot images. This tool will create a preconfigured kernel image from your original kernel. This contains the boot options as shown further down." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):879 msgid "Installing mknbi" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):879 #, no-wrap msgid "\n# emerge mknbi\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):886 msgid "Setting up Etherboot" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):889 msgid "In this section we will create a simple etherboot image. As the dhcp server gives out the clients root-path in the \"option root-path\" dhcp.conf, we do not have to include this here. More details can be found in the mknbi manual." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):895 msgid "mknbi manual" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):895 #, no-wrap msgid "\n# man mknbi\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):899 msgid "Making the boot images. This will create a ELF bootable image capable of passing dhcp and the rootpath to the kernel. Also forcing the kernel to browse the network for a dhcp server." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):905 msgid "making netboot images" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):905 #, no-wrap msgid "\n# mkelf-linux -ip=dhcp /diskless/bzImage > /diskless/vmlinuz \n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):909 msgid "For the arch specific images you have to type bzImage_arch and vmlinuz_arch." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):917 msgid "Troubleshooting the network boot process" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):920 msgid "There are a few things you can do to debug the network boot process. Primarily you can use a tool called tcpdump. To install tcpdump type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):925 msgid "Installing tcpdump" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):925 #, no-wrap msgid "\n# emerge tcpdump\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):929 msgid "Now you can listen to various network traffic and make sure your client/server interactions are functioning. If something isn't working there are a few things you might want to check. First make sure that the client/server is physically connected properly and that the networking cables are not damaged. If your client/server is not receiving requests on a particular port make sure that there is no firewall interference. To listen to interaction between two computers type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):939 msgid "Listening to client and server interaction via tcpdump" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):939 #, no-wrap msgid "\n# tcpdump host client_ip and server_ip\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):943 msgid "You can also use tcpdump to listen on particular port such as the tftp port by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):948 msgid "Listening to the tftp server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):948 #, no-wrap msgid "\n# tcpdump port 69\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):952 msgid "A common error you might receive is: \"PXE-E32: TFTP open time-out\". This is probably due to firewall issues. If you are using TCPwrappers, you might want to check /etc/hosts.allow and etc/hosts.deny and make sure that they are configured properly. The client should be allowed to connect to the server." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):965 ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):1047 msgid "Configuring the NFS server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):967 msgid "About the NFS server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):970 msgid "NFS stands for Network File System. The NFS server will be used to serve directories to the slave. This part can be somewhat personalized later, but right now all we want is a preliminary slave node to boot diskless." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):979 msgid "About Portmapper" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):982 msgid "Various client/server services do not listen on a particular port, but instead rely on RPCs (Remote Procedure Calls). When the service is initialised it listens on a random port and then registers this port with the Portmapper utility. NFS relies on RPCs and thus requires Portmapper to be running before it is started." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):996 msgid "The NFS Server needs kernel level support so if you don't have this you should recompile your master's kernel. To double check your master's kernel configuration type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1002 msgid "Checking for NFS specific options" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1002 #, no-wrap msgid "\n# grep NFS /usr/src/linux/.config_master\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1006 msgid "You should see output that looks something like this if your kernel has been properly configured:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1011 msgid "Proper NFS specific options in the master's kernel configuration" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1011 #, no-wrap msgid "\nCONFIG_PACKET=y\n# CONFIG_PACKET_MMAP is not set\n# CONFIG_NETFILTER is not set\nCONFIG_NFS_FS=y\nCONFIG_NFS_V3=y\n# CONFIG_NFS_V4 is not set\n# CONFIG_NFS_DIRECTIO is not set\nCONFIG_NFSD=y\nCONFIG_NFSD_V3=y\n# CONFIG_NFSD_V4 is not set\n# CONFIG_NFSD_TCP is not set\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):1028 msgid "Installing the NFS server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1031 msgid "The NFS package that can be acquired through portage by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1035 msgid "Installing nfs-utils" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1035 #, no-wrap msgid "\n# emerge nfs-utils\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1039 msgid "This package will emerge a portmapping utility, nfs server, and nfs client utilities and will automatically handle initialisation dependencies." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1050 msgid "There are three major configuration files you will have to edit:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1054 msgid "Nfs configuration files" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1054 #, no-wrap msgid "\n/etc/exports\n/diskless/192.168.1.21/etc/fstab\n/etc/conf.d/nfs\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1060 msgid "The /etc/exports file specifies how, to who and what to export through NFS. The slave's fstab will be altered so that it can mount the NFS filesystems that the master is exporting." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1066 msgid "A typical /etc/exports for the master should look something like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1071 msgid "Sample master /etc/exports" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1071 #, no-wrap msgid "\n# one line like this for each slave\n/diskless/192.168.1.21 192.168.1.21(sync,rw,no_root_squash,no_all_squash)\n# common to all slaves\n/opt 192.168.1.0/24(sync,ro,no_root_squash,no_all_squash)\n/usr 192.168.1.0/24(sync,ro,no_root_squash,no_all_squash)\n/home 192.168.1.0/24(sync,rw,no_root_squash,no_all_squash)\n# if you want to have a shared log\n/var/log 192.168.1.21(sync,rw,no_root_squash,no_all_squash)\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1082 msgid "The first field indicates the directory to be exported and the next field indicates to who and how. This field can be divided in two parts: who should be allowed to mount that particular directory, and what the mounting client can do to the filesystem: ro for read only, rw for read/write; no_root_squash and no_all_squash are important for diskless clients that are writing to the disk, so that they don't get \"squashed\" when making I/O requests. The slave's fstab file, /diskless/192.168.1.21/etc/fstab, should look like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1093 msgid "Sample slave fstab" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1093 #, no-wrap msgid "\n# these entries are essential\nmaster:/diskless/192.168.1.21 / nfs sync,hard,intr,rw,nolock,rsize=8192,wsize=8192 0 0\nmaster:/opt /opt nfs sync,hard,intr,ro,nolock,rsize=8192,wsize=8192 0 0\nmaster:/usr /usr nfs sync,hard,intr,ro,nolock,rsize=8192,wsize=8192 0 0\nmaster:/home /home nfs sync,hard,intr,rw,nolock,rsize=8192,wsize=8192 0 0\nnone /proc proc defaults 0 0\n# useful but superfluous\nmaster:/var/log /var/log nfs hard,intr,rw 0 0\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1104 msgid "In this example, master is just the hostname of the master but it could easily be the IP of the master. The first field indicates the directory to be mounted and the second field indicates where. The third field describes the filesystem and should be NFS for any NFS mounted directory. The fourth field indicates various options that will be used in the mounting process (see mount(1) for info on mount options). Some people have had difficulties with soft mount points so we made them all hard, but you should look into various /etc/fstab options to make your cluster more efficient." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1115 msgid "The last file you should edit is /etc/conf.d/nfs which describes a few options for nfs when it is initialised and looks like this:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1120 msgid "Sample master /etc/conf.d/nfs" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1120 #, no-wrap msgid "\n# Config file for /etc/init.d/nfs\n\n# Number of servers to be started up by default\nRPCNFSDCOUNT=8\n\n# Options to pass to rpc.mountd\nRPCMOUNTDOPTS=\"\"\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1130 msgid "You should change RPCNFSDCOUNT to the number of diskless nodes on the network." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):1138 msgid "Starting the NFS server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1141 msgid "You should start the nfs server with its init script located in /etc/init.d by typing:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1146 msgid "Starting the master's nfs server" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1146 #, no-wrap msgid "\n# /etc/init.d/nfs start\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1150 msgid "If you want to this script to start when the system boots simply type:" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1154 msgid "Adding the nfs server to the master's default run level" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1154 #, no-wrap msgid "\n# rc-update add nfs default\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):1163 msgid "Completing the slave filesystem" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):1165 msgid "Copy the missing files" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1168 msgid "We will now make the slave's file system in sync with the master's and provide the necessary binaries while still preserving slave specific files." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1173 msgid "Creating a slave filesystem" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1173 #, no-wrap msgid "\n# rsync -avz /bin /diskless/192.168.1.21\n# rsync -avz /sbin /diskless/192.168.1.21\n# rsync -avz /lib /diskless/192.168.1.21\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):1179 msgid "The reason for rsync -avz instead of cp is to maintain symlinks and permissions." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):1186 msgid "Configure diskless networking" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1189 msgid "In order to prevent the networking initscript from killing the connection to your NFS server, you will need to add an option to /etc/conf.d/net on your diskless client's filesystem." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1195 msgid "Editing /etc/conf.d/net" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1195 #, no-wrap msgid "\n(Add this to the existing options for your diskless client's interface)\nconfig_eth0=( \"noop\" )\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(note):1200 msgid "For more information, please read /etc/conf.d/net.example." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(title):1207 msgid "Initialisation scripts" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1210 msgid "You need as many init scripts under /diskless/192.168.1.21/etc/runlevels as you need services on your diskless nodes. It all depends on what you want your slaves to do." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(warn):1216 msgid "Do not use the rc-update program to add or remove scripts from the slave runlevels when logged on your master. This would change your master runlevels. You need to create the links manually or log into your slave nodes using ssh or connect a screen and keyboard to your slave." msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre:caption):1223 msgid "Typical slave runlevels" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(pre):1223 #, no-wrap msgid "\n/diskless/192.168.1.21/etc/runlevels/:\ntotal 16\ndrwxr-xr-x 2 root root 4096 2003-11-09 15:27 boot\ndrwxr-xr-x 2 root root 4096 2003-10-01 21:10 default\ndrwxr-xr-x 2 root root 4096 2003-03-13 19:05 nonetwork\ndrwxr-xr-x 2 root root 4096 2003-02-23 12:26 single\n\n/diskless/192.168.1.21/etc/runlevels/boot:\ntotal 0\nlrwxrwxrwx 1 root root 20 2003-10-18 17:28 bootmisc -> /etc/init.d/bootmisc\nlrwxrwxrwx 1 root root 19 2003-10-18 17:28 checkfs -> /etc/init.d/checkfs\nlrwxrwxrwx 1 root root 17 2003-10-18 17:28 clock -> /etc/init.d/clock\nlrwxrwxrwx 1 root root 22 2003-10-18 17:28 domainname -> /etc/init.d/domainname\nlrwxrwxrwx 1 root root 20 2003-10-18 17:28 hostname -> /etc/init.d/hostname\nlrwxrwxrwx 1 root root 22 2003-10-18 17:28 localmount -> /etc/init.d/localmount\nlrwxrwxrwx 1 root root 19 2003-10-18 17:28 modules -> /etc/init.d/modules\nlrwxrwxrwx 1 root root 18 2003-10-18 17:28 net.lo -> /etc/init.d/net.lo\nlrwxrwxrwx 1 root root 20 2003-10-18 17:28 netmount -> /etc/init.d/netmount\nlrwxrwxrwx 1 root root 21 2003-10-18 17:28 rmnologin -> /etc/init.d/rmnologin\nlrwxrwxrwx 1 root root 19 2003-10-18 17:28 urandom -> /etc/init.d/urandom\n\n/diskless/192.168.1.21/etc/runlevels/default:\ntotal 0\nlrwxrwxrwx 1 root root 23 2003-10-18 17:28 consolefont -> /etc/init.d/consolefont\nlrwxrwxrwx 1 root root 19 2003-10-18 17:28 distccd -> /etc/init.d/distccd\nlrwxrwxrwx 1 root root 19 2003-10-18 17:28 keymaps -> /etc/init.d/keymaps\nlrwxrwxrwx 1 root root 17 2003-10-18 17:28 local -> /etc/init.d/local\nlrwxrwxrwx 1 root root 16 2003-10-18 17:28 sshd -> /etc/init.d/sshd\nlrwxrwxrwx 1 root root 21 2003-10-18 17:28 syslog-ng -> /etc/init.d/syslog-ng\nlrwxrwxrwx 1 root root 17 2003-10-18 17:28 vixie-cron -> /etc/init.d/vixie-cron\n\n/diskless/192.168.1.21/etc/runlevels/nonetwork:\ntotal 0\nlrwxrwxrwx 1 root root 17 2003-10-18 17:28 local -> /etc/init.d/local\n\n/diskless/192.168.1.21/etc/runlevels/single:\ntotal 0\n" msgstr "" #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(p):1263 msgid "Now is a good time to boot your slave and cross your fingers. It works? Congratulations, you are now the proud owner of (a) diskless node(s) :)" msgstr "" #. Place here names of translator, one per line. Format should be NAME; ROLE; E-MAIL #: ../../gentoo/xml/htdocs/doc/en//diskless-howto.xml(None):0 msgid "translator-credits" msgstr ""