TFTP

Schéma de base

digraph "arch" {
 subgraph cluster_client {
  label="Client 1";
  "client_dhcp"[label="Client DHCP"];
  "client_tftp"[label="Client TFTP"];
 }
 subgraph cluster_client4 {
  label="Client 2";
  "client2_dhcp"[label="Client DHCP"];
  "client2_tftp"[label="Client TFTP"];
 }
 subgraph cluster_chassis {
  label="Chassis Switch";
  "switch_relay"[label="Opt82 Relay to first server"];
 }
 subgraph cluster_chassis2 {
  label="Chassis Switch 2";
  "switch_relay2"[label="Opt82 Relay to second server"];
 }
 subgraph cluster_islet_switch {
   label="Islet Switch"
  "islet_router"[label="Router"];
 }
 subgraph cluster_islet_switch2 {
   label="Islet 2 Switch"
  "islet_router2"[label="Router"];
 }
 subgraph cluster_top_switch {
   label="Top Switch"
  "top_switch"[label="Switch"];
 }
 subgraph cluster_dhcp_server1 {
   label="Server 1"
  "server1_dhcp"[label="dhcpd"];
  "server1_tftp"[label="tftp.in"];
 }
 subgraph cluster_dhcp_server2 {
   label="Server 2"
  "server2_dhcp"[label="dhcpd"];
  "server2_tftp"[label="tftp.in"];
 }

  "client_dhcp" -> "switch_relay"[label="brodcast",color=green];
  "client2_dhcp" -> "switch_relay2"[label="brodcast",color=red];
  "switch_relay" -> "islet_router"[label="unicast",color=green];
  "switch_relay2" -> "islet_router2"[label="unicast",color=red];
  "islet_router" -> "top_switch"[label="unicast",color=green];
  "islet_router2" -> "top_switch"[label="unicast",color=red];
  "top_switch" -> "server1_dhcp"[label="unicast",color=green];
  "top_switch" -> "server2_dhcp"[label="unicast",color=red];
  client2_tftp -> server2_tftp[label="next-server is tftp2", color=blue]
  client_tftp -> server1_tftp[label="next-server is tftp1", color=blue]
}

Description

The TFTP servers will be used above all by the PXE clients during the boot phase. We therefore recommend to partition the TFTP servers via the configuration of the DHCP servers.We suggest to co-locate the TFTP and the DHCP servers and to allow for static load balancing thanks to a static DHCP configuration (via confiture).

The servers are configured via system sockets and in.tptpd, which are provided by the tftp-server package. The data will be stored on Gluster.