Difference between revisions of "Machine/bender"

From Sugar Labs
Jump to navigation Jump to search
Line 30: Line 30:
 
There is a traffic shaper, but it may have trouble shaping 6to4 traffic.
 
There is a traffic shaper, but it may have trouble shaping 6to4 traffic.
  
Bender is globally accessible through public, static IPv4 as well as the 6to4 subnet associated
+
Bender is globally accessible through public, static IPv4 address.
to it: 2002:5395:9edc::/48.
 
 
 
The tun6to4 interface on bender is assigned the globally visible address 2002:5395:9edc::1.
 
The subnet 2002:5395:9edc:1::/64 of our 6to4 net is assigned to the bridge virbr0, which binds together
 
several virtual interfaces connected to the libvirt guests. With this network setup, IPv6 routing works
 
naturally, without the need to add any special routing rules on bender.
 
  
 
The virbr0 bridge is created by libvirt on startup with <code>/etc/libvirt/qemu/networks/default.xml</code>.
 
The virbr0 bridge is created by libvirt on startup with <code>/etc/libvirt/qemu/networks/default.xml</code>.
Line 43: Line 37:
 
  ip addr add 2002:5395:9edc:1::1/64 dev virbr0
 
  ip addr add 2002:5395:9edc:1::1/64 dev virbr0
  
To automatically configure network and on the gursts, Bender also runs radvd, the IPv6 Routing Advertisement
+
To automatically configure network and on the guests, Bender also runs radvd, the IPv6 Routing Advertisement
 
daemon. The contents of <code>/etc/radvd.conf</code> are:
 
daemon. The contents of <code>/etc/radvd.conf</code> are:
  
Line 64: Line 58:
  
 
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.
 
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.
 
  
 
== Hosted VMs ==
 
== Hosted VMs ==

Revision as of 20:55, 2 July 2021

Hostnames

  • bender.sugarlabs.org

Hardware

  • HPE ProLiant DL360 Gen10 1RU server
    • Dual socket, current configuration has one CPU
  • Xeon Gold 5218R
    • 20 cores/40 threads
    • 2.1GHz base frequency, 4.0GHz max turbo frequency
    • 27.5MB of cache
  • 64GB RAM
  • 2TB NVMe SSD
  • Ubuntu 20.04.2 LTS

Info

Owned by Sugar Labs, Inc. Hosted by Sonic in Santa Rosa, CA

Bender and Papert are two twin KVM hosts bought by Sugar Labs in 2021.

Admins

Network configuration

Develer has a 10mbit up/downlink and asks to limit bandwidth usage from hosted services. There is a traffic shaper, but it may have trouble shaping 6to4 traffic.

Bender is globally accessible through public, static IPv4 address.

The virbr0 bridge is created by libvirt on startup with /etc/libvirt/qemu/networks/default.xml. Libvirt does not yet support assigning IPv6 addresses to bridges, therefore we do this in /etc/rc.local:

ip addr add 2002:5395:9edc:1::1/64 dev virbr0

To automatically configure network and on the guests, Bender also runs radvd, the IPv6 Routing Advertisement daemon. The contents of /etc/radvd.conf are:

interface virbr0
{
       IgnoreIfMissing on;
       AdvSendAdvert on;
       MinRtrAdvInterval 30;
       MaxRtrAdvInterval 100;
       AdvDefaultPreference low;
       AdvHomeAgentFlag off;
       
       #bernie: subnet 1 of our /48 6to4 on Develer Consiagnet
       prefix 2002:5395:9edc:1::1/64
       {
               AdvOnLink on;
               AdvAutonomous on;
       };
};

Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.

Hosted VMs

All buildslaves currently run off bender as KVM virtual machines managed by libvirtd.

The machines are not globally addressable on IPv4 and are only reachable by IPv6. The IPv6 address is dynamically configured by radvd to a subnet of the public 6to4 net.

All the VMs are in /srv/images. See the README in the same directory.

They have been created with

virt-install --name buildslave-name --ram 512 \
--disk path=/srv/images/buildslave-name.img,size=10
--network network:default \
--location "mirror-http-address" \
--extra-args="console=tty0 console=ttyS0,115200n8 serial"