<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bernie</id>
	<title>Sugar Labs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bernie"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Bernie"/>
	<updated>2026-04-28T13:11:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/backup&amp;diff=104279</id>
		<title>Service/backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/backup&amp;diff=104279"/>
		<updated>2024-07-02T20:09:53Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Locations ==&lt;br /&gt;
&lt;br /&gt;
* /backup on [[Machine/papert]]: daily filesystem backups for [[Machine/bender]] and [[Machine/sunjammer]]&lt;br /&gt;
* /backup on [[Machine/bender]]: daily filesystem backups for all VMs hosted on [[Machine/papert]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
&lt;br /&gt;
== wizbackup ==&lt;br /&gt;
&lt;br /&gt;
* [https://codewiz.org/gitweb/wizbackup.git Source code]&lt;br /&gt;
* [https://codewiz.org/gitweb/wizbackup.git/blob/HEAD:/README.md README]&lt;br /&gt;
&lt;br /&gt;
This is the main backup script for all [[Machine|Sugar Labs Machines]]. It&#039;s a minimalist script based on rsync and keeps a history of N days using hard-links. While it&#039;s very very simple, wizbackup gets the job done and has the added benefit of not requiring any tools to read or restore a backup. The advantage over similar backup solution is that backups are just plain filesystem snapshots of the source machines; the main disadvantage is poor performance with large files which change often, such as logs or databases (my solution is to exclude these and backup the data using ad-hoc methods, such as SQL dumps).&lt;br /&gt;
&lt;br /&gt;
The `wizbackup-driver` script runs daily on the backup servers from `/etc/cron.daily/wizbackup`.&lt;br /&gt;
It reads a list of hostnames to backup from `/backup/HOSTS/&amp;lt;machine-group-name&amp;gt;` and an optional list of files exclusions from `/backup/EXCLUDES`, in the same format taken by the `--exclude` flag of rsync.&lt;br /&gt;
&lt;br /&gt;
For each machine in the list, `wizbackup-driver` invokes `wizbackup` with this command-line:&lt;br /&gt;
&lt;br /&gt;
  wizbackup &amp;lt;hostname&amp;gt;:/ &amp;lt;local-backup-dir&amp;gt; --exclude-file /backup/EXCLUDE/ALWAYS --exclude-file /backup/EXCLUDE/&amp;lt;hostname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wizbackup uses rsync and ssh to connect to the remote machine. Hence, the backup server must be authorized to connect as root to all backup hosts (e.g.: by storing the identity in `/root/.ssh/authorized_keys`). Wizbackup reads the ssh private key from `/etc/wizbackup/ssh_id`).&lt;br /&gt;
&lt;br /&gt;
[[Category:Service|zzz]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104278</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104278"/>
		<updated>2024-07-01T22:12:29Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Info ==&lt;br /&gt;
Bender and [[Machine/papert | Papert]] are two twin blade servers donated to Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
Bender is our primary KVM host, while Papert is a hot standby and [[Service/backup|backup]] machine.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
* papert.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], @bernie:matrix.org on Sugar Systems&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104277</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104277"/>
		<updated>2024-07-01T22:12:10Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Info ==&lt;br /&gt;
Bender and [[Machine/papert | Papert]] are two twin blade servers donated to Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
Bender is our primary KVM host, while Papert is a hot standby and [[Service/backup backup]] machine.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
* papert.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], @bernie:matrix.org on Sugar Systems&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104276</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104276"/>
		<updated>2024-07-01T22:09:34Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
&lt;br /&gt;
Bender and [[Machine/papert | Papert]] are two twin blade servers donated to Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], @bernie:matrix.org on Sugar Systems&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104275</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104275"/>
		<updated>2024-07-01T22:08:42Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
&lt;br /&gt;
Bender and [[Machine/papert | Papert]] are two twin KVM hosts donated to Sugar Labs in 2021 and hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], @bernie:matrix.org on Sugar Systems&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104274</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104274"/>
		<updated>2024-07-01T22:07:04Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts donated to Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], @bernie:matrix.org on Sugar Systems&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104273</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104273"/>
		<updated>2024-07-01T22:05:54Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts donated to Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], @bernie:matrix.org on Sugar Systems&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104272</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104272"/>
		<updated>2024-07-01T22:04:37Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts bought by Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], bernie on #sugar Libera.chat IRC network&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104271</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104271"/>
		<updated>2024-07-01T22:04:17Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts bought by Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], bernie on #sugar Libera.chat IRC network&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Usable IPv4 addresses: 192.184.220.210 ~ 192.184.220.222 (13 addresses)&lt;br /&gt;
* Subnet Mask:     255.255.255.240&lt;br /&gt;
* Default Gateway: 192.184.220.209&lt;br /&gt;
* DNS:             8.8.8.8, 8.8.4.4&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
```NOTE```: avoid allocating large VM volumes as image file within the host&#039;s root filesystem, as they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/papert&amp;diff=104270</id>
		<title>Machine/papert</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/papert&amp;diff=104270"/>
		<updated>2024-07-01T22:03:19Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;  Hot standby of Machine/bender with identical hardware configuration.  To be used only for Service/backup of all live services.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hot standby of [[Machine/bender]] with identical hardware configuration.&lt;br /&gt;
&lt;br /&gt;
To be used only for [[Service/backup]] of all live services.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/backup&amp;diff=104269</id>
		<title>Service/backup</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/backup&amp;diff=104269"/>
		<updated>2024-07-01T22:01:32Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Locations ==&lt;br /&gt;
&lt;br /&gt;
* /backup on [[Machine/papert]]: daily filesystem backups for [[Machine/bender]] and [[Machine/sunjammer]]&lt;br /&gt;
* /backup on [[Machine/bender]]: daily filesystem backups for all VMs hosted on [[Machine/papert]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
&lt;br /&gt;
== wizbackup ==&lt;br /&gt;
&lt;br /&gt;
* [https://codewiz.org/gitweb/wizbackup.git Source code]&lt;br /&gt;
* [https://codewiz.org/gitweb/wizbackup.git/blob/HEAD:/INSTALL Installation instructions]&lt;br /&gt;
&lt;br /&gt;
This is the main backup script for all [[Machine|Sugar Labs Machines]]. It&#039;s a minimalist script based on rsync and keeps a history of N days using hard-links. While it&#039;s very very simple, wizbackup gets the job done and has the added benefit of not requiring any tools to read or restore a backup. The advantage over similar backup solution is that backups are just plain filesystem snapshots of the source machines; the main disadvantage is poor performance with large files which change often, such as logs or databases (my solution is to exclude these and backup the data using ad-hoc methods, such as SQL dumps).&lt;br /&gt;
&lt;br /&gt;
The `wizbackup-driver` script runs daily on the backup servers from `/etc/cron.daily/wizbackup`.&lt;br /&gt;
It reads a list of hostnames to backup from `/backup/HOSTS/&amp;lt;machine-group-name&amp;gt;` and an optional list of files exclusions from `/backup/EXCLUDES`, in the same format taken by the `--exclude` flag of rsync.&lt;br /&gt;
&lt;br /&gt;
For each machine in the list, `wizbackup-driver` invokes `wizbackup` with this command-line:&lt;br /&gt;
&lt;br /&gt;
  wizbackup &amp;lt;hostname&amp;gt;:/ &amp;lt;local-backup-dir&amp;gt; --exclude-file /backup/EXCLUDE/ALWAYS --exclude-file /backup/EXCLUDE/&amp;lt;hostname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wizbackup uses rsync and ssh to connect to the remote machine. Hence, the backup server must be authorized to connect as root to all backup hosts (e.g.: by storing the identity in `/root/.ssh/authorized_keys`). Wizbackup reads the ssh private key from `/etc/wizbackup/ssh_id`).&lt;br /&gt;
&lt;br /&gt;
[[Category:Service|zzz]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/sunjammer&amp;diff=104268</id>
		<title>Machine/sunjammer</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/sunjammer&amp;diff=104268"/>
		<updated>2024-07-01T21:17:17Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Sunjammer.jpg|right|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
&lt;br /&gt;
This is our development and community shell server, also running a number of first-tier&lt;br /&gt;
web services.&lt;br /&gt;
&lt;br /&gt;
== Services ==&lt;br /&gt;
&lt;br /&gt;
The following services are hosted on sunjammer:&lt;br /&gt;
&lt;br /&gt;
* [[Service/email]]&lt;br /&gt;
* [[Service/shell]]&lt;br /&gt;
* [[Service/imap]]&lt;br /&gt;
* [[Service/smtp]]&lt;br /&gt;
* [[Service/lists]]&lt;br /&gt;
* [[Service/wiki]]&lt;br /&gt;
* ...countless others...&lt;br /&gt;
&lt;br /&gt;
== Sysadmin procedures ==&lt;br /&gt;
&lt;br /&gt;
The following sysamin procedures apply to sunjammer:&lt;br /&gt;
&lt;br /&gt;
* [[Sysadmin/User management]]&lt;br /&gt;
* [[Sysadmin/Add shell account]]&lt;br /&gt;
* [[Sysadmin/Content Delivery Network]]&lt;br /&gt;
* [[Sysadmin/Quota]]&lt;br /&gt;
* [[Sysadmin/SSL Certificates]]&lt;br /&gt;
&lt;br /&gt;
See [[Infrastructure_Team/Resources]] for the complete list of our sysadmin procedures.&lt;br /&gt;
&lt;br /&gt;
See &amp;lt;tt&amp;gt;/root/memo&amp;lt;/tt&amp;gt; on sunjammer for local sysadmin procedures that have not yet been converted to wiki pages.&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
Sunjammer is a XEN domU running on [cloud9.fsf.org].&lt;br /&gt;
&lt;br /&gt;
The dom0 is hosted by the [https://www.fsf.org/ Free Software Foundation] at their current colo.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-xenial)&lt;br /&gt;
* AMD Opteron 62xx class (6) @ 2.100GHz&lt;br /&gt;
* 6 CPU Cores &lt;br /&gt;
* 8GB RAM&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.siliconmechanics.com Silicon Mechanics] [http://www.siliconmechanics.com/i7288/opteron-server.php Rackform nServ A266].&lt;br /&gt;
* 2.4GHz quad-core Opteron&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
* 1 Gbit global IPv4 through FSF&#039;s BGP router&lt;br /&gt;
* 1 Gbit global IPv6 (6to4)&lt;br /&gt;
* 1GbE crosslink to [[Machine/treehouse]]&lt;br /&gt;
&lt;br /&gt;
== Backups ==&lt;br /&gt;
&lt;br /&gt;
Live incremental backup of all filesystems pulled daily by [[Machine/freedom]].&lt;br /&gt;
&lt;br /&gt;
* sunjammer.sugarlabs.org:/backup/sunjammer/&lt;br /&gt;
&lt;br /&gt;
We keep 4 months of backup history using hard-links.&lt;br /&gt;
&lt;br /&gt;
We also used perform a daily system-remote-backup to [[Machine/backup]], but we no longer have access to this account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT CONTACT THE ADMINS DIRECTLY FOR SUPPORT - Use the &amp;quot;Sugar Systems&amp;quot; group chat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Admins with root access:&lt;br /&gt;
&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], &#039;&#039;&#039;aperezbios&#039;&#039;&#039; on [https://chat.sugarlabs.org/ #sugar] Freenode&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]] (emeritus)&lt;br /&gt;
* [[User:Srevin03|Srevin Saju]], &#039;&#039;&#039;srevinsaju&#039;&#039;&#039; on [https://chat.sugarlabs.org/ #sugar] Freenode&lt;br /&gt;
&lt;br /&gt;
Admins with physical access:&lt;br /&gt;
&lt;br /&gt;
* FSF Sysadmin RT &amp;lt;sysadmin &#039;&#039;at&#039;&#039; fsf.org&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/cas&amp;diff=104267</id>
		<title>Service/cas</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/cas&amp;diff=104267"/>
		<updated>2024-07-01T21:10:17Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/cas to Obsolete Service/cas: obsolete&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Obsolete Service/cas]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/cas&amp;diff=104266</id>
		<title>Obsolete Service/cas</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/cas&amp;diff=104266"/>
		<updated>2024-07-01T21:10:17Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/cas to Obsolete Service/cas: obsolete&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Not in service; the name cas.sugarlabs.org is non-existent.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* https://cas.sugarlabs.org/&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/jita]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
cas AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
For non-emergency calls, preferably send email to the administrative contact.&lt;br /&gt;
&lt;br /&gt;
* [[User:alsroot|Aleksey Lim]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/rubycas-server/ CAS] server to handle SL common login using [http://ldap.sugarlabs.org ldap.sugarlabs.org] as a source of users directory.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Home&lt;br /&gt;
|{{Code|/srv/cas}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Logs&lt;br /&gt;
|{{Code|/srv/gitorious/app/log}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Config&lt;br /&gt;
|&lt;br /&gt;
{{Code|/etc/rubycas-server/config.yml}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/httpd/conf.d/cas.sugarlabs.org.conf}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/logrotate.d/cas}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | SSL certificates&lt;br /&gt;
|&lt;br /&gt;
{{Code|/etc/ssl/private/cas.sugarlabs.org.key}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/ssl/certs/cas.sugarlabs.org.pem}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Sources&lt;br /&gt;
| http://git.sugarlabs.org/sl-tweaks/rubycas-server&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Configuration links:&lt;br /&gt;
* [https://code.google.com/p/rubycas-server/wiki/QuickStart QuickStart]&lt;br /&gt;
&lt;br /&gt;
== Upgrade notes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | git&lt;br /&gt;
|&lt;br /&gt;
{{Code|/srv/cas}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[[CAS Sites]] (Services to integrate in CAS).&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/www&amp;diff=104265</id>
		<title>Service/www</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/www&amp;diff=104265"/>
		<updated>2024-06-28T04:51:10Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
The SugarLabs front page. &lt;br /&gt;
&lt;br /&gt;
Managed with the Jekyll CMS, it contains static articles describing the project.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* https://www.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[https://pages.github.com/ GitHub Pages]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
marketing AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
Send email to the systems sugar labs list.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The website is hosted from sugarlabs.github.io (GitHub Pages). The website will be automatically refreshed on every commit to &lt;br /&gt;
its [https://github.com/sugarlabs/www-sugarlabs Github Repository]. For more information on how the GitHub Jekyll website builder &lt;br /&gt;
works, see https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll .&lt;br /&gt;
&lt;br /&gt;
[[Category:Service|www]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Machine/trinity&amp;diff=104254</id>
		<title>Obsolete Machine/trinity</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Machine/trinity&amp;diff=104254"/>
		<updated>2024-06-05T22:12:26Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Machine/trinity to Obsolete Machine/trinity without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trinity ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Trinity-rack-at-Develer.jpg|right|320px]]&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* 4U Supermicro&lt;br /&gt;
* Core 2 Duo 2.13GHz&lt;br /&gt;
* 4GB RAM&lt;br /&gt;
* 4x750GB RAID5, 4x250GB RAID5&lt;br /&gt;
* Fedora 11 i586&lt;br /&gt;
&lt;br /&gt;
=== Location ===&lt;br /&gt;
Hosted by [http://www.develer.com/ Develer]&lt;br /&gt;
&lt;br /&gt;
=== Admins ===&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], _bernie on #sugar Freenode&lt;br /&gt;
* Stefano Fedrigo &amp;lt;aleph AT develer.com&amp;gt;, sometimes _aleph on Freenode (local access, office hours CET)&lt;br /&gt;
* Develer Infrastructure &amp;lt;it AT lists.develer.com&amp;gt; (local access, office hours CET)&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Infrastructure_Team/Resources&amp;diff=104253</id>
		<title>Infrastructure Team/Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Infrastructure_Team/Resources&amp;diff=104253"/>
		<updated>2024-06-05T22:11:18Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TeamHeader|Infrastructure Team}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{TOCright|limit=2}}&lt;br /&gt;
&lt;br /&gt;
== Monitoring tools ==&lt;br /&gt;
&lt;br /&gt;
* [https://munin.sugarlabs.org/ Server monitoring (Munin)]&lt;br /&gt;
* [https://stats.sugarlabs.org/ Web Traffic (AWStats)]&lt;br /&gt;
* [https://www.google.com/analytics/settings/ Web Traffic (Google Analytics)]&lt;br /&gt;
* [https://mirrors.sugarlabs.org/ Download Mirrors (Mirmon)]&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/server-status Sunjammer Apache info]&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/server-info Sunjammer Apache status]&lt;br /&gt;
&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/apc.php Sunjammer APC cache status]&lt;br /&gt;
&lt;br /&gt;
* [https://activities.sugarlabs.org/en-US/statistics activities.sugarlabs.org access statistics]&lt;br /&gt;
* [https://wiki.sugarlabs.org/go/Special:Statistics wiki.sugarlabs.org access statistics]&lt;br /&gt;
&lt;br /&gt;
* [https://planet.sugarlabs.org/validate.html Sugar Planet feed validator]&lt;br /&gt;
* [https://www.ssllabs.com/ssldb/analyze.html?d=www.sugarlabs.org SSL validator]&lt;br /&gt;
&lt;br /&gt;
== Public services ==&lt;br /&gt;
{{Special:PrefixIndex/Service/}}&lt;br /&gt;
&lt;br /&gt;
== Sysadmin procedures ==&lt;br /&gt;
{{Special:PrefixIndex/Sysadmin/}}&lt;br /&gt;
&lt;br /&gt;
== Machines ==&lt;br /&gt;
{{Special:PrefixIndex/Machine/}}&lt;br /&gt;
&lt;br /&gt;
== Obsolete services ==&lt;br /&gt;
{{Special:PrefixIndex/Obsolete Service/}}&lt;br /&gt;
&lt;br /&gt;
== Obsolete machines ==&lt;br /&gt;
{{Special:PrefixIndex/Obsolete Machine/}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Sugarlabs systems.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Resource]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/jita&amp;diff=104252</id>
		<title>Machine/jita</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/jita&amp;diff=104252"/>
		<updated>2024-06-05T22:10:30Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Machine/jita to Obsolete Machine/jita&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Obsolete Machine/jita]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Machine/jita&amp;diff=104251</id>
		<title>Obsolete Machine/jita</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Machine/jita&amp;diff=104251"/>
		<updated>2024-06-05T22:10:30Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Machine/jita to Obsolete Machine/jita&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* http://jita.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* KVM VM&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/justice|Justice]]&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
&lt;br /&gt;
* [[User:alsroot|Aleksey Lim]] (emeritus)&lt;br /&gt;
* [[User:Scg|Samuel Cantero]], &#039;&#039;&#039;scg&#039;&#039;&#039; on [http://chat.sugarlabs.org/ #sugar] (emeritus)&lt;br /&gt;
* Sebastian Silva - Icarito (emeritus)&lt;br /&gt;
&lt;br /&gt;
== Backups ==&lt;br /&gt;
* Daily backups on our backup server.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Directory usage:&lt;br /&gt;
&lt;br /&gt;
* {{Code|/srv/&amp;lt;app&amp;gt;}} directories with installed applications&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/bugs&amp;diff=104250</id>
		<title>Service/bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/bugs&amp;diff=104250"/>
		<updated>2024-06-05T22:08:10Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/bugs to Obsolete Service/bugs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Obsolete Service/bugs]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/bugs&amp;diff=104249</id>
		<title>Obsolete Service/bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/bugs&amp;diff=104249"/>
		<updated>2024-06-05T22:08:10Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/bugs to Obsolete Service/bugs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
A [http://trac.edgewall.org/ Trac] instance for keeping track of bugs in upstream Sugar components, some activities and Rainbow.&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* http://bugs.sugarlabs.org/&lt;br /&gt;
* http://bugs-testing.sugarlabs.org/&lt;br /&gt;
* http://bugs-devel.sugarlabs.org/&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
Production site runs dockerized on [[Machine/freedom]].  Data stored in the /srv/socialhelp partition&lt;br /&gt;
&lt;br /&gt;
(Old) testing and devel sites run on [[Machine/sunjammer]]&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.sugarlabs.org/listinfo/systems systems AT lists DOT sugarlabs DOT org]&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
For non-emergency calls, preferably send email to the administrative contact.&lt;br /&gt;
&lt;br /&gt;
* [[User:SAMdroid|Sam P]] (email: @sam.today)&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
=== Cleaning user database ===&lt;br /&gt;
&lt;br /&gt;
To remove inactive accounts (i.e. ones that have never been confirmed or marked as spammers):&lt;br /&gt;
&lt;br /&gt;
 sqlite3 /srv/socialhelp/tracproject/db/trac.db&lt;br /&gt;
 DELETE FROM session WHERE length(sid) != 24 AND NOT EXISTS (SELECT * FROM permission WHERE username = sid);&lt;br /&gt;
&lt;br /&gt;
== Upgrade notes ==&lt;br /&gt;
# Edit the Dockerfile (stored in /home/sam/trac or from the [https://github.com/sugarlabs-infra/trac-docker github repository]) to include the latest version of Trac (eg. change the version numbers)&lt;br /&gt;
# &amp;lt;code&amp;gt;container.yml start /home/sam/trac -d&amp;lt;/code&amp;gt;&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/sugarlabs-infra/trac-docker[[Category:Service|bugs]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Matrix&amp;diff=104239</id>
		<title>Matrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Matrix&amp;diff=104239"/>
		<updated>2024-05-30T15:57:37Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Contact]][[Category:Resource]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Matrix ==&lt;br /&gt;
&lt;br /&gt;
Some Sugar Labs communication happens on the [https://matrix.org/ Matrix] network. Matrix is designed for group communication in discussion &#039;&#039;channels&#039;&#039;, but allows for personal chat and data transfer as well.&lt;br /&gt;
&lt;br /&gt;
The Sugar Labs community has a &#039;&#039;Space&#039;&#039; hosted on the &#039;&#039;&#039;&amp;lt;tt&amp;gt;matrix.org&amp;lt;/tt&amp;gt;&#039;&#039;&#039; instance: &#039;&#039;&#039;#sugar-labs:matrix.org&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The easiest way to connect to Matrix is using the [https://element.io Element] app, available for web browsers, desktops and mobile devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Channels ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
| colspan=2 style=&amp;quot;background:lightyellow; border:1px solid black;&amp;quot; | &#039;&#039;&#039;General:&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#sugar-labs:matrix.org #sugar-labs]&amp;lt;/tt&amp;gt; || Matrix Space that hosts all Sugar channels&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#sugar:matrix.org #sugar]&amp;lt;/tt&amp;gt; || A casual, friendly place where Sugar developers collaborate.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;tt&amp;gt;[https://matrix.to/#/#sugar-systems:matrix.org #sugar-systems]&amp;lt;/tt&amp;gt; || A channel for discussion about [[Infrastructure_Team | Sugar Labs Infrastructure]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#music-blocks:matrix.org #music-blocks]&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Share your projects and asks questions about Music Blocks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#musicblocksdev:matrix.org #musicblocksdev]&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Development for Music Blocks visual programming language. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How to use Matrix channels ===&lt;br /&gt;
&lt;br /&gt;
* Connect to one of the above channels, and say hello. You will see a list of the handles (on-line names) of the people in the channel, and the conversation will appear in a scrolling window. Type your message in the command entry area, and press return.&lt;br /&gt;
* For Matrix under sugar, install the latest &#039;&#039;&#039;[[Activities/Browse|Browse activity]]&#039;&#039;&#039; and navigate to https://app.element.io.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Matrix&amp;diff=104238</id>
		<title>Matrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Matrix&amp;diff=104238"/>
		<updated>2024-05-30T15:52:20Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Remove references to now dead IRC bridge, recommend Element as a good choice for beginners, mention the #sugar-labs space more prominently&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Contact]][[Category:Resource]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Matrix ==&lt;br /&gt;
&lt;br /&gt;
Some Sugar Labs communication happens on the [https://matrix.org/ Matrix] network. Matrix is designed for group communication in discussion &#039;channels&#039;, but allows for personal chat and data transfer as well.&lt;br /&gt;
&lt;br /&gt;
The Sugar Labs community has a &#039;&#039;Space&#039;&#039; hosted on the &#039;&#039;&#039;&amp;lt;tt&amp;gt;matrix.org&amp;lt;/tt&amp;gt;&#039;&#039;&#039; instance: &#039;&#039;#sugar-labs:matrix.org&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The easiest way to connect to Matrix is using the [https://element.io Element] app, available for web browsers, desktops and mobile devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Channels ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
| colspan=2 style=&amp;quot;background:lightyellow; border:1px solid black;&amp;quot; | &#039;&#039;&#039;General:&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#sugar-labs:matrix.org #sugar-labs]&amp;lt;/tt&amp;gt; || Matrix Space that hosts all Sugar channels&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#sugar:matrix.org #sugar]&amp;lt;/tt&amp;gt; || A casual, friendly place where Sugar developers collaborate.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;tt&amp;gt;[https://matrix.to/#/#sugar-systems:matrix.org #sugar-systems]&amp;lt;/tt&amp;gt; || A channel for discussion about [[Infrastructure_Team | Sugar Labs Infrastructure]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#music-blocks:matrix.org #music-blocks]&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Share your projects and asks questions about Music Blocks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;[https://matrix.to/#/#musicblocksdev:matrix.org #musicblocksdev]&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Development for Music Blocks visual programming language. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How to use Matrix channels ===&lt;br /&gt;
&lt;br /&gt;
* Connect to one of the above channels, and say hello. You will see a list of the handles (on-line names) of the people in the channel, and the conversation will appear in a scrolling window. Type your message in the command entry area, and press return.&lt;br /&gt;
* For Matrix under sugar, install the latest &#039;&#039;&#039;[[Activities/Browse|Browse activity]]&#039;&#039;&#039; and navigate to https://app.element.io.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/BundleBin&amp;diff=104127</id>
		<title>Service/BundleBin</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/BundleBin&amp;diff=104127"/>
		<updated>2024-03-31T13:16:02Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/BundleBin to Obsolete Service/BundleBin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Obsolete Service/BundleBin]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/BundleBin&amp;diff=104126</id>
		<title>Obsolete Service/BundleBin</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/BundleBin&amp;diff=104126"/>
		<updated>2024-03-31T13:16:02Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/BundleBin to Obsolete Service/BundleBin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
Like a pastebin, but for properly formed activity bundles (&amp;lt;code&amp;gt;.xo&amp;lt;/code&amp;gt;).&lt;br /&gt;
== Hostnames &amp;amp; Emails ==&lt;br /&gt;
&lt;br /&gt;
[https://bundlebin.sugarlabs.org bundlebin.sugarlabs.org]&lt;br /&gt;
&lt;br /&gt;
== Hosted On ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/justice|Freedom]] using docker &amp;amp; nginx&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
Bundle Bin App:  5000 (on freedom)&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Start the docker:&lt;br /&gt;
&lt;br /&gt;
 container.yml start /home/sam/bundlebin -d&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/BundleBin&amp;diff=104125</id>
		<title>Obsolete Service/BundleBin</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/BundleBin&amp;diff=104125"/>
		<updated>2024-03-31T13:15:50Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
Like a pastebin, but for properly formed activity bundles (&amp;lt;code&amp;gt;.xo&amp;lt;/code&amp;gt;).&lt;br /&gt;
== Hostnames &amp;amp; Emails ==&lt;br /&gt;
&lt;br /&gt;
[https://bundlebin.sugarlabs.org bundlebin.sugarlabs.org]&lt;br /&gt;
&lt;br /&gt;
== Hosted On ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/justice|Freedom]] using docker &amp;amp; nginx&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
Bundle Bin App:  5000 (on freedom)&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Start the docker:&lt;br /&gt;
&lt;br /&gt;
 container.yml start /home/sam/bundlebin -d&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/obs&amp;diff=104124</id>
		<title>Service/obs</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/obs&amp;diff=104124"/>
		<updated>2024-03-31T13:14:55Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/obs to Obsolete Service/obs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Obsolete Service/obs]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/obs&amp;diff=104123</id>
		<title>Obsolete Service/obs</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/obs&amp;diff=104123"/>
		<updated>2024-03-31T13:14:55Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/obs to Obsolete Service/obs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* obs.sugarlabs.org&lt;br /&gt;
* packages.sugarlabs.org&lt;br /&gt;
* sweets.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/jita]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
* obs AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
* [[User:alsroot|Aleksey Lim]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
[http://build.opensuse.org/ OBS] instance with sugar related changes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Home&lt;br /&gt;
|{{Code|/srv/obs}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Daemon&lt;br /&gt;
|&lt;br /&gt;
{{Code|/etc/init.d/obs}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/init.d/obs-worker}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Config&lt;br /&gt;
|&lt;br /&gt;
{{Code|/srv/obs/app/src/backend/BSConfig.pm}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/srv/obs/app/src/api/config/}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/srv/obs/app/src/webui/config/}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Logs&lt;br /&gt;
|{{Code|/srv/obs/site/log}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | SSL certificates&lt;br /&gt;
|&lt;br /&gt;
{{Code|/etc/ssl/private/obs.sugarlabs.org.key}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/ssl/certs/obs.sugarlabs.org.pem}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/ssl/private/packages.sugarlabs.org.key}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/ssl/certs/packages.sugarlabs.org.pem}}&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note/warning|Caution|Since python OBS clients can&#039;t handle SNI, default vhost needs to provide {{Code|obs.sugarlabs.org}} SSL certificate.}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade notes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | git&lt;br /&gt;
|&lt;br /&gt;
{{Code|/srv/obs/app}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Packages:&lt;br /&gt;
&lt;br /&gt;
 apt-get install liblocal-lib-perl libio-compress-perl libnet-ssleay-perl createrepo cmake librpm-dev check&lt;br /&gt;
&lt;br /&gt;
Gems:&lt;br /&gt;
&lt;br /&gt;
 su - obs&lt;br /&gt;
 cd ~/app/src/api&lt;br /&gt;
 rake gems:install&lt;br /&gt;
&lt;br /&gt;
Perl modules:&lt;br /&gt;
 cpan -i Socket/MsgHdr.pm&lt;br /&gt;
&lt;br /&gt;
Build sat-solver:&lt;br /&gt;
&lt;br /&gt;
 su - obs&lt;br /&gt;
 cd ~/app/src/backend/sat-solver&lt;br /&gt;
 cmake . -DMULTI_SEMANTICS=1&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Build BSSolv:&lt;br /&gt;
&lt;br /&gt;
 su - obs&lt;br /&gt;
 cd ~/app/src/backend&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
&lt;br /&gt;
Delete download repository copies:&lt;br /&gt;
&lt;br /&gt;
 repos={}; Download.find_each {|i| repos[i.metafile] = [(repos.include?(i.metafile) ? repos[i.metafile] : 0), i.id].max}; Download.find_each {|i| i.delete if i.id != repos[i.metafile]}&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/obs&amp;diff=104122</id>
		<title>Obsolete Service/obs</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/obs&amp;diff=104122"/>
		<updated>2024-03-31T13:14:40Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* obs.sugarlabs.org&lt;br /&gt;
* packages.sugarlabs.org&lt;br /&gt;
* sweets.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/jita]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
* obs AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
* [[User:alsroot|Aleksey Lim]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
[http://build.opensuse.org/ OBS] instance with sugar related changes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Home&lt;br /&gt;
|{{Code|/srv/obs}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Daemon&lt;br /&gt;
|&lt;br /&gt;
{{Code|/etc/init.d/obs}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/init.d/obs-worker}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Config&lt;br /&gt;
|&lt;br /&gt;
{{Code|/srv/obs/app/src/backend/BSConfig.pm}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/srv/obs/app/src/api/config/}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/srv/obs/app/src/webui/config/}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Logs&lt;br /&gt;
|{{Code|/srv/obs/site/log}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | SSL certificates&lt;br /&gt;
|&lt;br /&gt;
{{Code|/etc/ssl/private/obs.sugarlabs.org.key}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/ssl/certs/obs.sugarlabs.org.pem}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/ssl/private/packages.sugarlabs.org.key}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Code|/etc/ssl/certs/packages.sugarlabs.org.pem}}&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note/warning|Caution|Since python OBS clients can&#039;t handle SNI, default vhost needs to provide {{Code|obs.sugarlabs.org}} SSL certificate.}}&lt;br /&gt;
&lt;br /&gt;
== Upgrade notes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | git&lt;br /&gt;
|&lt;br /&gt;
{{Code|/srv/obs/app}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Packages:&lt;br /&gt;
&lt;br /&gt;
 apt-get install liblocal-lib-perl libio-compress-perl libnet-ssleay-perl createrepo cmake librpm-dev check&lt;br /&gt;
&lt;br /&gt;
Gems:&lt;br /&gt;
&lt;br /&gt;
 su - obs&lt;br /&gt;
 cd ~/app/src/api&lt;br /&gt;
 rake gems:install&lt;br /&gt;
&lt;br /&gt;
Perl modules:&lt;br /&gt;
 cpan -i Socket/MsgHdr.pm&lt;br /&gt;
&lt;br /&gt;
Build sat-solver:&lt;br /&gt;
&lt;br /&gt;
 su - obs&lt;br /&gt;
 cd ~/app/src/backend/sat-solver&lt;br /&gt;
 cmake . -DMULTI_SEMANTICS=1&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Build BSSolv:&lt;br /&gt;
&lt;br /&gt;
 su - obs&lt;br /&gt;
 cd ~/app/src/backend&lt;br /&gt;
 perl Makefile.PL&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
&lt;br /&gt;
Delete download repository copies:&lt;br /&gt;
&lt;br /&gt;
 repos={}; Download.find_each {|i| repos[i.metafile] = [(repos.include?(i.metafile) ? repos[i.metafile] : 0), i.id].max}; Download.find_each {|i| i.delete if i.id != repos[i.metafile]}&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104121</id>
		<title>Obsolete Service/znc</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104121"/>
		<updated>2024-03-31T13:11:53Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/Obsolete/znc to Obsolete Service/znc without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames &amp;amp; Emails ==&lt;br /&gt;
&lt;br /&gt;
None yet&lt;br /&gt;
&lt;br /&gt;
== Hosted On ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/justice|Freedom]] using docker&lt;br /&gt;
&lt;br /&gt;
All the stuff lives in &#039;&#039;/srv/znc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
6667&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
    docker run -d -p 6667:6667 -v /srv/znc:/znc-data --name=ZNC-Platypus --cpuset=&amp;quot;7&amp;quot; -c 1 -m 300m jimeh/znc&lt;br /&gt;
&lt;br /&gt;
Pull:&lt;br /&gt;
&lt;br /&gt;
    docker pull jimeh/znc&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Infrastructure_Team/Resources&amp;diff=104120</id>
		<title>Infrastructure Team/Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Infrastructure_Team/Resources&amp;diff=104120"/>
		<updated>2024-03-31T13:11:28Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TeamHeader|Infrastructure Team}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{TOCright|limit=2}}&lt;br /&gt;
&lt;br /&gt;
== Monitoring tools ==&lt;br /&gt;
&lt;br /&gt;
* [https://munin.sugarlabs.org/ Server monitoring (Munin)]&lt;br /&gt;
* [https://stats.sugarlabs.org/ Web Traffic (AWStats)]&lt;br /&gt;
* [https://www.google.com/analytics/settings/ Web Traffic (Google Analytics)]&lt;br /&gt;
* [https://mirrors.sugarlabs.org/ Download Mirrors (Mirmon)]&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/server-status Sunjammer Apache info]&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/server-info Sunjammer Apache status]&lt;br /&gt;
&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/apc.php Sunjammer APC cache status]&lt;br /&gt;
&lt;br /&gt;
* [https://activities.sugarlabs.org/en-US/statistics activities.sugarlabs.org access statistics]&lt;br /&gt;
* [https://wiki.sugarlabs.org/go/Special:Statistics wiki.sugarlabs.org access statistics]&lt;br /&gt;
&lt;br /&gt;
* [https://planet.sugarlabs.org/validate.html Sugar Planet feed validator]&lt;br /&gt;
* [https://www.ssllabs.com/ssldb/analyze.html?d=www.sugarlabs.org SSL validator]&lt;br /&gt;
&lt;br /&gt;
== Public services ==&lt;br /&gt;
{{Special:PrefixIndex/Service/}}&lt;br /&gt;
&lt;br /&gt;
== Sysadmin procedures ==&lt;br /&gt;
{{Special:PrefixIndex/Sysadmin/}}&lt;br /&gt;
&lt;br /&gt;
== Machines ==&lt;br /&gt;
{{Special:PrefixIndex/Machine/}}&lt;br /&gt;
&lt;br /&gt;
== Obsolete services ==&lt;br /&gt;
{{Special:PrefixIndex/Obsolete Service}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Sugarlabs systems.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Resource]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Infrastructure_Team/Resources&amp;diff=104119</id>
		<title>Infrastructure Team/Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Infrastructure_Team/Resources&amp;diff=104119"/>
		<updated>2024-03-31T13:08:50Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TeamHeader|Infrastructure Team}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{TOCright|limit=2}}&lt;br /&gt;
&lt;br /&gt;
== Monitoring tools ==&lt;br /&gt;
&lt;br /&gt;
* [https://munin.sugarlabs.org/ Server monitoring (Munin)]&lt;br /&gt;
* [https://stats.sugarlabs.org/ Web Traffic (AWStats)]&lt;br /&gt;
* [https://www.google.com/analytics/settings/ Web Traffic (Google Analytics)]&lt;br /&gt;
* [https://mirrors.sugarlabs.org/ Download Mirrors (Mirmon)]&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/server-status Sunjammer Apache info]&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/server-info Sunjammer Apache status]&lt;br /&gt;
&lt;br /&gt;
* [https://sunjammer.sugarlabs.org/apc.php Sunjammer APC cache status]&lt;br /&gt;
&lt;br /&gt;
* [https://activities.sugarlabs.org/en-US/statistics activities.sugarlabs.org access statistics]&lt;br /&gt;
* [https://wiki.sugarlabs.org/go/Special:Statistics wiki.sugarlabs.org access statistics]&lt;br /&gt;
&lt;br /&gt;
* [https://planet.sugarlabs.org/validate.html Sugar Planet feed validator]&lt;br /&gt;
* [https://www.ssllabs.com/ssldb/analyze.html?d=www.sugarlabs.org SSL validator]&lt;br /&gt;
&lt;br /&gt;
== Public services ==&lt;br /&gt;
{{Special:PrefixIndex/Service/}}&lt;br /&gt;
&lt;br /&gt;
See also: [[Obsolete Services]]&lt;br /&gt;
&lt;br /&gt;
== Sysadmin procedures ==&lt;br /&gt;
{{Special:PrefixIndex/Sysadmin/}}&lt;br /&gt;
&lt;br /&gt;
== Machines ==&lt;br /&gt;
{{Special:PrefixIndex/Machine/}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Sugarlabs systems.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Resource]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/jabber&amp;diff=104118</id>
		<title>Service/jabber</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/jabber&amp;diff=104118"/>
		<updated>2024-03-31T13:07:51Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/jabber to Obsolete Service/jabber&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Obsolete Service/jabber]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/jabber&amp;diff=104117</id>
		<title>Obsolete Service/jabber</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/jabber&amp;diff=104117"/>
		<updated>2024-03-31T13:07:51Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/jabber to Obsolete Service/jabber&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* jabber.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/jita]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
jabber AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
For non-emergency calls, preferably send email to the administrative contact.&lt;br /&gt;
&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Jabber server for development needs to test cutting edge sugar core components.&lt;br /&gt;
&lt;br /&gt;
It runs [http://prosody.im/ Prosody] jabber server with additional sugar [[Platform_Team/Server_Kit/Prosody|plugins]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Daemon&lt;br /&gt;
|{{Code|prosody}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Config&lt;br /&gt;
|{{Code|/srv/prosody/prosody.cfg.lua}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Logs&lt;br /&gt;
|{{Code|/srv/prosody/log}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Ports&lt;br /&gt;
|{{Code|5222}} {{Code|5223}} {{Code|5000}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Runtime configuration and monitoring might happen via [http://prosody.im/doc/console telnet]:&lt;br /&gt;
 telnet localhost 5582&lt;br /&gt;
&lt;br /&gt;
== Upgrade notes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | git&lt;br /&gt;
|{{Code|/srv/prosody}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/jabber&amp;diff=104116</id>
		<title>Obsolete Service/jabber</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/jabber&amp;diff=104116"/>
		<updated>2024-03-31T13:05:51Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
* jabber.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/jita]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
jabber AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
For non-emergency calls, preferably send email to the administrative contact.&lt;br /&gt;
&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Jabber server for development needs to test cutting edge sugar core components.&lt;br /&gt;
&lt;br /&gt;
It runs [http://prosody.im/ Prosody] jabber server with additional sugar [[Platform_Team/Server_Kit/Prosody|plugins]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Daemon&lt;br /&gt;
|{{Code|prosody}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Config&lt;br /&gt;
|{{Code|/srv/prosody/prosody.cfg.lua}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Logs&lt;br /&gt;
|{{Code|/srv/prosody/log}}&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | Ports&lt;br /&gt;
|{{Code|5222}} {{Code|5223}} {{Code|5000}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Runtime configuration and monitoring might happen via [http://prosody.im/doc/console telnet]:&lt;br /&gt;
 telnet localhost 5582&lt;br /&gt;
&lt;br /&gt;
== Upgrade notes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; | git&lt;br /&gt;
|{{Code|/srv/prosody}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104114</id>
		<title>Obsolete Service/znc</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104114"/>
		<updated>2024-03-31T13:05:45Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/Obsolete/ZNC to Service/Obsolete/znc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames &amp;amp; Emails ==&lt;br /&gt;
&lt;br /&gt;
None yet&lt;br /&gt;
&lt;br /&gt;
== Hosted On ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/justice|Freedom]] using docker&lt;br /&gt;
&lt;br /&gt;
All the stuff lives in &#039;&#039;/srv/znc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
6667&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
    docker run -d -p 6667:6667 -v /srv/znc:/znc-data --name=ZNC-Platypus --cpuset=&amp;quot;7&amp;quot; -c 1 -m 300m jimeh/znc&lt;br /&gt;
&lt;br /&gt;
Pull:&lt;br /&gt;
&lt;br /&gt;
    docker pull jimeh/znc&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104112</id>
		<title>Obsolete Service/znc</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104112"/>
		<updated>2024-03-31T13:05:24Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie moved page Service/ZNC to Service/Obsolete/ZNC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames &amp;amp; Emails ==&lt;br /&gt;
&lt;br /&gt;
None yet&lt;br /&gt;
&lt;br /&gt;
== Hosted On ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/justice|Freedom]] using docker&lt;br /&gt;
&lt;br /&gt;
All the stuff lives in &#039;&#039;/srv/znc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
6667&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
    docker run -d -p 6667:6667 -v /srv/znc:/znc-data --name=ZNC-Platypus --cpuset=&amp;quot;7&amp;quot; -c 1 -m 300m jimeh/znc&lt;br /&gt;
&lt;br /&gt;
Pull:&lt;br /&gt;
&lt;br /&gt;
    docker pull jimeh/znc&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104111</id>
		<title>Obsolete Service/znc</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Obsolete_Service/znc&amp;diff=104111"/>
		<updated>2024-03-31T13:04:52Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Obsolete}}&lt;br /&gt;
&lt;br /&gt;
== Hostnames &amp;amp; Emails ==&lt;br /&gt;
&lt;br /&gt;
None yet&lt;br /&gt;
&lt;br /&gt;
== Hosted On ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/justice|Freedom]] using docker&lt;br /&gt;
&lt;br /&gt;
All the stuff lives in &#039;&#039;/srv/znc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
6667&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
    docker run -d -p 6667:6667 -v /srv/znc:/znc-data --name=ZNC-Platypus --cpuset=&amp;quot;7&amp;quot; -c 1 -m 300m jimeh/znc&lt;br /&gt;
&lt;br /&gt;
Pull:&lt;br /&gt;
&lt;br /&gt;
    docker pull jimeh/znc&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/smtp&amp;diff=104090</id>
		<title>Service/smtp</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/smtp&amp;diff=104090"/>
		<updated>2023-07-29T06:35:03Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
! hostname           !! service    !! port !! function&lt;br /&gt;
|-&lt;br /&gt;
| smtp.sugarlabs.org || smtp       || 25   || Local delivery (plain SMTP)&lt;br /&gt;
|-&lt;br /&gt;
| smtp.sugarlabs.org || [http://www.faqs.org/rfcs/rfc2476.html submission] || 587  || SMTP with STARTTLS, legacy&lt;br /&gt;
|-&lt;br /&gt;
| smtp.sugarlabs.org || [https://tools.ietf.org/html/rfc6409 submissions]  || 465  || Email relay (SMTP with SSL, password authentication required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/sunjammer]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
* postmaster AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
* (add yourself here if you tend to the postmaster [[Machine/rt|RT]] queue)&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Users with a Sugar Labs [[Service/shell|shell account]] on [[Machine/sunjammer|sunjammer]] can use our SMTP relay for personal email submission. &#039;&#039;Any abuse will be prosecuted.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The [https://tools.ietf.org/html/rfc6409 submissions] port (465) is preferred for email relay. Unauthenticated and unencrypted connections are not allowed to relay.&lt;br /&gt;
&lt;br /&gt;
* All email originating from the sugarlabs.org domain must be submitted through our SMTP server. &#039;&#039;&#039;Failure to do so may result in your email being blocked by spam filters.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== SPF ==&lt;br /&gt;
&lt;br /&gt;
Our domains use a non-strict (~all) [http://en.wikipedia.org/wiki/Sender_Policy_Framework SPF] records.&lt;br /&gt;
&lt;br /&gt;
== DKIM ==&lt;br /&gt;
&lt;br /&gt;
Our domain publishes a [http://en.wikipedia.org/wiki/DKIM DKIM] key.&lt;br /&gt;
&lt;br /&gt;
To test DKIM, send an email to autorespond+dkim@dk.elandsys.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Service/imap]]&lt;br /&gt;
* [[Service/webmail]]&lt;br /&gt;
* [[Service/email]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Service|imap]]&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104089</id>
		<title>Service/Nameservers</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104089"/>
		<updated>2023-07-15T19:35:25Z</updated>

		<summary type="html">&lt;p&gt;Bernie: /* CLI tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
To request changes to DNS records, contact &amp;lt;hostmaster AT sugarlabs DOT org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostmasters ==&lt;br /&gt;
&lt;br /&gt;
Current hostmasters are:&lt;br /&gt;
&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
&lt;br /&gt;
(please use preferably the administrative address)&lt;br /&gt;
&lt;br /&gt;
== Registered nameservers ==&lt;br /&gt;
&lt;br /&gt;
The following nameservers are currently registered in whois records for our domains:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  hostname&lt;br /&gt;
!  aka&lt;br /&gt;
!  location&lt;br /&gt;
!  IPv4&lt;br /&gt;
!  IPv6&lt;br /&gt;
|-&lt;br /&gt;
!  &#039;&#039;&#039;ns1.sugarlabs.org&#039;&#039;&#039;&lt;br /&gt;
|  lightwave&lt;br /&gt;
|  Sonic, Santa Rosa CA, USA&lt;br /&gt;
|  192.184.220.216&lt;br /&gt;
|  2001:5a8:601:f::216/64&lt;br /&gt;
|-&lt;br /&gt;
|  ns2.sugarlabs.net&lt;br /&gt;
|  sunjammer&lt;br /&gt;
|  FSF, Boston, USA&lt;br /&gt;
|  208.118.235.53&lt;br /&gt;
|  2001:470:142:7::11&lt;br /&gt;
|-&lt;br /&gt;
|  ns1.codewiz.org&lt;br /&gt;
|  neo&lt;br /&gt;
|  Develer, Firenze, Italy&lt;br /&gt;
|  2.228.72.10&lt;br /&gt;
|  2001:b02:400:1::10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Editing zone data ==&lt;br /&gt;
&lt;br /&gt;
We use distributed version control and admin scripts to arbitrate edits to the zone files and nameserver configurations.&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT THESE FILES DIRECTLY ON THE MASTER NAMESERVER, ANY CHANGES WILL BE OVERWRITTEN&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Checkout nameserver config ==&lt;br /&gt;
&lt;br /&gt;
Checkout the git repository containing the DNS zone data:&lt;br /&gt;
&lt;br /&gt;
 git clone lightwave.sugarlabs.org:/var/lib/bind/etc/bind ns&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Your user on [[Machine/lightwave]] needs to be in group hostmaster. Do not clone the repo on lightwave, clone it to your local host.&lt;br /&gt;
&lt;br /&gt;
To push changes, you will also need the DNSSEC private keys for your domain. For security reasons, these&lt;br /&gt;
are not kept on the master DNS itself. Ask one of the other hostmasters for a copy and put it in the keys/&lt;br /&gt;
directory alongside the public keys.&lt;br /&gt;
&lt;br /&gt;
== Edit zone data ==&lt;br /&gt;
&lt;br /&gt;
Guidelines for editing zones:&lt;br /&gt;
&lt;br /&gt;
* Please keep the zone files tidy, by following indentation style&lt;br /&gt;
* Add comments as needed to describe obscure records in the zone files&lt;br /&gt;
* Remember to keep reverse zones always up to date&lt;br /&gt;
* &#039;&#039;&#039;Bump the serials after each update!&#039;&#039;&#039; (this is done automatically by our update-zone script)&lt;br /&gt;
&lt;br /&gt;
== Push changes back to master nameserver ==&lt;br /&gt;
&lt;br /&gt;
After you edited the sugarlabs.org zone, execute this script to re-sign the zone&lt;br /&gt;
and push your changes to the master DNS:&lt;br /&gt;
&lt;br /&gt;
 ./update-sugarlabs&lt;br /&gt;
&lt;br /&gt;
The script does:&lt;br /&gt;
* bump the serial number&lt;br /&gt;
* re-sign the zone with the DNSSEC private keys (which you must copy to keys/)&lt;br /&gt;
* commit your changes&lt;br /&gt;
* push the commit to the remote repository&lt;br /&gt;
&lt;br /&gt;
The post-receive hook automates the rest of the procedure:&lt;br /&gt;
* send a notification email to systems-logs@&lt;br /&gt;
* checkout your changes to the bind configuration directory&lt;br /&gt;
* make BIND reload its configuration&lt;br /&gt;
* watch BIND&#039;s log file to ensure there are no errors and slaves are actually transferring the changed zones&lt;br /&gt;
&lt;br /&gt;
For other domains hosted on Sugar Labs infrastructure (such as eg. somosazucar.org) use:&lt;br /&gt;
&lt;br /&gt;
 ./update-zone turtleartday.org&lt;br /&gt;
&lt;br /&gt;
This will check the zone before pushing.&lt;br /&gt;
&lt;br /&gt;
== GIT repository implementation details ==&lt;br /&gt;
&lt;br /&gt;
We use a detached working directory to allow the automatic checkout to work (see post-receive hook below). The git repository is in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind.git&amp;lt;/code&amp;gt; and the working directory lives in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;/etc/bind&amp;lt;/code&amp;gt; is a symlink to the working directory (&amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
See [[Sysadmin/Autocheckout repositories]] for all the implementation details.&lt;br /&gt;
&lt;br /&gt;
== DNSSEC details ==&lt;br /&gt;
&lt;br /&gt;
=== How to create keys for a new domain ===&lt;br /&gt;
&lt;br /&gt;
We standardized on algorithm 13 (ECDSAP256SHA256) because it&#039;s what RFC 8624 recommends and what Cloudflare uses:&lt;br /&gt;
&lt;br /&gt;
 cd keys&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE codewiz.org&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE -f KSK codewiz.org&lt;br /&gt;
&lt;br /&gt;
=== How to manually sign a zone ===&lt;br /&gt;
Normally, you should use the update-zone script&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -S -e +31536000 -K keys -d keys -o codewiz.org masters/codewiz.org.zone&lt;br /&gt;
 systemctl restart bind9&lt;br /&gt;
&lt;br /&gt;
=== Add DS records to TLD ===&lt;br /&gt;
&lt;br /&gt;
This step must be performed using the interface of the registrar (I used name.com).&lt;br /&gt;
&lt;br /&gt;
The data to copy is written by dnssec-signzone to the file keys/dsset-DOMAIN and looks like this:&lt;br /&gt;
&lt;br /&gt;
  codewiz.org.            IN DS 53631 13 2 C31F7790197F0DC5CE7726F731FA55A9189289540749A68A937BFD09 797D72E6&lt;br /&gt;
&lt;br /&gt;
=== How to validate zone data ===&lt;br /&gt;
&lt;br /&gt;
==== Online validators ====&lt;br /&gt;
* https://dnssec-analyzer.verisignlabs.com/codewiz.org&lt;br /&gt;
* https://dnsviz.net/d/codewiz.org/dnssec/&lt;br /&gt;
&lt;br /&gt;
==== CLI tools ====&lt;br /&gt;
&lt;br /&gt;
* Validate zone data with dig:&lt;br /&gt;
 dig +dnssec +multiline -t ns codewiz.org. @1.1.1.1 | grep ad&lt;br /&gt;
 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against domain DNSKEY:&lt;br /&gt;
 $ unbound-host -y &#039;codewiz.org. DNSKEY 256 3 13 IbIcUsP+G7cnSmi12BpuiMjM9LnqvDaRS+qiquGKXxH/qAuOGlODFA4E 18O1OErfu0CkFjg6JEynOG6cSR40yg==&#039; -v codewiz.org&lt;br /&gt;
 codewiz.org has address 209.51.188.53 (secure)&lt;br /&gt;
 codewiz.org has IPv6 address 2001:470:142:7::11 (secure)&lt;br /&gt;
 codewiz.org mail is handled by 10 neo.develer.net. (secure)&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against a domain&#039;s DS key:&lt;br /&gt;
 unbound-host -f keys/dsset-sugarlabs.org. -v sugarlabs.org&lt;br /&gt;
 sugarlabs.org has address 185.199.111.153 (secure)&lt;br /&gt;
 sugarlabs.org has address 185.199.110.153 (secure)&lt;br /&gt;
 sugarlabs.org has no IPv6 address (secure)&lt;br /&gt;
 sugarlabs.org mail is handled by 10 mail0.codewiz.org. (secure)&lt;br /&gt;
 sugarlabs.org mail is handled by 20 sunjammer.sugarlabs.org. (secure)&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against the root DNSKEY:&lt;br /&gt;
 unbound-host -D -v wiki.sugarlabs.org&lt;br /&gt;
 wiki.sugarlabs.org is an alias for sunjammer.sugarlabs.org. (secure)&lt;br /&gt;
 sunjammer.sugarlabs.org has address 209.51.188.53 (secure)&lt;br /&gt;
 sunjammer.sugarlabs.org has IPv6 address 2001:470:142:7::11 (secure)&lt;br /&gt;
 sunjammer.sugarlabs.org has no mail handler record (secure)&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104088</id>
		<title>Service/Nameservers</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104088"/>
		<updated>2023-07-15T19:23:32Z</updated>

		<summary type="html">&lt;p&gt;Bernie: /* Checkout nameserver config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
To request changes to DNS records, contact &amp;lt;hostmaster AT sugarlabs DOT org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostmasters ==&lt;br /&gt;
&lt;br /&gt;
Current hostmasters are:&lt;br /&gt;
&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
&lt;br /&gt;
(please use preferably the administrative address)&lt;br /&gt;
&lt;br /&gt;
== Registered nameservers ==&lt;br /&gt;
&lt;br /&gt;
The following nameservers are currently registered in whois records for our domains:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  hostname&lt;br /&gt;
!  aka&lt;br /&gt;
!  location&lt;br /&gt;
!  IPv4&lt;br /&gt;
!  IPv6&lt;br /&gt;
|-&lt;br /&gt;
!  &#039;&#039;&#039;ns1.sugarlabs.org&#039;&#039;&#039;&lt;br /&gt;
|  lightwave&lt;br /&gt;
|  Sonic, Santa Rosa CA, USA&lt;br /&gt;
|  192.184.220.216&lt;br /&gt;
|  2001:5a8:601:f::216/64&lt;br /&gt;
|-&lt;br /&gt;
|  ns2.sugarlabs.net&lt;br /&gt;
|  sunjammer&lt;br /&gt;
|  FSF, Boston, USA&lt;br /&gt;
|  208.118.235.53&lt;br /&gt;
|  2001:470:142:7::11&lt;br /&gt;
|-&lt;br /&gt;
|  ns1.codewiz.org&lt;br /&gt;
|  neo&lt;br /&gt;
|  Develer, Firenze, Italy&lt;br /&gt;
|  2.228.72.10&lt;br /&gt;
|  2001:b02:400:1::10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Editing zone data ==&lt;br /&gt;
&lt;br /&gt;
We use distributed version control and admin scripts to arbitrate edits to the zone files and nameserver configurations.&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT THESE FILES DIRECTLY ON THE MASTER NAMESERVER, ANY CHANGES WILL BE OVERWRITTEN&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Checkout nameserver config ==&lt;br /&gt;
&lt;br /&gt;
Checkout the git repository containing the DNS zone data:&lt;br /&gt;
&lt;br /&gt;
 git clone lightwave.sugarlabs.org:/var/lib/bind/etc/bind ns&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Your user on [[Machine/lightwave]] needs to be in group hostmaster. Do not clone the repo on lightwave, clone it to your local host.&lt;br /&gt;
&lt;br /&gt;
To push changes, you will also need the DNSSEC private keys for your domain. For security reasons, these&lt;br /&gt;
are not kept on the master DNS itself. Ask one of the other hostmasters for a copy and put it in the keys/&lt;br /&gt;
directory alongside the public keys.&lt;br /&gt;
&lt;br /&gt;
== Edit zone data ==&lt;br /&gt;
&lt;br /&gt;
Guidelines for editing zones:&lt;br /&gt;
&lt;br /&gt;
* Please keep the zone files tidy, by following indentation style&lt;br /&gt;
* Add comments as needed to describe obscure records in the zone files&lt;br /&gt;
* Remember to keep reverse zones always up to date&lt;br /&gt;
* &#039;&#039;&#039;Bump the serials after each update!&#039;&#039;&#039; (this is done automatically by our update-zone script)&lt;br /&gt;
&lt;br /&gt;
== Push changes back to master nameserver ==&lt;br /&gt;
&lt;br /&gt;
After you edited the sugarlabs.org zone, execute this script to re-sign the zone&lt;br /&gt;
and push your changes to the master DNS:&lt;br /&gt;
&lt;br /&gt;
 ./update-sugarlabs&lt;br /&gt;
&lt;br /&gt;
The script does:&lt;br /&gt;
* bump the serial number&lt;br /&gt;
* re-sign the zone with the DNSSEC private keys (which you must copy to keys/)&lt;br /&gt;
* commit your changes&lt;br /&gt;
* push the commit to the remote repository&lt;br /&gt;
&lt;br /&gt;
The post-receive hook automates the rest of the procedure:&lt;br /&gt;
* send a notification email to systems-logs@&lt;br /&gt;
* checkout your changes to the bind configuration directory&lt;br /&gt;
* make BIND reload its configuration&lt;br /&gt;
* watch BIND&#039;s log file to ensure there are no errors and slaves are actually transferring the changed zones&lt;br /&gt;
&lt;br /&gt;
For other domains hosted on Sugar Labs infrastructure (such as eg. somosazucar.org) use:&lt;br /&gt;
&lt;br /&gt;
 ./update-zone turtleartday.org&lt;br /&gt;
&lt;br /&gt;
This will check the zone before pushing.&lt;br /&gt;
&lt;br /&gt;
== GIT repository implementation details ==&lt;br /&gt;
&lt;br /&gt;
We use a detached working directory to allow the automatic checkout to work (see post-receive hook below). The git repository is in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind.git&amp;lt;/code&amp;gt; and the working directory lives in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;/etc/bind&amp;lt;/code&amp;gt; is a symlink to the working directory (&amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
See [[Sysadmin/Autocheckout repositories]] for all the implementation details.&lt;br /&gt;
&lt;br /&gt;
== DNSSEC details ==&lt;br /&gt;
&lt;br /&gt;
=== How to create keys for a new domain ===&lt;br /&gt;
&lt;br /&gt;
We standardized on algorithm 13 (ECDSAP256SHA256) because it&#039;s what RFC 8624 recommends and what Cloudflare uses:&lt;br /&gt;
&lt;br /&gt;
 cd keys&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE codewiz.org&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE -f KSK codewiz.org&lt;br /&gt;
&lt;br /&gt;
=== How to manually sign a zone ===&lt;br /&gt;
Normally, you should use the update-zone script&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -S -e +31536000 -K keys -d keys -o codewiz.org masters/codewiz.org.zone&lt;br /&gt;
 systemctl restart bind9&lt;br /&gt;
&lt;br /&gt;
=== Add DS records to TLD ===&lt;br /&gt;
&lt;br /&gt;
This step must be performed using the interface of the registrar (I used name.com).&lt;br /&gt;
&lt;br /&gt;
The data to copy is written by dnssec-signzone to the file keys/dsset-DOMAIN and looks like this:&lt;br /&gt;
&lt;br /&gt;
  codewiz.org.            IN DS 53631 13 2 C31F7790197F0DC5CE7726F731FA55A9189289540749A68A937BFD09 797D72E6&lt;br /&gt;
&lt;br /&gt;
=== How to validate zone data ===&lt;br /&gt;
&lt;br /&gt;
==== Online validators ====&lt;br /&gt;
* https://dnssec-analyzer.verisignlabs.com/codewiz.org&lt;br /&gt;
* https://dnsviz.net/d/codewiz.org/dnssec/&lt;br /&gt;
&lt;br /&gt;
==== CLI tools ====&lt;br /&gt;
&lt;br /&gt;
* Validate zone data with dig:&lt;br /&gt;
 dig +dnssec +multiline -t ns codewiz.org. @1.1.1.1 | grep ad&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against domain DNSKEY:&lt;br /&gt;
 $ unbound-host -y &#039;codewiz.org. DNSKEY 256 3 13 IbIcUsP+G7cnSmi12BpuiMjM9LnqvDaRS+qiquGKXxH/qAuOGlODFA4E 18O1OErfu0CkFjg6JEynOG6cSR40yg==&#039; -v codewiz.org&lt;br /&gt;
 codewiz.org has address 209.51.188.53 (secure)&lt;br /&gt;
 codewiz.org has IPv6 address 2001:470:142:7::11 (secure)&lt;br /&gt;
 codewiz.org mail is handled by 10 neo.develer.net. (secure)&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against a domain&#039;s DS key:&lt;br /&gt;
 unbound-host -y &#039;codewiz.org. DS 53631 13 2 C31F7790197F0DC5CE7726F731FA55A9189289540749A68A937BFD09 797D72E6&#039; -v codewiz.org&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against root DNSKEY:&lt;br /&gt;
 unbound-host -D -y &#039;. DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=&#039; -v codewiz.org&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104085</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104085"/>
		<updated>2023-07-15T19:04:50Z</updated>

		<summary type="html">&lt;p&gt;Bernie: /* IPv4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts bought by Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], bernie on #sugar Libera.chat IRC network&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address.&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonic IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
Please avoid allocating large VM volumes as image file within the host&#039;s root filesystem: they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104065</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104065"/>
		<updated>2022-07-31T07:54:02Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
[[Image:BenderRacked.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts bought by Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], bernie on #sugar Libera.chat IRC network&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|thumb|320px]]&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address.&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonico IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
Please avoid allocating large VM volumes as image file within the host&#039;s root filesystem: they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104064</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104064"/>
		<updated>2022-07-31T07:51:40Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts bought by Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], bernie on #sugar Libera.chat IRC network&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
[[Image:SonicColo.jpg|320px]] [[Image:BenderRacked.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address.&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonico IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
Please avoid allocating large VM volumes as image file within the host&#039;s root filesystem: they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:BenderRacked.jpg&amp;diff=104063</id>
		<title>File:BenderRacked.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:BenderRacked.jpg&amp;diff=104063"/>
		<updated>2022-07-31T07:50:53Z</updated>

		<summary type="html">&lt;p&gt;Bernie: Bernie uploaded a new version of File:BenderRacked.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:BenderRacked.jpg&amp;diff=104062</id>
		<title>File:BenderRacked.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:BenderRacked.jpg&amp;diff=104062"/>
		<updated>2022-07-31T07:45:27Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:SonicColo.jpg&amp;diff=104061</id>
		<title>File:SonicColo.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:SonicColo.jpg&amp;diff=104061"/>
		<updated>2022-07-31T07:44:43Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104060</id>
		<title>Machine/bender</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Machine/bender&amp;diff=104060"/>
		<updated>2022-07-31T07:40:43Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
* bender.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* HPE ProLiant DL360 Gen10 1RU server&lt;br /&gt;
** Dual socket, current configuration has one CPU&lt;br /&gt;
* [https://ark.intel.com/content/www/us/en/ark/products/199342/intel-xeon-gold-5218r-processor-27-5m-cache-2-10-ghz.html Xeon Gold 5218R]&lt;br /&gt;
** 20 cores/40 threads&lt;br /&gt;
** 2.1GHz base frequency, 4.0GHz max turbo frequency&lt;br /&gt;
** 27.5MB of cache&lt;br /&gt;
* 64GB RAM&lt;br /&gt;
* 2TB NVMe SSD&lt;br /&gt;
* Ubuntu 20.04.2 LTS&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
Owned by Sugar Labs, Inc.&lt;br /&gt;
Hosted by Sonic in Santa Rosa, CA&lt;br /&gt;
&lt;br /&gt;
Bender and Papert are two twin KVM hosts bought by Sugar Labs in 2021.&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
* [[User:MrBIOS|Alex Perez]], MrBIOS on #sugar Libera.chat IRC network&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]], bernie on #sugar Libera.chat IRC network&lt;br /&gt;
&lt;br /&gt;
== Hosting ==&lt;br /&gt;
&lt;br /&gt;
Hosted by Sonic in Santa Rosa CA&lt;br /&gt;
&lt;br /&gt;
[[Image:Sonic.jpg|right|320px]]&lt;br /&gt;
&lt;br /&gt;
== Network configuration ==&lt;br /&gt;
&lt;br /&gt;
Network configuration is managed via [https://netplan.io/ netplan]. To modify, do:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/netplan/bender.yaml&lt;br /&gt;
 netplan generate&lt;br /&gt;
 netplan apply&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
&lt;br /&gt;
Bender is globally accessible through a public, static IPv4 address.&lt;br /&gt;
&lt;br /&gt;
Sonic assigned a /28 network to Sugar Labs. IP assignments are managed in our DNS configuration. Search for &amp;quot;Sonico IP pool&amp;quot; in &amp;lt;code&amp;gt;masters/sugarlabs.org.zone&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
IPv6 configuration is a bit weird.&lt;br /&gt;
&lt;br /&gt;
 * Public block: 2001:5a8:601:f::/64&lt;br /&gt;
 * Sonic gateway: 2001:5a8:5:3a::15:0/127&lt;br /&gt;
 * Transport IP: 2001:5a8:5:3a::15:1/127&lt;br /&gt;
&lt;br /&gt;
The gateway is configured to route all traffic for our netblock to the transport IP, which is currently assigned to bender.&lt;br /&gt;
&lt;br /&gt;
=== Bridges ===&lt;br /&gt;
The br0 bridge is created at startup and shared with the virtual machines hosted on Bender. It gives the VMs unfiltered access to the external network. There&#039;s no DHCP, all machines must define a static IP configuration, taking care not to stomp onto each other.&lt;br /&gt;
&lt;br /&gt;
There is also a virbr0 bridge created by libvirt on startup from &amp;lt;code&amp;gt;/etc/libvirt/qemu/networks/default.xml&amp;lt;/code&amp;gt;. This is a NAT interface and is not meant for VMs directly serving on the Internet.&lt;br /&gt;
&lt;br /&gt;
Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
Virtual machines are KVM guests managed with libvirt.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All virtual disks come from a pool backed by the main LVM VG:&lt;br /&gt;
&lt;br /&gt;
  virsh # pool-define-as nvme-pool logical --source-name nvme-pool &lt;br /&gt;
  Pool nvme-pool defined&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-start nvme-pool&lt;br /&gt;
  Pool nvme-pool started&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-autostart nvme-pool&lt;br /&gt;
  Pool nvme-pool marked as autostarted&lt;br /&gt;
  &lt;br /&gt;
  virsh # pool-info nvme-pool&lt;br /&gt;
  Name:           nvme-pool&lt;br /&gt;
  UUID:           5812819f-b8bf-484e-98fb-2e100fe83df2&lt;br /&gt;
  State:          running&lt;br /&gt;
  Persistent:     yes&lt;br /&gt;
  Autostart:      yes&lt;br /&gt;
  Capacity:       1.64 TiB&lt;br /&gt;
  Allocation:     250.00 GiB&lt;br /&gt;
  Available:      1.40 TiB&lt;br /&gt;
&lt;br /&gt;
Disks assigned to VMs will appear here:&lt;br /&gt;
&lt;br /&gt;
 virsh # vol-list nvme-pool&lt;br /&gt;
  Name         Path&lt;br /&gt;
 -----------------------------------------&lt;br /&gt;
  aslo1-root   /dev/nvme-pool/aslo1-root&lt;br /&gt;
  aslo1-srv    /dev/nvme-pool/aslo1-srv&lt;br /&gt;
  backup       /dev/nvme-pool/backup&lt;br /&gt;
&lt;br /&gt;
Disks can be created, listed and deleted using the vol-* commands:&lt;br /&gt;
&lt;br /&gt;
  virsh # vol-create-as nvme-pool testvm-root 20G&lt;br /&gt;
  Vol testvm-root created&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-info testvm-root --pool nvme-pool&lt;br /&gt;
  Name:           testvm-root&lt;br /&gt;
  Type:           block&lt;br /&gt;
  Capacity:       20.00 GiB&lt;br /&gt;
  Allocation:     20.00 GiB&lt;br /&gt;
  &lt;br /&gt;
  virsh # vol-delete testvm-root --pool nvme-pool&lt;br /&gt;
  Vol testvm-root deleted&lt;br /&gt;
&lt;br /&gt;
Please avoid allocating large VM volumes as image file within the host&#039;s root filesystem: they&#039;re slow and hard to manage. It&#039;s ok to use images for test VMs.&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104059</id>
		<title>Service/Nameservers</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104059"/>
		<updated>2022-07-31T07:33:10Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
To request changes to DNS records, contact &amp;lt;hostmaster AT sugarlabs DOT org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostmasters ==&lt;br /&gt;
&lt;br /&gt;
Current hostmasters are:&lt;br /&gt;
&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
&lt;br /&gt;
(please use preferably the administrative address)&lt;br /&gt;
&lt;br /&gt;
== Registered nameservers ==&lt;br /&gt;
&lt;br /&gt;
The following nameservers are currently registered in whois records for our domains:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  hostname&lt;br /&gt;
!  aka&lt;br /&gt;
!  location&lt;br /&gt;
!  IPv4&lt;br /&gt;
!  IPv6&lt;br /&gt;
|-&lt;br /&gt;
!  &#039;&#039;&#039;ns1.sugarlabs.org&#039;&#039;&#039;&lt;br /&gt;
|  lightwave&lt;br /&gt;
|  Sonic, Santa Rosa CA, USA&lt;br /&gt;
|  192.184.220.216&lt;br /&gt;
|  2001:5a8:601:f::216/64&lt;br /&gt;
|-&lt;br /&gt;
|  ns2.sugarlabs.net&lt;br /&gt;
|  sunjammer&lt;br /&gt;
|  FSF, Boston, USA&lt;br /&gt;
|  208.118.235.53&lt;br /&gt;
|  2001:470:142:7::11&lt;br /&gt;
|-&lt;br /&gt;
|  ns1.codewiz.org&lt;br /&gt;
|  neo&lt;br /&gt;
|  Develer, Firenze, Italy&lt;br /&gt;
|  2.228.72.10&lt;br /&gt;
|  2001:b02:400:1::10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Editing zone data ==&lt;br /&gt;
&lt;br /&gt;
We use distributed version control and admin scripts to arbitrate edits to the zone files and nameserver configurations.&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT THESE FILES DIRECTLY ON THE MASTER NAMESERVER, ANY CHANGES WILL BE OVERWRITTEN&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Checkout nameserver config ==&lt;br /&gt;
&lt;br /&gt;
Checkout the git repository containing the DNS zone data:&lt;br /&gt;
&lt;br /&gt;
 git clone lightwave.sugarlabs.org:/var/lib/bind/etc/bind ns&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; Do not checkout the repository as root. Your user on [[Machine/lightwave]] needs to be in group hostmaster.&lt;br /&gt;
&lt;br /&gt;
In order to make changes, you will also need the private keys for your domain. For security reasons, these&lt;br /&gt;
are not kept on the master DNS itself. Ask one of the other hostmasters for a copy and put it in the keys/&lt;br /&gt;
directory alongside the public keys.&lt;br /&gt;
&lt;br /&gt;
== Edit zone data ==&lt;br /&gt;
&lt;br /&gt;
Guidelines for editing zones:&lt;br /&gt;
&lt;br /&gt;
* Please keep the zone files tidy, by following indentation style&lt;br /&gt;
* Add comments as needed to describe obscure records in the zone files&lt;br /&gt;
* Remember to keep reverse zones always up to date&lt;br /&gt;
* &#039;&#039;&#039;Bump the serials after each update!&#039;&#039;&#039; (this is done automatically by our update-zone script)&lt;br /&gt;
&lt;br /&gt;
== Push changes back to master nameserver ==&lt;br /&gt;
&lt;br /&gt;
After you edited the sugarlabs.org zone, execute this script to re-sign the zone&lt;br /&gt;
and push your changes to the master DNS:&lt;br /&gt;
&lt;br /&gt;
 ./update-sugarlabs&lt;br /&gt;
&lt;br /&gt;
The script does:&lt;br /&gt;
* bump the serial number&lt;br /&gt;
* re-sign the zone with the DNSSEC private keys (which you must copy to keys/)&lt;br /&gt;
* commit your changes&lt;br /&gt;
* push the commit to the remote repository&lt;br /&gt;
&lt;br /&gt;
The post-receive hook automates the rest of the procedure:&lt;br /&gt;
* send a notification email to systems-logs@&lt;br /&gt;
* checkout your changes to the bind configuration directory&lt;br /&gt;
* make BIND reload its configuration&lt;br /&gt;
* watch BIND&#039;s log file to ensure there are no errors and slaves are actually transferring the changed zones&lt;br /&gt;
&lt;br /&gt;
For other domains hosted on Sugar Labs infrastructure (such as eg. somosazucar.org) use:&lt;br /&gt;
&lt;br /&gt;
 ./update-zone turtleartday.org&lt;br /&gt;
&lt;br /&gt;
This will check the zone before pushing.&lt;br /&gt;
&lt;br /&gt;
== GIT repository implementation details ==&lt;br /&gt;
&lt;br /&gt;
We use a detached working directory to allow the automatic checkout to work (see post-receive hook below). The git repository is in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind.git&amp;lt;/code&amp;gt; and the working directory lives in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;/etc/bind&amp;lt;/code&amp;gt; is a symlink to the working directory (&amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
See [[Sysadmin/Autocheckout repositories]] for all the implementation details.&lt;br /&gt;
&lt;br /&gt;
== DNSSEC details ==&lt;br /&gt;
&lt;br /&gt;
=== How to create keys for a new domain ===&lt;br /&gt;
&lt;br /&gt;
We standardized on algorithm 13 (ECDSAP256SHA256) because it&#039;s what RFC 8624 recommends and what Cloudflare uses:&lt;br /&gt;
&lt;br /&gt;
 cd keys&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE codewiz.org&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE -f KSK codewiz.org&lt;br /&gt;
&lt;br /&gt;
=== How to manually sign a zone ===&lt;br /&gt;
Normally, you should use the update-zone script&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -S -e +31536000 -K keys -d keys -o codewiz.org masters/codewiz.org.zone&lt;br /&gt;
 systemctl restart bind9&lt;br /&gt;
&lt;br /&gt;
=== Add DS records to TLD ===&lt;br /&gt;
&lt;br /&gt;
This step must be performed using the interface of the registrar (I used name.com).&lt;br /&gt;
&lt;br /&gt;
The data to copy is written by dnssec-signzone to the file keys/dsset-DOMAIN and looks like this:&lt;br /&gt;
&lt;br /&gt;
  codewiz.org.            IN DS 53631 13 2 C31F7790197F0DC5CE7726F731FA55A9189289540749A68A937BFD09 797D72E6&lt;br /&gt;
&lt;br /&gt;
=== How to validate zone data ===&lt;br /&gt;
&lt;br /&gt;
==== Online validators ====&lt;br /&gt;
* https://dnssec-analyzer.verisignlabs.com/codewiz.org&lt;br /&gt;
* https://dnsviz.net/d/codewiz.org/dnssec/&lt;br /&gt;
&lt;br /&gt;
==== CLI tools ====&lt;br /&gt;
&lt;br /&gt;
* Validate zone data with dig:&lt;br /&gt;
 dig +dnssec +multiline -t ns codewiz.org. @1.1.1.1 | grep ad&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against domain DNSKEY:&lt;br /&gt;
 $ unbound-host -y &#039;codewiz.org. DNSKEY 256 3 13 IbIcUsP+G7cnSmi12BpuiMjM9LnqvDaRS+qiquGKXxH/qAuOGlODFA4E 18O1OErfu0CkFjg6JEynOG6cSR40yg==&#039; -v codewiz.org&lt;br /&gt;
 codewiz.org has address 209.51.188.53 (secure)&lt;br /&gt;
 codewiz.org has IPv6 address 2001:470:142:7::11 (secure)&lt;br /&gt;
 codewiz.org mail is handled by 10 neo.develer.net. (secure)&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against a domain&#039;s DS key:&lt;br /&gt;
 unbound-host -y &#039;codewiz.org. DS 53631 13 2 C31F7790197F0DC5CE7726F731FA55A9189289540749A68A937BFD09 797D72E6&#039; -v codewiz.org&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against root DNSKEY:&lt;br /&gt;
 unbound-host -D -y &#039;. DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=&#039; -v codewiz.org&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104058</id>
		<title>Service/Nameservers</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/Nameservers&amp;diff=104058"/>
		<updated>2022-07-31T07:31:09Z</updated>

		<summary type="html">&lt;p&gt;Bernie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
To request changes to DNS records, contact &amp;lt;hostmaster AT sugarlabs DOT org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hostmasters ==&lt;br /&gt;
&lt;br /&gt;
Current hostmasters are:&lt;br /&gt;
&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
&lt;br /&gt;
(please use preferably the administrative address)&lt;br /&gt;
&lt;br /&gt;
== Registered nameservers ==&lt;br /&gt;
&lt;br /&gt;
The following nameservers are currently registered in whois records for our domains:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  hostname&lt;br /&gt;
!  aka&lt;br /&gt;
!  location&lt;br /&gt;
!  IPv4&lt;br /&gt;
!  IPv6&lt;br /&gt;
|-&lt;br /&gt;
!  &#039;&#039;&#039;ns1.sugarlabs.org&#039;&#039;&#039;&lt;br /&gt;
|  lightwave&lt;br /&gt;
|  Sonic, Santa Rosa CA, USA&lt;br /&gt;
|  192.184.220.216&lt;br /&gt;
|  2001:5a8:601:f::216/64&lt;br /&gt;
|-&lt;br /&gt;
|  ns2.sugarlabs.net&lt;br /&gt;
|  sunjammer&lt;br /&gt;
|  FSF, Boston, USA&lt;br /&gt;
|  208.118.235.53&lt;br /&gt;
|  2001:470:142:7::11&lt;br /&gt;
|-&lt;br /&gt;
|  ns1.codewiz.org&lt;br /&gt;
|  neo&lt;br /&gt;
|  Develer, Firenze, Italy&lt;br /&gt;
|  2.228.72.10&lt;br /&gt;
|  2001:b02:400:1::10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Editing zone data ==&lt;br /&gt;
&lt;br /&gt;
We use distributed version control and admin scripts to arbitrate edits to the zone files and nameserver configurations.&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT THESE FILES DIRECTLY ON THE MASTER NAMESERVER, ANY CHANGES WILL BE OVERWRITTEN&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Checkout nameserver config ==&lt;br /&gt;
&lt;br /&gt;
Checkout the git repository containing the DNS zone data:&lt;br /&gt;
&lt;br /&gt;
 git clone lightwave.sugarlabs.org:/var/lib/bind/etc/bind ns&lt;br /&gt;
&lt;br /&gt;
Do not checkout the repository as root. Your user on [[Machine/lightwave]] needs to be in group hostmaster.&lt;br /&gt;
&lt;br /&gt;
In order to make changes, you will also need the private keys for your domain. For security reasons, these&lt;br /&gt;
are not kept on the master DNS itself. Ask one of the other hostmasters for a copy and put it in the keys/&lt;br /&gt;
directory alongside the public keys.&lt;br /&gt;
&lt;br /&gt;
== Edit zone data ==&lt;br /&gt;
&lt;br /&gt;
Guidelines for editing zones:&lt;br /&gt;
&lt;br /&gt;
* Please keep the zone files tidy, by following indentation style&lt;br /&gt;
* Add comments as needed to describe obscure records in the zone files&lt;br /&gt;
* Remember to keep reverse zones always up to date&lt;br /&gt;
* &#039;&#039;&#039;Bump the serials after each update!&#039;&#039;&#039; (this is done automatically by our update-zone script)&lt;br /&gt;
&lt;br /&gt;
== Push changes back to master nameserver ==&lt;br /&gt;
&lt;br /&gt;
After you edited the sugarlabs.org zone, execute this script to re-sign the zone&lt;br /&gt;
and push your changes to the master DNS:&lt;br /&gt;
&lt;br /&gt;
 ./update-sugarlabs&lt;br /&gt;
&lt;br /&gt;
The script does:&lt;br /&gt;
* bump the serial number&lt;br /&gt;
* re-sign the zone with the DNSSEC private keys (which you must copy to keys/)&lt;br /&gt;
* commit your changes&lt;br /&gt;
* push the commit to the remote repository&lt;br /&gt;
&lt;br /&gt;
The post-receive hook automates the rest of the procedure:&lt;br /&gt;
* send a notification email to systems-logs@&lt;br /&gt;
* checkout your changes to the bind configuration directory&lt;br /&gt;
* make BIND reload its configuration&lt;br /&gt;
* watch BIND&#039;s log file to ensure there are no errors and slaves are actually transferring the changed zones&lt;br /&gt;
&lt;br /&gt;
For other domains hosted on Sugar Labs infrastructure (such as eg. somosazucar.org) use:&lt;br /&gt;
&lt;br /&gt;
 ./update-zone turtleartday.org&lt;br /&gt;
&lt;br /&gt;
This will check the zone before pushing.&lt;br /&gt;
&lt;br /&gt;
== GIT repository implementation details ==&lt;br /&gt;
&lt;br /&gt;
We use a detached working directory to allow the automatic checkout to work (see post-receive hook below). The git repository is in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind.git&amp;lt;/code&amp;gt; and the working directory lives in &amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;/etc/bind&amp;lt;/code&amp;gt; is a symlink to the working directory (&amp;lt;code&amp;gt;/var/lib/bind/etc/bind&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
See [[Sysadmin/Autocheckout repositories]] for all the implementation details.&lt;br /&gt;
&lt;br /&gt;
== DNSSEC details ==&lt;br /&gt;
&lt;br /&gt;
=== How to create keys for a new domain ===&lt;br /&gt;
&lt;br /&gt;
We standardized on algorithm 13 (ECDSAP256SHA256) because it&#039;s what RFC 8624 recommends and what Cloudflare uses:&lt;br /&gt;
&lt;br /&gt;
 cd keys&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE codewiz.org&lt;br /&gt;
 dnssec-keygen -K keys -3 -a ECDSAP256SHA256 -n ZONE -f KSK codewiz.org&lt;br /&gt;
&lt;br /&gt;
=== How to manually sign a zone ===&lt;br /&gt;
Normally, you should use the update-zone script&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -S -e +31536000 -K keys -d keys -o codewiz.org masters/codewiz.org.zone&lt;br /&gt;
 systemctl restart bind9&lt;br /&gt;
&lt;br /&gt;
=== Add DS records to TLD ===&lt;br /&gt;
&lt;br /&gt;
This step must be performed using the interface of the registrar (I used name.com).&lt;br /&gt;
&lt;br /&gt;
The data to copy is written by dnssec-signzone to the file keys/dsset-DOMAIN and looks like this:&lt;br /&gt;
&lt;br /&gt;
  codewiz.org.            IN DS 53631 13 2 C31F7790197F0DC5CE7726F731FA55A9189289540749A68A937BFD09 797D72E6&lt;br /&gt;
&lt;br /&gt;
=== How to validate zone data ===&lt;br /&gt;
&lt;br /&gt;
==== Online validators ====&lt;br /&gt;
* https://dnssec-analyzer.verisignlabs.com/codewiz.org&lt;br /&gt;
* https://dnsviz.net/d/codewiz.org/dnssec/&lt;br /&gt;
&lt;br /&gt;
==== CLI tools ====&lt;br /&gt;
&lt;br /&gt;
* Validate zone data with dig:&lt;br /&gt;
 dig +dnssec +multiline -t ns codewiz.org. @1.1.1.1 | grep ad&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against domain DNSKEY:&lt;br /&gt;
 $ unbound-host -y &#039;codewiz.org. DNSKEY 256 3 13 IbIcUsP+G7cnSmi12BpuiMjM9LnqvDaRS+qiquGKXxH/qAuOGlODFA4E 18O1OErfu0CkFjg6JEynOG6cSR40yg==&#039; -v codewiz.org&lt;br /&gt;
 codewiz.org has address 209.51.188.53 (secure)&lt;br /&gt;
 codewiz.org has IPv6 address 2001:470:142:7::11 (secure)&lt;br /&gt;
 codewiz.org mail is handled by 10 neo.develer.net. (secure)&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against a domain&#039;s DS key:&lt;br /&gt;
 unbound-host -y &#039;codewiz.org. DS 53631 13 2 C31F7790197F0DC5CE7726F731FA55A9189289540749A68A937BFD09 797D72E6&#039; -v codewiz.org&lt;br /&gt;
&lt;br /&gt;
* Validate zone data against root DNSKEY:&lt;br /&gt;
 unbound-host -D -y &#039;. DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=&#039; -v codewiz.org&lt;/div&gt;</summary>
		<author><name>Bernie</name></author>
	</entry>
</feed>