Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated ramdisk size

...

toc
Table of Contents
minLevel
1
1
maxLevel2
outlinefalse
typelist
printablefalse

This section describes how to boot a cluster from the network using the Intel Preboot Execution Environment (PXE) specification. This booting process (commonly referred to as network booting) is supported by most NICs. PXE is one way to boot the storage cluster nodes.

Info

Platform Server

If using Legacy Swarm Platform Server, skip this section: the network booting is set up.

  • To enable nodes to boot from a USB flash drive, see Initializing a Storage Cluster.

  • To enable nodes to boot using a configuration file server, see the section below.

  • To enable nodes to PXE boot, perform these steps:

  1. Configure the DHCP server with next-server and filename parameters.

  2. Configure PortFast on the switch ports leading to the storage cluster nodes.

  3. Configure the TFTP server with PXE bootstrap, configuration, and Swarm files.

  4. Set up the nodes' BIOS configurations for network booting.

Info

Requirement

Increase the size of the initrd RAM disk to 160MB on the PXE boot server to prevent PXE boot failures. This does not apply if using Platform Server.

Setting

...

Up the DHCP

...

Server for PXE

...

Booting

Infonote

Warning

Swarm can erase all non-Swarm data on hosts that boot accidentally from the network. When setting up the DHCP server, verify it provides network booting information to the correct network hosts.

The following example shows the configuration lines from the Internet Systems Consortium (ISC) DHCP server that is commonly available on UNIX systems. As shown below, the The next-server parameter defines the IP address of the Trivial File Transfer Protocol (TFTP) server and the filename parameter to define the bootstrap loader program to download .as shown below:

Code Block
languagebash
group {

  next-server 172.16.1.10;

  filename "/pxelinux.0";
   # Hosts allowed to network boot into Swarm
   host clusternode1 { hardware ethernet 00:90:cb:bf:45:26; }
   host clusternode2 { hardware ethernet 00:90:b2:92:09:e4; }
   host clusternode3 { hardware ethernet 00:90:0d:46:7a:b4; }
   }

In this example, the The Swarm nodes are explicitly defined by MAC address to prevent Swarm from initiating an unattended boot by other servers or workstations in this example.

Configuring PortFast on

...

Switch Ports

PortFast is a switch port configuration parameter that enables a port to bypass the listening and learning Spanning Tree states so the port immediately forwards traffic.

If a storage cluster node is connected to a network switch, verify Verify PortFast is configured on the switch ports leading to each node if a storage cluster node . Otherwise, the is connected to a network switch. The extended time delay can prevent netboot from delivering the Swarm image to a PXE-enabled node in a timely manner if this condition is not met.

Configuring the TFTP

...

Server

The TFTP server transfers configuration or boot files between systems in a local environment. After configuring the DHCP server, configure Configure the TFTP server to load the Swarm software onto the cluster nodes after configuring the DHCP server.

To set up the TFTP server:

  1. Install and configure TFTP server software on the boot server.

  2. Create the /tftpboot directory hierarchy.

  3. Copy the kernel and fsimage files to the /tftpboot/profiles/castor directory.

See DHCP and Boot Server Redundancy, https://perifery.atlassian.net/wiki/spaces/public/pages/2443808626/Setting+Up+PXE+Booting#DHCP-and-Boot-Server-Redundancy%5BinlineExtension%5D below.

Installing and

...

Configuring TFTP

TFTP server software is available in both free and commercial packages. UNIX distributions commonly include TFTP server software with the standard setup. For example, the The tftp-hpa package for UNIX can integrate with Swarm. Source code can be obtained from the Linux Kernel Archives website located at kernel.org/pub/software/network/tftp.

TFTP server software is also available as a binary package in many Linux distributions.

Creating the tftpboot

...

Directory Hierarchy

Configure the server to access the network boot file directory after installing the TFTP server. This directory is typically labeled /tftpboot because TFTP is almost exclusively used for booting network devices.

A sample template is included in the samples/NetworkBoot directory of the Swarm software distribution.

Copying

...

Kernel and fsimage

The Swarm software distribution media includes the kernel and fsimage files, which contain the Swarm embedded operating system. Copy these files to the tftpboot/profiles/castor directory on the TFTP server so they load onto each Swarm node during bootup.

After copying the directory template and the Swarm software files, the The tftpboot directory on the TFTP server should contain these files after copying the directory template and the Swarm software files:

File

name

Name

Description

tftpboot/pxelinux.0

Boot loader program

tftpboot/profiles/castor/fsimage

Swarm software

tftpboot/profiles/castor/kernel

Swarm operating system kernel

tftpboot/pxelinux.cfg/default

PXELINUX configuration file

See the documentation and ZIP file in the samples/Network-Boot directory on the Swarm distribution media for help with using the PXELINUX boot loader.

DHCP and

...

Boot Server Redundancy
Anchor
DHCP
DHCP

When setting up the DHCP server, configure Configure both a primary and secondary DHCP server when setting up the DHCP server. This configuration eliminates a single point of failure if one of the servers goes offline for any reason.

  • To set up the ISC DHCP daemon for redundancy, see See "Failover with ISC DHCP" at madboa.com/geek/dhcp-failover to set up the ISC DHCP daemon for redundancy.

  • To provide redundancy at the network booting layer, use the Use the primary and secondary DHCP servers as TFTP servers to provide redundancy at the network booting layer.
    When setting up the DHCP servers, set Set the next-server parameter in each server to specify a separate IP address when setting up the DHCP servers. When the primary or secondary DHCP server handles the PXE boot when it answers a DHCP query, it also handles the PXE boot.

  • To prevent any network interruptions, verify Verify the TFTP boot servers are located in the same broadcast domain (or VLAN) as the Swarm nodes or enable a DHCP relay server on the VLAN to prevent any network interruptions.

Setting

...

Up a Configuration File Server

Info

Platform Server

If using Platform Server, skip this sectionSkip this section if using Legacy Swarm Platform: the centralized configuration is set up.

Swarm supports centralized node configuration files on an HTTP or FTP server. This method allows booting from a network or a standard USB flash drive. A centralized configuration file server simplifies storage cluster administration by supporting configuration file updates and providing a method to group similar node configurations together.

To implement a configuration file server, set Set the value of the castor_cfg kernel configuration parameter to a URL that targets the configuration list file , to implement a configuration file server as described below.

PXE

...

Boot Example

This is an example PXELINUX configuration file located in the tftpboot/pxelinux.cfg directory on the TFTP boot server.

Code Block
languagebash
default profiles/castor/kernel
append initrd=profiles/castor/fsimage ramdisk_size=160000 root190000 root=/dev/ram0 
	castor_cfg=http://172.16.1.200/castor/cfg-list.txt

USB

...

Boot Loader Example

This is an example section of the syslinux.cfg located in the root directory on the USB flash drive.:

Code Block
languagebash
label normal
	kernel kernel
	append initrd=fsimage ramdisk_size=160000190000 root=/dev/ram0 
		castor_cfg=http://172.16.1.200/castor/cfg-list.txt

Configuration

...

List file example

The castor_cfg kernel configuration parameter specifies a file containing a list of URLs for all configuration files to be loaded by a Swarm node. Swarm configuration files are evaluated in the order in which they are listed in the configuration list file.

...

See the /caringo/node.cfg.sample in the Swarm software distribution.

See Managing Configuration Settings.

Disabling

...

Monitor Power-Saving Activation

Add the following kernel option to the APPEND line in either the syslinux.cfg file on the Swarm USB key or in the PXE boot configuration file .When enabled, this to disable the monitor power-saving feature from activating while connected to a Swarm storage node.

This parameter tells the kernel to stop blanking the console when enabled:

Code Block
languagebash
consoleblank=0

This feature defaults to 10 minutes. A value of 0 disables the blank timer. Listed below are examples.:

PXE

...

Boot Example

This is a PXELINUX configuration file from the tftpboot/pxelinux.cfg directory on the TFTP boot server with the console power saver disabled.

Code Block
languagebash
default profiles/castor/kernel
append initrd=profiles/castor/fsimage consoleblank=0 ramdisk_size=160000190000 root=/dev/ram0 
	castor_cfg=http://172.16.1.200/castor/cfg-list.txt

USB

...

Boot Loader Example

This is a section of the syslinux.cfg contained in the root directory on the USB flash drive with the console power savings disabled.

Code Block
languagebash
label normal
	kernel kernel
	append initrd=fsimage consoleblank=0 ramdisk_size=160000190000 root=/dev/ram0 
		castor_cfg=http://172.16.1.200/castor/cfg-list.txt

...