Marcos est mon serveur principal, ainsi nommée en l'honneur du sous-commandant Marcos.

Marcos, the quintessential anti-leader, insists that his black mask is a mirror, so that "Marcos is gay in San Francisco, black in South Africa, an Asian in Europe, a Chicano in San Ysidro, an anarchist in Spain, a Palestinian in Israel, a Mayan Indian in the streets of San Cristobal, a Jew in Germany, a Gypsy in Poland, a Mohawk in Quebec, a pacifist in Bosnia, a single woman on the Metro at 10 p.m., a peasant without land, a gang member in the slums, an unemployed worker, an unhappy student and, of course, a Zapatista in the mountains". In other words, he is simply us: we are the leader we've been looking for.

-- Naomi Klein, Socialist Register

Voir aussi la documentation de maintenance, en particulier mail et backup.

  1. marcos
  2. Specification
  3. Hardware maintenance
    1. Screen lockup
  4. Possible phase out
    1. NUC
    2. Vero
    3. GnuBee
    4. Helios
    5. Supermicro
    6. Other SoC boards
    7. Other SAN options

Specification

(copied from configuration)

Hardware maintenance

See configuration for the initial setup notes.

There's a nasty lcd here, see lcd for how to configure it.

See backup for backup and drive replacement procedures.

Screen lockup

Sometimes, Xorg would totally lockup with something like:

[drm:intel_pipe_set_base] *ERROR* pipe is still busy with an old pageflip

This seems to be a bug in the intel driver, reported in a few places:

I tried to upgrade the libdrm-intel1 package:

Start-Date: 2016-08-17  13:23:50
Commandline: apt install -t jessie-backports libdrm-intel1
Install: libdrm-amdgpu1:amd64 (2.4.70-1~bpo8+1, automatic)
Upgrade: libdrm-intel1:amd64 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm-intel1:i386 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm-dev:amd64 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm-radeon1:amd64 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm-radeon1:i386 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm-nouveau2:amd64 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm-nouveau2:i386 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm2:amd64 (2.4.58-2, 2.4.70-1~bpo8+1), libdrm2:i386 (2.4.58-2, 2.4.70-1~bpo8+1)
End-Date: 2016-08-17  13:24:01

It seems to stabilise things, but I'll wait for a while before claiming victory. In august 2015, there was a 94 days uptime. Since then uptime hasn't gone beyond 30-40 days. Once we cross that boundary, we can consider this issue fixed.

Update: in october 2016, the problem was still there. I tried upgrading the xserver-xorg-video-intel, we'll see how it goes.

Update: still deadlocks. december 2017, tried upgrading the kernel to backports.

Possible phase out

marcos came online in early 2011 so it's heading towards its 8 year of service at the time of writing, which is stretching the usual 5-year depreciation cycle we usually have for computer hardware. So I started looking for replacements.

NUC

An easy first target is to buy another NUC like the curie workstation since it's cheap and works well. The downside is that it requires laptop (2.5") hard disks which are more expensive. A replacement drive for Marcos could cost around 200$CAD (2.5" 4TB Seagate at newegg.ca). The 500GB M.2 drives are still around 190$CAD. So a replacement would be at least 800$CAD, probably around 1000$ with memory.

Possible issues:

Vero

Another target would a home-cinema adapter like the Vero which I have heard good things about:

Possible issues:

Update: I've ordered a Vero 4k, we'll see how it goes. It will at least allow me to move the server outside of the living room for now, which will simplify things. It will also postpone storage issues if I just buy an external hard drive... It seems I have eaten over 1TB of storage only in 2018, according to Grafana / Prometheus / Munin. Ironically, Prometheus is about 1% of that (12GB)...

GnuBee

A possible solution is to shift storage to a SAN like the GnuBee. This would relieve stress on each device to provide large amount of storage and considering gigabit is wired everywhere now, we can use (abuse?) the local network and store files on a SAN. Unfortunately, the protocols still suck: we might be stuck on SSH or some similarly nasty interface for security.

Specs:

One problem with the GnuBee is that the manufacturers are not maintaining the drivers and source code for the hardware, which ships only with an outdated version of libreCMC. This means that installing Debian (for example), is tricky. Brown is still working on mainline support and reported in December 2018 that his 4.20 tree was working as "near-mainline".

The Gnubee's hardware also seems to be lacking by modern standards now: the CPU is slow and might have trouble maxing out all drives in the cluster, as 6 drives going full spin will generate a lot of I/O.

Helios

In pre-order: https://kobol.io/helios4/ Interesting alternative to the gnubee (more powerful, among other things).

Supermicro

Supermicro sells cases as well as motherboards, and some of those might be interesting for a home server / NAS solution. For example, the 721Tq has four hot-swappable 3.5" bays for SATA hard drives and two internal 2.5" bays with a Mini-ITX motherboard backend (235$CAD at ATIC). It would require building a whole new server since marcos is microATX but the Mini-ITX form factor is good because it fits well with SoC boards (see below). A friend specifically looked at this atom server which has a nice price tag (618$CAD).

Supermicro also has what they call mobile racks that can fit multiple drives in a 5.25" bays.

Other SoC boards

There are many SoC boards that could be used to create a device from scratch. Unfortunately, many of those don't meet my memory requirements (8+GB):

The Macchiatobin is interesting because it has a DDR4 socket so it supports up to 16GB of ram, but has features I don't need for a home server, like three SFP 10Gig-E ports... Could still be interesting for a SAN if I ever upgrade the network to 10G. 269$-369$.

The Beelink is also interesting: Intel N3450 4GB DDR, 64GB SSD.

The Fitlet 2 runs Debian by default and looks like a nice small machine.

See also the board-db for a full list.

Other SAN options

On top of the above SoC systems, a proper case or some system will be needed to handle more drives. Buying gigantic drives is nice, but it's really a single point of failure and I should probably do some RAID or ZFS at some point.

One option is to delegate this to an external enclosure, like those Orico multi-bay enclosures. They can connect over USB 3 and/or eSATA which should give good performance. It's hard to see how they work or if they work in Linux at all, so compatibility and reliability could be a problem.

SATA and USB throughput could also be a bottleneck. For example, the Seagate Ironwolf 10TB can do up to 210MB/s, which means ~1600Mbit/s, totally overloading USB 2 (480Mbps, so by a factor of 4). USB 3.0 should be able to handle one drive, maybe two or even three (5Gbit/s) but at that point, CPU might become a problem as well. There are also compatibility problems between newer drives and older SATA controllers: marcos' old 3Gbps SATA 2 controller only recognized 4TB out of a Seagate IronWolf 8TB NAS drive.

Of course, computer cases should be able to offer hot-swappable disk slots but strangely it's somewhat rare in user-level hardware. Most SATA controllers and disks support hot-swapping, but it needs to be double-checked.

Created . Edited .