Funtoo Compute Initiative

From Funtoo
Revision as of 04:56, October 27, 2015 by Drobbins (talk | contribs) (Hardware Deployment and Initial Setup)
Jump to: navigation, search

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 OpenVZ-based infrastructure for hosting, development and other projects, which you can learn more about at 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.

Reference Hardware

The hardware that the Funtoo Project has used for its last two server deployments are documented below:

  1. HP Proliant DL 160 Generation 6 (G6), with 48GB RAM and two 6-core 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.)
  2. Crucial MX200 1TB Solid State Disk. Cost: Approx $330.
  3. Alternate disk configuration: Use a 256GB SSD system disk for the boot, root ,swap and a second 1TB disk that is dedicated to OpenVZ containers.
  4. 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 CPU contact surface with alcohol cleaning pads, and re-apply high-quality thermal grease. Based on my experience, the OEM thermal grease on off-lease servers is often in need of re-application and this will help keep core temperatures well within a safe range.

Hardware Deployment and Initial Setup

Place the 1TB in drive bay 1 as a single ATA disk, and install the Intel64-westmere build of Funtoo Linux following our Install instructions, using the following recommended configuration:

Configuration overview:

  1. I typically allocate 1GB for the /boot filesystem
  2. It's a good idea to have 24-48GB for swap, for emergencies
  3. Use ext4 for the root filesystem. OpenVZ is optimized for and tested on ext4. Don't use any other filesystem for container-related applications.
  4. Rather than using debian-sources, use the openvz-rhel6-stable kernel with the binary USE flag set.
  5. Emerge sys-cluster/vzctl and add the vz service to the default runlevel (this is covered below.)
  6. net.eth0 will be configured using Funtoo Networking as interface-noip, and will be connected to a WAN switch
  7. net.brwan will have net.eth0 as slave, and will be configured with a routable IPv4 address.
  8. net.eth1 will be configured using Funtoo Networking as interface-noip, and will be connected to a fast private LAN switch.
  9. net.brlan will have 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.