Difference between revisions of "Funtoo Compute Initiative"

From Funtoo
Jump to: navigation, search
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
For many years, the Funtoo project has been using Funtoo Linux for its entire infrastructure. A few years ago, we began to allow Funtoo Linux users to use our [http://openvz.org OpenVZ-based] infrastructure for hosting, development and other projects, which you can learn more about at [[Funtoo Hosting]].
+
{{Note|1=
 +
This page documents our first-generation compute infrastructure. Our second-generation compute infrastructure has not yet been documented on the wiki.}}
  
The '''Funtoo Compute Initiative'' is an effort to document how Funtoo sets up servers and its container infrastructure, including everything from ordering of bare metal, to deployment, operation and maintenance. In short, it's our effort to share all our tricks with you, so you can use Funtoo Linux to quickly and inexpensively deploy very powerful hosting and container-based compute solutions.
+
For many years, the Funtoo project has been using Funtoo Linux for its entire infrastructure. A few years ago, we began to allow Funtoo Linux users to use our original [http://openvz.org OpenVZ container-based] infrastructure for hosting, development and other projects. For our second-generation compute infrastructure, we utilized LXD and ZFS and explored the use of Intel Optane. Our third-generation infrastructure now uses LXD combined with a hybrid BTRFS sotrage solution. If you would like to to learn about how to get a container on our infrastructure, please see [[Funtoo Hosting]].
  
=== Reference Hardware ===
+
The '''Funtoo Compute Initiative''' is an effort to document how Funtoo sets up servers and its container infrastructure, including everything from ordering of bare metal, to deployment, operation and maintenance. In short, it's our effort to share all our tricks with you, so you can use Funtoo Linux to quickly and inexpensively deploy very powerful hosting and container-based compute solutions.
  
The hardware that the Funtoo Project has used for its last two server deployments are documented below:
+
=== Bare-Metal Setup ===
  
# HP Proliant DL 160 Generation 6 (G6), with 48GB RAM and two 6-core [http://ark.intel.com/products/47922/Intel-Xeon-Processor-X5650-12M-Cache-2_66-GHz-6_40-GTs-Intel-QPI Intel Xeon x5650] (2.66 GHz Westmere) processors (25 CPU threads total.) Cost: Approx '''$750 USD used (off-lease) on eBay''' (Other alternatives: DL 360 G7 -- search eBay for the best off-lease options.)
+
This section documents how we typically configure our servers from bare metal.
# Crucial MX200 1TB Solid State Disk. Cost: Approx '''$330'''. Also consider using a 256GB disk for the root filesystem and a second 1TB disk that is dedicated to OpenVZ containers.
 
# 1 tube of high-quality thermal grease
 
  
The above hardware allows you to build a 1U, 12-core, 24-thread, 48GB compute platform with 1TB of SSD storage for right around $1100. Once receiving the off-lease server, it's recommended that you remove the CPU heat sinks, clean them and the tops of the CPUs with alcohol cleaning pads, and re-apply high-quality thermal grease. Based on my experience, the thermal grease on off-lease servers is often in need of re-application.
+
* [[First-Generation Compute Infrastructure]] - legacy
 +
* [[Second-Generation Compute Infrastructure]] - currently in use
 +
* [[Third-Generation Compute Infrastructure]] - in development
  
=== Hardware Deployment and Initial Setup ===
+
[[Category:Official Documentation]]
 
+
[[Category:Compute Initiative]]
Place the 1TB in drive bay 1 as a single ATA disk, and install the [[Intel64-westmere]] build of Funtoo Linux following our [[Install|Install instructions]], using the following recommended configuration:
 
 
 
'''Configuration overview:'''
 
 
 
# I typically allocate 1GB for the /boot filesystem
 
# It's a good idea to have 24-48GB for swap, for emergencies
 
# Use '''ext4''' for the root filesystem. OpenVZ is optimized for ext4.
 
# Rather than using debian-sources, use the {{c|openvz-rhel6-stable}} kernel with the {{c|binary}} USE flag set.
 
# Emerge {{c|sys-cluster/vzctl}} and add the {{c|vz}} service to the default runlevel (this is covered below.)
 
# {{c|net.eth0}} will be configured using [[Networking|Funtoo Networking]] as {{c|interface-noip}}, and will be connected to a WAN switch
 
# {{c|net.brwan}} will have {{c|net.eth0}} as slave, and will be configured with a routable IPv4 address.
 
# {{c|net.eth1}} will be configured using [[Networking|Funtoo Networking]] as {{c|interface-nooip}}, and will be connected to a fast private LAN switch.
 
# {{c|net.brlan}} will have {{c|net.eth1}} as slave, and will be configured with a non-routable static IPv4 address.
 
 
 
The network and initial server configuration will be covered in more detail below.
 

Latest revision as of 21:09, February 11, 2019

   Note

This page documents our first-generation compute infrastructure. Our second-generation compute infrastructure has not yet been documented on the wiki.

For many years, the Funtoo project has been using Funtoo Linux for its entire infrastructure. A few years ago, we began to allow Funtoo Linux users to use our original OpenVZ container-based infrastructure for hosting, development and other projects. For our second-generation compute infrastructure, we utilized LXD and ZFS and explored the use of Intel Optane. Our third-generation infrastructure now uses LXD combined with a hybrid BTRFS sotrage solution. If you would like to to learn about how to get a container on our infrastructure, please see Funtoo Hosting.

The Funtoo Compute Initiative is an effort to document how Funtoo sets up servers and its container infrastructure, including everything from ordering of bare metal, to deployment, operation and maintenance. In short, it's our effort to share all our tricks with you, so you can use Funtoo Linux to quickly and inexpensively deploy very powerful hosting and container-based compute solutions.

Bare-Metal Setup

This section documents how we typically configure our servers from bare metal.