SlideShare a Scribd company logo
Installing a Cluster of Raspberry Pis
What is a Raspberry Pi?
Single board computer
Designed to promote teaching of computer science
As of November 2016, 11 million units sold
Raspberry Pi 3 Model B - $35!!
Raspberry Pi Stats
1.2 GHz quad-core ARM
64/32 bit capable
1 GB RAM
1 MicroSD slot
4 USB ports
100 Mbit Ethernet
HDMI
Bluetooth
Wireless LAN
Audio / Composite video out
Camera header
Display header
40 pins of general-purpose I/O
Raspberry Pi Software
Supports Linux
Debian (“Raspbian”)
•  Main software release
CentOS 7.x
•  Only 32-bit for now
Many other distributions too
And now Stacki!
Stacki Ace
The best ARM on your team is an Ace
Stacki pallet for ARM
•  Based on Stacki 4.0
Stacki-ace pallet for ARM
•  Raspberry Pi specific configuration
Why Stacki Ace?
Great marketing vehicle
X86_64 rules the server space
•  But 15 billion ARMs shipped in 2015
Can install a datacenter with a $35 device
Interesting new use cases
•  Low-cost pooled storage
•  IoT
Stacki Ace – What does it do?
Converts a Raspberry Pi into a Stacki frontend
Stacki Ace frontend can install:
•  Other Raspberry Pis (“ace” appliances)
•  Traditional x86_64 servers (“backend”
appliances)
What We Are Going To Do Today
We are going to use a pre-installed Stacki Ace Frontend to build 3
Stacki Ace Backends
Stacki Ace
Frontend
(rasp002)
Network Switch
Stacki Ace
Backend
(rasp003)
Stacki Ace
Backend
(rasp004)
Stacki Ace
Backend
(rasp005)
Install Stacki Ace Backends
How We Installed the Stacki Ace Frontend
Frontend Installation
Download “stacki-centos.img”:
Copy “stacki-centos.img” to a MicroSD card:
Boot the Raspberry Pi that will be the frontend with the MicroSD card
wget 
http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/stacki-centos.img
dd if=stacki-centos.img of=/dev/sdd
Frontend Installation
When the frontend boots, login as “root”
•  Password is: “stacki-centos”
•  You’ll be asked to change the password
Download the Stacki Ace pallets:
wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/
os-7.3-7.x.armv7hl.disk1.iso
wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/
stacki-4.1-7.x.armv7hl.disk1.iso
wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/
stacki-ace-4.1-7.x.armv7hl.disk1.iso
Frontend Installation
Download and run “frontend-install.py”:
This converts vanilla CentOS to a Stacki Ace frontend
wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/
frontend-install.py
./frontend-install.py --stacki-iso=stacki-4.1-7.x.armv7hl.disk1.iso 
--stacki-version=4.1 --stacki-name=stacki 
-–extra-iso=os-7.3-7.x.armv7hl.disk1.iso
Frontend Installation
Frontend Installation
Frontend Installation
Frontend Installation
Frontend Installation
Frontend Installation
Install the “stacki-ace” and “os” pallets:
Apply the “stacki-ace” pallet:
Stacki Ace frontend can now build Stacki Ace backend nodes
stack add pallet os-7.3-7.x.armv7hl.disk1.iso
stack enable pallet os
stack add pallet stacki-ace-4.1-7.x.armv7hl.disk1.iso
stack enable pallet stacki-ace
stack run pallet stacki-ace | bash -x
Refresher
We are going to use a pre-installed Stacki Ace Frontend to build 3
Stacki Ace Backends
Stacki Ace
Frontend
(rasp002)
Network Switch
Stacki Ace
Backend
(rasp003)
Stacki Ace
Backend
(rasp004)
Stacki Ace
Backend
(rasp005)
Contact
For More Info On Stacki Ace
GitHub for downloads and documentation:
Join our Slack channel and our Google Group:
Questions? Email me:
https://github.com/StackIQ/stacki-ace
https://www.stackiq.com/support/
greg.bruno@stackiq.com
Internals
Basic Kickstart File Processing
Wrote a “kickstart interpreter” for CentOS ARM
•  No kickstart on CentOS ARM
Dynamically create a valid kickstart file and send it back to the Pi
•  Pre
•  Package
•  Post
Storage Configuration
Set “bootdisk” parameter
•  Default: mmcblk0 (the MicroSD card)
•  USB storage: sda
Can install onto:
•  MicroSD card
•  USB-connected hard disk
•  USB stick
Note: If you install onto a USB device, you no longer need a
MicroSD card
Kickstart File Processing
During an install, NFS mount “/” from the frontend
•  This allows for the backend Pi to be “off” the storage so we can
repartition and reformat “/boot” and “/”
We configure /etc/dhcp/dhcpd.conf to answer Raspberry Pi DHCP
requests
•  Which we automatically enable via
“program_usb_boot_mode=1” in /boot/config.txt
Basic Kickstart File Processing
On each boot, backend asks for kickstart file
Looks at attributes section for “bootaction” attribute
If “bootaction” == “install”, then parse and execute the kickstart file
•  Otherwise, do nothing
Future
Avalanche Package Installation
•  Benefits x86_64 too
•  Parallel file distribution on running hosts
Storage and partitioning spreadsheets
Wireless networking

More Related Content

PPTX
Provisioning Heterogenous Bare Metal with Stacki
PPTX
Automation of your OpenStack Infrastructure with Stacki
PPTX
Building a Hadoop Cluster with Stacki
PPTX
Installing a Cluster of Raspberry Pis with Stacki Ace
PDF
Deploying Alluxio in the Cloud for Machine Learning
PDF
Microsoft Docker Meetup - Tutum Spring 2015
PDF
Spark Pipelines in the Cloud with Alluxio with Gene Pang
PPTX
Getting started with automation using ansible
Provisioning Heterogenous Bare Metal with Stacki
Automation of your OpenStack Infrastructure with Stacki
Building a Hadoop Cluster with Stacki
Installing a Cluster of Raspberry Pis with Stacki Ace
Deploying Alluxio in the Cloud for Machine Learning
Microsoft Docker Meetup - Tutum Spring 2015
Spark Pipelines in the Cloud with Alluxio with Gene Pang
Getting started with automation using ansible

What's hot (20)

PDF
Alluxio data orchestration for machine learning
PDF
OpenNebula Conf 2014 | Lightning talk: OpenNebula Puppet Module - Norman Mess...
PPTX
Building Repeatable Infrastructure using Terraform
PDF
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
PPT
What is OpenStack Trove? Trove Day 2014
PDF
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
PDF
Exploring Github Data with Apache Drill on ARM64
PDF
Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...
PPTX
The State of Trove: The OpenStack Database-as-a-Service
PDF
Hands On Trove: Database as a Service in OpenStack
PPTX
Redis vs Aerospike
PDF
PDF
Routed Fabrics For Ceph
PDF
Disaggregating Ceph using NVMeoF
PDF
Everything you wanted to know about Trove but didn't know whom to ask!
PDF
ApacheCon 2021: Apache NiFi 101- introduction and best practices
PDF
Luci, ricci and the rac bc
PDF
OpenStack in Action 4! Serge Frezefond - Database Clusters as a Service in O...
PDF
A Storage Story #ChefConf2013
PPTX
Optimized Hive replication
Alluxio data orchestration for machine learning
OpenNebula Conf 2014 | Lightning talk: OpenNebula Puppet Module - Norman Mess...
Building Repeatable Infrastructure using Terraform
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
What is OpenStack Trove? Trove Day 2014
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
Exploring Github Data with Apache Drill on ARM64
Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...
The State of Trove: The OpenStack Database-as-a-Service
Hands On Trove: Database as a Service in OpenStack
Redis vs Aerospike
Routed Fabrics For Ceph
Disaggregating Ceph using NVMeoF
Everything you wanted to know about Trove but didn't know whom to ask!
ApacheCon 2021: Apache NiFi 101- introduction and best practices
Luci, ricci and the rac bc
OpenStack in Action 4! Serge Frezefond - Database Clusters as a Service in O...
A Storage Story #ChefConf2013
Optimized Hive replication
Ad

Similar to Installing a Cluster of Raspberry Pis with Stacki Ace (20)

PPTX
StackiFest 2017 Technology Update
PDF
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
PDF
Introduction to Stacki - World's fastest Linux server provisioning Tool
PPTX
Ceph Day Tokyo - Bring Ceph to Enterprise
PDF
Ceph Day Taipei - Bring Ceph to Enterprise
PPTX
RaspberryPi + IoT - Lab to switch on and off a light bulb
PPTX
Ceph Day Bring Ceph To Enterprise
PDF
What Makes the Raspberry Pi 5 So Special?
PDF
Provisioning Servers Made Easy
PPTX
Stacki at the Seattle Scalability Meetup
PPTX
PDF
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
PDF
Automotive Grade Linux on Raspberry Pi: How Does It Work?
PDF
Rapid IoT Prototyping with Tizen on Raspberry Pi
PDF
Raspberry pi Board Hardware & Software Setup
PDF
SF Bay Area OpenStack Meetup Stacki Presentation
PDF
Getting started with AGL using a Raspberry Pi
ODP
OpenSolaris 2009.06 Workshop
PDF
Architecture Walkthrough of Fortissimo All Flash or Hybrid Flash Array
PDF
Architecture Walkthrough of Fortissimo All Flash or Hybrid Flash Array
StackiFest 2017 Technology Update
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Introduction to Stacki - World's fastest Linux server provisioning Tool
Ceph Day Tokyo - Bring Ceph to Enterprise
Ceph Day Taipei - Bring Ceph to Enterprise
RaspberryPi + IoT - Lab to switch on and off a light bulb
Ceph Day Bring Ceph To Enterprise
What Makes the Raspberry Pi 5 So Special?
Provisioning Servers Made Easy
Stacki at the Seattle Scalability Meetup
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Rapid IoT Prototyping with Tizen on Raspberry Pi
Raspberry pi Board Hardware & Software Setup
SF Bay Area OpenStack Meetup Stacki Presentation
Getting started with AGL using a Raspberry Pi
OpenSolaris 2009.06 Workshop
Architecture Walkthrough of Fortissimo All Flash or Hybrid Flash Array
Architecture Walkthrough of Fortissimo All Flash or Hybrid Flash Array
Ad

More from StackIQ (20)

PPTX
How Teradata uses Stacki
PPTX
StackiFest 2017 Welcome & Opening Address
PDF
Provisioning with Stacki at NIST
PDF
Public vs. Private Cloud Performance by Flex
PPTX
StackiFest16: Building a Cluster with Stacki - Greg Bruno
PPTX
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
PDF
StackiFest16: Automation for Event-Driven Infrastructure - Dave Boucha
PDF
StackiFest16: What's Next in Stacki - Mason Katz
PDF
StackiFest16: CoreOS/Ubuntu on Stacki
PDF
StackiFest16: Building a Cart
PDF
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
PDF
StackiFest 16: Stacki Overview- Anoop Rajendra
PDF
Introduction to Stacki at Atlanta Meetup February 2016
PDF
Salesforce at Stacki Atlanta Meetup February 2016
PDF
Private Cloud vs. Public Cloud
PDF
Datacenter Word Search
PDF
Stacki: Remove Commands
PDF
The Big Picture on Hadoop
PDF
Stacki Crossword Puzzle
PDF
Open Source Adoption in the Enterprise
How Teradata uses Stacki
StackiFest 2017 Welcome & Opening Address
Provisioning with Stacki at NIST
Public vs. Private Cloud Performance by Flex
StackiFest16: Building a Cluster with Stacki - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: Automation for Event-Driven Infrastructure - Dave Boucha
StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: CoreOS/Ubuntu on Stacki
StackiFest16: Building a Cart
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackiFest 16: Stacki Overview- Anoop Rajendra
Introduction to Stacki at Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
Private Cloud vs. Public Cloud
Datacenter Word Search
Stacki: Remove Commands
The Big Picture on Hadoop
Stacki Crossword Puzzle
Open Source Adoption in the Enterprise

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
cuic standard and advanced reporting.pdf
MIND Revenue Release Quarter 2 2025 Press Release
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Network Security Unit 5.pdf for BCA BBA.
Spectral efficient network and resource selection model in 5G networks
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Building Integrated photovoltaic BIPV_UPV.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Installing a Cluster of Raspberry Pis with Stacki Ace

  • 1. Installing a Cluster of Raspberry Pis
  • 2. What is a Raspberry Pi? Single board computer Designed to promote teaching of computer science As of November 2016, 11 million units sold Raspberry Pi 3 Model B - $35!!
  • 3. Raspberry Pi Stats 1.2 GHz quad-core ARM 64/32 bit capable 1 GB RAM 1 MicroSD slot 4 USB ports 100 Mbit Ethernet HDMI Bluetooth Wireless LAN Audio / Composite video out Camera header Display header 40 pins of general-purpose I/O
  • 4. Raspberry Pi Software Supports Linux Debian (“Raspbian”) •  Main software release CentOS 7.x •  Only 32-bit for now Many other distributions too And now Stacki!
  • 5. Stacki Ace The best ARM on your team is an Ace Stacki pallet for ARM •  Based on Stacki 4.0 Stacki-ace pallet for ARM •  Raspberry Pi specific configuration
  • 6. Why Stacki Ace? Great marketing vehicle X86_64 rules the server space •  But 15 billion ARMs shipped in 2015 Can install a datacenter with a $35 device Interesting new use cases •  Low-cost pooled storage •  IoT
  • 7. Stacki Ace – What does it do? Converts a Raspberry Pi into a Stacki frontend Stacki Ace frontend can install: •  Other Raspberry Pis (“ace” appliances) •  Traditional x86_64 servers (“backend” appliances)
  • 8. What We Are Going To Do Today We are going to use a pre-installed Stacki Ace Frontend to build 3 Stacki Ace Backends Stacki Ace Frontend (rasp002) Network Switch Stacki Ace Backend (rasp003) Stacki Ace Backend (rasp004) Stacki Ace Backend (rasp005)
  • 10. How We Installed the Stacki Ace Frontend
  • 11. Frontend Installation Download “stacki-centos.img”: Copy “stacki-centos.img” to a MicroSD card: Boot the Raspberry Pi that will be the frontend with the MicroSD card wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/stacki-centos.img dd if=stacki-centos.img of=/dev/sdd
  • 12. Frontend Installation When the frontend boots, login as “root” •  Password is: “stacki-centos” •  You’ll be asked to change the password Download the Stacki Ace pallets: wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/ os-7.3-7.x.armv7hl.disk1.iso wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/ stacki-4.1-7.x.armv7hl.disk1.iso wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/ stacki-ace-4.1-7.x.armv7hl.disk1.iso
  • 13. Frontend Installation Download and run “frontend-install.py”: This converts vanilla CentOS to a Stacki Ace frontend wget http://stacki.s3.amazonaws.com/public/pallets/4.1/open-source/ace/ frontend-install.py ./frontend-install.py --stacki-iso=stacki-4.1-7.x.armv7hl.disk1.iso --stacki-version=4.1 --stacki-name=stacki -–extra-iso=os-7.3-7.x.armv7hl.disk1.iso
  • 19. Frontend Installation Install the “stacki-ace” and “os” pallets: Apply the “stacki-ace” pallet: Stacki Ace frontend can now build Stacki Ace backend nodes stack add pallet os-7.3-7.x.armv7hl.disk1.iso stack enable pallet os stack add pallet stacki-ace-4.1-7.x.armv7hl.disk1.iso stack enable pallet stacki-ace stack run pallet stacki-ace | bash -x
  • 20. Refresher We are going to use a pre-installed Stacki Ace Frontend to build 3 Stacki Ace Backends Stacki Ace Frontend (rasp002) Network Switch Stacki Ace Backend (rasp003) Stacki Ace Backend (rasp004) Stacki Ace Backend (rasp005)
  • 22. For More Info On Stacki Ace GitHub for downloads and documentation: Join our Slack channel and our Google Group: Questions? Email me: https://github.com/StackIQ/stacki-ace https://www.stackiq.com/support/ greg.bruno@stackiq.com
  • 24. Basic Kickstart File Processing Wrote a “kickstart interpreter” for CentOS ARM •  No kickstart on CentOS ARM Dynamically create a valid kickstart file and send it back to the Pi •  Pre •  Package •  Post
  • 25. Storage Configuration Set “bootdisk” parameter •  Default: mmcblk0 (the MicroSD card) •  USB storage: sda Can install onto: •  MicroSD card •  USB-connected hard disk •  USB stick Note: If you install onto a USB device, you no longer need a MicroSD card
  • 26. Kickstart File Processing During an install, NFS mount “/” from the frontend •  This allows for the backend Pi to be “off” the storage so we can repartition and reformat “/boot” and “/” We configure /etc/dhcp/dhcpd.conf to answer Raspberry Pi DHCP requests •  Which we automatically enable via “program_usb_boot_mode=1” in /boot/config.txt
  • 27. Basic Kickstart File Processing On each boot, backend asks for kickstart file Looks at attributes section for “bootaction” attribute If “bootaction” == “install”, then parse and execute the kickstart file •  Otherwise, do nothing
  • 29. Avalanche Package Installation •  Benefits x86_64 too •  Parallel file distribution on running hosts Storage and partitioning spreadsheets Wireless networking