blob: 3bfee583181e8f7cfa86fee503213c5244a21825 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
---
title: "Server provisioning & allocation"
---
Standards for provisioning of VMs and physical hosts.
# Alpine Linux
Our standard loadout uses Alpine Linux for all hosts and guests.
- **TODO**: ns1 and ns2 are on Debian, they need to be reprovisioned (add an ns3
while we're at it?)
# Physical hosts
## VM hosts
Our current VM hosts won't scale much further. We need to figure out a better
hardware loadout for these going forward.
## High performance VM hosts
For performance critical services (presently only git.sr.ht demands this), we do
have a standard loadout:
- AMD EPYC 7402 (24 cores, 48 threads)
- Micron 36ASF2G72PZ-2G6F1 RAM (4x, 64G total)
- 1x NVMe for host system, ext4; WD Black 1T
- 4x SSD on SATA, direct passthrough to guest
This is spec'ed to CPU and I/O intensive workloads.
## Build hosts
builds.sr.ht uses dedicated build runners. Our current standard is:
- AS-1013S-MTR SuperMicro barebones
- AMD EPYC 7281 (16 cores, 32 threads)
- M393A4K40CB2-CTD RAM (4x, 128G total)
- 1x NVMe for root, ext4; WD Black 1T
- 3x HDD on SATA for /var, ZFS; 1T each, various vendors/models
This configuration supports up to 16 parallel build slots.
# Virtual machines
There is no standard loadout — tune the specifications for the task at hand.
Generally limit 1 VM == 1 service, and tune accordingly.
|