Giter VIP home page Giter VIP logo

px-dev's Introduction

logo

Docker Pulls

PX-Developer Beta

PX-Developer is scale-out storage for containers. Run with container-granular controls for capacity, performance, and availability. Deploying the PX-Developer container on a server with Docker Engine turns that server into a scale-out storage node. Storage runs converged with compute and gives bare-metal drive performance.

PX-Developer aims to improve the storage experience for developer and DevOps teams using containers. This release is an open beta and we want to develop this solution with the community, including for enterprises. (More on our blog.) Contact us to share your feedback, work with us, and to request features. Stay tuned for updates on PX-Developer (PX-Dev for short) and our PX-Enterprise release.

Note:
The full Portworx Documentation site is now online here

Install and Quick Start Guides

As you develop and deploy your apps in containers, use PX-Dev for elastic storage capacity, managed performance, and high availability.

Architecture and Storage

Portworx storage is deployed as a container and runs on a cluster of servers. Application containers provision storage directly through the Docker volume plugins API or the Docker command-line. Administrators and DevOps can alternatively pre-provision storage through the Portworx command-line tool (pxctl) and then set storage policies using the Portworx administrative interface.

Portworx storage runs in a cluster of server nodes.

  • Each server has the PX-Dev container and the Docker daemon.
  • Servers join a cluster and share configuration through the key/value store, such as etcd.
  • The PX-Dev container pools the capacity of the storage media residing on the server. You easily select storage media through the config.json file.

See Deployment Requirements for compatibility requirements.

fig1: storage devices

Storage volumes are thinly provisioned, using capacity only as an application consumes it. Volumes are replicated across the nodes within the cluster, per a volume’s configuration, to ensure high availability.

Using MySQL as an example, a PX-Dev storage cluster has the following characteristics:

  • MySQL is unchanged and continues to write its data to /var/lib/mysql.
  • This data gets stored in the container’s volume, managed by PX-Dev.
  • PX-Dev synchronously and automatically replicates writes to the volume across the cluster.

fig2: MySQL volumes

Each volume specifies its request of resources (such as its max capacity and IOPS) and its individual requirements (such as ext4 as the file system and block size).

Using IOPS as an example, a team can chose to set the MySQL container to have a higher IOPS than an offline batch processing container. Thus, a container scheduler can move containers, without losing storage and while protecting the user experience.

Contact Us

As you use PX-Dev, please share your feedback and ask questions. Find the team on Google Groups.

If your requirements extend beyond the scope of PX-Dev, then please contact Portworx for information on PX-Enterprise.

Reference

Description of Config.json

Field Description Example Required
ClusterID A unique identifier for your cluster. Be sure to use the same identifier on all the nodes you want to cluster. 5ac2ed6f-7e4e-4e1d-8e8c-3a6df1fb61a5 required
mgtiface The network interface for management data. eth0 optional
dataiface The network interface for data transfers. eth1 optional
kvdb The list of URIs to your etcd server cluster. https://myetcd.example.com:4001 required
devices The list of devices that PX-Dev will use. Any disks listed will be reformatted for PX use. /dev/xvda required

Requirements and Limitations

It is highly recommended that you run PX-Dev on a system with at least 4GB RAM.

Requirement Notes
Kernel Version 3.10 or higher
Docker Version 1.10 or higher
KV Database Etcd 2.0 or higher. See https://github.com/coreos/etcd or try a hosted version at https://compose.io/etcd/
CPU 4 cores recommended
Memory 4GB Minimum
Cloud If running in the cloud, AWS Ubuntu 14.04 LTS (HVM) CentOS7 with Updates HVM
systemd If using systemd, Docker should NOT be set to MountFlags=slave. PX-Dev exports mount points and requires shared mount flags. Tracking Docker issue 19625.

Other limitations:

Resource Limit
Cluster Size 3
Per Volume Limit 1TB
Max Volumes 256
Max local devices 3

px-dev's People

Contributors

adityadani avatar ankitgd avatar deep-px avatar erickhan avatar garryknox avatar gourao avatar jsilberm avatar jvinod avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.