Posted on

Prototype Raspberry Pi Cluster Board

The first samples of the miniNodes Raspberry Pi Cluster Board have arrived, and testing can now begin!

Thanks to the very gracious Arm Innovator Program, miniNodes was able to design and build this board with the help of Gumstix!  The design includes 5 Raspberry Pi Compute Module slots, an integrated Ethernet Switch, and power delivered to each node via the PCB.  All that is required are the Raspberry Pi CoM’s, and a single power supply to run the whole cluster.

We are in the process of validating the hardware, and ensuring proper functionality, but hope to launch the board soon!

mininodes-raspberry-pi-cluster-board

Posted on

miniNodes ARM Innovators Program Interview

The full Arm Innovators Program interview is now posted, and we are proud to be highlighted by Arm for our innovations in the Arm Server ecosystem!

As you can see, we are currently prototyping a Raspberry Pi Cluster PCB that will hold 5 Raspberry Pi Computer on Module (CoM) boards, with a power input and ethernet switch built in.

This Raspberry Pi Cluster Board will allow the Docker, Kubernetes, OpenFasS, Minio, and other cluster projects to easily develop, test, and build their software in a cheap and convenient way, with no cabling mess.  Home automation, IoT, and hardware hacking are other potential uses for the board.

We’re still a few weeks away from launching, but keep watching this space as we will be sure to make an announcement as soon as it is ready!

mininodes-arm-innovator

Posted on

ARM Server Update, Spring 2017

As always, much has changed in the ARM Server world since our last post!  Here are the highlights of what’s going on in the Linux on ARM Server community:

First and foremost, a huge announcement from Microsoft came at the 2017 Open Compute Project (OCP) U.S. Summit last month.  Microsoft stated they can utilize ARM Servers to power over 50% of their Cloud Workload, and demonstrated two designs, one based on the Cavium ThunderX2, and one based on the Qualcomm Centriq 2400.  They even showed an internal build of Windows Server running on the Qualcomm.

Next, 96Boards showed off all the latest projects and boards they have been working on at Linaro Connect, from IoT to the powerful Qualcomm Snapdragon 820 SBC.

Finally, on the Raspberry Pi front, a new Raspberry Pi Zero was released with WiFi built-in.  This will allow the Raspberry Pi Zero to be more easily adapted to IoT applications, without the need for a USB Wi-Fi adapter or USB ethernet adapter that was previously required.  This simpler solution addresses one of the biggest complaints about the Pi Zero.

 

 

Posted on

ARM Server Linux Update, June 2016

As usual, a lot has changed in just a short time since our last update.  Here are some of the highlights from industry news.

First and foremost, the RaspberryPi 3 has continued to be the most popular ARM single board computer.  It now includes WiFi and Bluetooth, and the official Raspbian operating system has been upgraded to include support for the new features.  While it has a 64-bit processor, for the time being it still uses a 32-bit operating system.

Just a few days ago, we got some detail on the Cavium ThunderX2 processor that is forthcoming.  This is an enterprise-grade processor that will have 54 cores and support up to 100gb of ethernet bandwidth.  It will deliver 2x to 3x the performance of the current ThunderX processor, and should be able to compete head-to-head with Xeon’s in many workloads.

Finally, the Pine64 has been shipping in volume now, with most Kickstarter backers having received their boards.  The Pine64 is based on a 64-bit Allwinner A64 processor, which is not the most powerful around, but it sets a new low-price for 64-bit ARM hardware.  At just $15 for the entry level Pine64, the price of 64-bit ARM hardware has dropped from $3,000 to $15 in the course of about 1 year.  Talk about rapid innovation!

Posted on

Hosted Raspberry Pi 3 Servers Now Available!

miniNodes.com is proud to be the first cloud hosting provider to offer the new Raspberry Pi 3 as a hosted server.  The Raspberry Pi 3 combines a powerful new Broadcom quad-core 64-bit ARM processor, 1gb of RAM, and the reliable Raspbian Stretch linux operating system.  This makes the Raspberry Pi 3 a great platform for a small ARM server that offers plenty of compute capacity for basic services such as hosting a website or email, API hosting and development, lightweight development frameworks such as NodeJS application hosting, Internet of Things gateways and communication servers, IoT endpoints, Azure Edge container hosts, and more.  The Raspberry Pi 3 server is also a great way to experiment with ARM servers in the cloud, and ensure code compatibility with other more powerful ARM servers that are forthcoming.  Each hosted Raspberry Pi 3 server comes with SSH access and a dedicated IP address, making deployments to the server easy and familiar to developers.

Check them out here:  https://www.mininodes.com/product/raspberry-pi-3-server/

Posted on

How-to: Install Varnish and Nginx on ARM Servers

With the release of the Raspberry Pi 3 Model B, we read that Mythic Beasts was hosting a portion of the traffic going to the RaspberryPi.org site on an actual Pi 3! Pretty neat! We took a closer look and realized there wasn’t too much magic going on here, so we decided to write a quick how-to on setting up Varnish to cache content and speed up rendering and delivery of dynamic web pages. Since our little ARM servers are (obviously) not the most powerful platforms around, this can dramatically increase the performance and responsiveness of web servers running on ARM.

This guide will detail how setup Varnish and Nginx on a Debian 8 “Jessie” Server running on ARM.

First and foremost, we need to perform the actual installation of the software, then we can configure it. We simply run:

sudo apt-get install nginx varnish.

Now, we need to make some changes to setup the environment properly.

The first file we need to take a look at is the Nginx configuration file which should be located at /etc/nginx/sites-available/default

Specifically, we need to move Nginx off of port 80 so that Varnish will be able to take over port 80 traffic. For this example, we will place Nginx on port 8080 instead, so, we update the file to reflect the following:

server
listen 8080; {
root /usr/share/nginx/html;
index index.html index.htm;

# Make site accessible from http://localhost/
server_name localhost.localdomain;

(We are not using a fully qualified hostname in this example, so later on we will go update our hosts file to reflect this.)

Next, we can configure Varnish to go look for Nginx on port 8080, by editing the Varnish config file located at /usr/local/etc/varnish/default.vcl and editing the ‘backend’ section. Here is a simple example: (Note – This one has some common WordPress login pages excluded from being cached)

vcl 4.0;
# Based on: https://github.com/mattiasgeniar/varnish-4.0-configuration-templates/blob/master/default.vcl

import std;
import directors;

backend default {
.host = "127.0.0.1";
.port = "8080";
}

sub vcl_recv {
# Do not cache following pages (edit as needed for your configuration).
if (!( req.url ~ "wp-(login|admin|comments-post)" )) {
return (pass);
}

# Drop the cookies for everything else
unset req.http.cookie;

# Try a cache-lookup
return (hash);
}

sub vcl_backend_response {
# Below will cache the page for one week.(1s = 1 sec, 1d = 1 day)
set beresp.ttl = 1w;
}

Once Varnish knows where to look for Nginx, we can now set Varnish to take over port 80 that we previously freed up. To do this, we need to modify the Varnish start file, which in this case is located at /etc/systemd/system/varnish.service because we are using Debian. If you are on another distro, this location may vary. We need to change the ‘-a’ flag from -a :6081 to -a :80, then save and close the file.

The last change we need to make is to our hosts file, to ensure that the local network is interpreted correctly. We need to edit the /etc/hosts file, and add a line that translates 127.0.0.1 to localhost and localhost.localdomain:

127.0.0.1 localhost localhost.localdomain

At this point, we could technically restart the Nginx and Varnish services to read in these changes, but a reboot is probably a good idea as well if you can afford it.

Once the server comes back up, you should now have Varnish running on port 80 caching content from your Nginx web server. One way to test this is to go to http://www.isvarnishworking.com, and put in your IP address (keep in mind, you need a public facing IP for this). If everything is working, you should see a message like this:

varnish-nginx-on-arm-server

Additionally, you can run ‘sudo varnishstat’ to see a detailed breakdown of how much caching is being done by Varnish.

So, thanks go to Raspberry Pi for inspiring us to attempt to duplicate their work. Hopefully this helps you install Varnish and Nginx on ARM, and speed up web page rendering on your Pi’s or other small devices!

Posted on

HOW-TO: Install Minecraft Server on the Raspberry Pi Server or Ubuntu 14.04 ARM Server

Minecraft is one of the most popular games played online, and installing your own Minecraft Server on ARM is easy! These instructions will allow you to install Minecraft Server on the Raspberry Pi, or on our Ubuntu 14.04 ARM Server.

First, we need to connect to our node via SSH.

Once logged in, lets make sure we keep our downloads in our home directory for ease of use:

cd /home

Once in the home directory, we are first going to download and set up Java.

We do that by running:

sudo wget --no-check-certificate http://www.java.net/download/jdk8/archive/b111/binaries/jdk-8-ea-b111-linux-arm-vfp-hflt-09_oct_2013.tar.gz

After Java has finished downloading, we need to extract it:

sudo tar zxvf jdk-8-ea-b111-linux-arm-vfp-hflt-09_oct_2013.tar.gz -C /opt/

If the download and extract were successful, we will test to make sure Java is working by:

sudo /opt/jdk1.8.0/bin/java -version

We should see this, confirming Java is now ready:

java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b111)

Java HotSpot(TM) Client VM (build 25.0-b53, mixed mode)

Finally, let’s remove the downloaded gzip to save a bit of disk space:

sudo rm jdk-8-ea-b111-linux-arm-vfp-hflt-09_oct_2013.tar.gz

Now, it is time to download Minecraft Server!

wget https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar

Once it has finished downloading, we can launch it by running:

sudo /opt/jdk1.8.0/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar

The Raspberry Pi only has 512mb of RAM, so it will not actually allocate 1024…but it will take approximately 400mb or so that is available to it.

The Ubuntu 14.04 ARM server does have a full gig of RAM, but the OS takes up a bit of that. So Minecraft Server will probably reserve about 750mb to 800mb of memory to run in. This is plenty.

At this point, Minecraft Server will go through it’s startup routine, and you will be able to join the newly created world by pointing your game to the IP Address of your node (you can also modify game variables by editing the server.properties file, located in your /home directory.)

Posted on

Hosted Raspberry Pi Servers Now Available on miniNodes.com

miniNodes is proud to announce it is the first provider in North America to offer hosted Raspberry Pi servers.  Although they are small in size, Raspberry Pi Model B+ servers are able to perform many of the same functions and roles larger servers typically fulfill.  Raspberry Pi servers can host websites, email, databases, and DNS, can be used for learning programming languages like Python, Ruby, NodeJS, Bash scripting, and Linux administration, and can even be used as Minecraft servers.

Our hosted Raspberry Pi servers come in either 16gb or 32gb sizes, combined of course with the Pi’s ARM Cortex processor and 512mb of RAM.  Each node has a static IP Address, and SSH access.

For more details or to order, see https://www.mininodes.com/product/raspberry-pi-mininode/