Create a USB device that, when configured and connected, exposes one or more Ceph RBD images for use as USB storage, allowing for:

  • Ceph storage consumption by almost any system with a USB port
    • Including dumb devices such as TVs, MP3 players and mobile phones
  • Boot from RBD image
    • By any system capable of booting from a USB mass storage device
  • Minimal configuration
    • Network, ceph.conf, Ceph access key and image pool should be all that's needed for configuration
    • Might be worth looking at SaltStack or WebYaST/Cockpit for configuration

The USB device will run an embedded Linux kernel, utilising the USB gadget stack and Ceph RBD client module. I plan on writing a minimal rbd-image-map helper, that allows for kernel RBD image mapping without requiring the user space Ceph libraries.

The USB device hardware should offer the following characteristics:

  • Small and portable
  • Sufficient CPU, RAM and storage resources to run Linux
    • Preferably multi-core, 1Ghz+, 1GB+ RAM, SD card or eMMC
  • Reasonable network and USB throughput
    • 802.11n and micro USB2 at a minimum
    • Ideally 802.11ac/GbE and micro USB3+
  • Powered via USB, ideally the same port as for data transfer
  • Affordable
    • Preferably less than $50USD

I plan on using my Cubietruck board as a hackweek prototype, which has a dual-core Allwinner A20 chip, with 2GB RAM, GbE and USB2. This should however also be achievable using C.H.I.P ($9 single-core board), NanoPi2 (quad-core $32 board), or UP (Intel Atom board with GbE and USB3).

Looking for hackers with the skills:

ceph rbd arm usb

This project is part of:

Hack Week 13

Activity

  • over 8 years ago: a_faerber liked this project.
  • over 8 years ago: dmdiss added keyword "ceph" to this project.
  • over 8 years ago: dmdiss added keyword "rbd" to this project.
  • over 8 years ago: dmdiss added keyword "arm" to this project.
  • over 8 years ago: dmdiss added keyword "usb" to this project.
  • over 8 years ago: dmdiss started this project.
  • over 8 years ago: dmdiss originated this project.

  • Comments

    Similar Projects

    This project is one of its kind!