SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
OpenStack Swift
     Workshop
Joe Arnold            Darrell Bishop
 joe@swiftstack.com     darrell@swiftstack.com
 swiftstack.com         @swifterdarrell
 @joearnold


                      San Francisco, CA
                                   April 20, 2012
Getting Ready. . .
Creating Virtualbox Environment


     Virtualbox->File->Import Appliance...
     Start Swift VB 32bit Demo

     ssh -p 3333 -l demo localhost
     Username: demo

     password: password
Uses of Swift
                           9 minutes
Overview of Architecture



Deployment Workshop        47 minutes
Uses of Swift
                           9 minutes
Overview of Architecture



Deployment Workshop        47 minutes
Swi ft is Similar to Amazon S3

               HTTP API




     Data                      Storage

             NOT blocks
             NOT filesystem
             NOT SAN/NAS/DAS
Swift is laser focused
   Swift Attributes




                            High
        Scalable
                         concurrency



                         easy to use
        Durable
jclouds
SwiftStack Distribution

                    Load Balancing


          SSL Termination     Authentication


                OpenStack Object Storage


          OS, Node & Drive     Swift Runtime
            Monitoring          Monitoring


              Operating System + Kernel
SwiftStack Controller


                        Controller
Uses of Swift
                           9 minutes
Overview of Architecture



Deployment Workshop        47 minutes
Swi ft Architecture
Overview

                  Proxy

                 The Ring

                  Zones
Proxy
handles incoming requests


                Scales Horizontally
The Ring
maps data to disk
Storage Zones
isolate physical failures
Quorum Writes
Single-Disk Reads
Replication
process runs continuously
Uses of Swift
                           9 minutes
Overview of Architecture



Deployment Workshop        47 minutes
Workshop Philosophy

     Learn the Guts step-by-step by typing.
     (NOT run our magic deployment tool.)


                 Follow along
                      -or-
        Sit back and watch some typing
Getting Ready. . .
Creating Virtualbox Environment
   Virtualbox->File->Import Appliance...
   Swift VB 32bit Demo.ova
   Start Swift VB 32bit Demo VM
   On host OS, SSH to localhost, port 3333
   (port forwards to guest OS)

   SSH to (host) localhost, port 3333
   $ ssh -p 3333 -l demo localhost

   Username:         demo
   Password:         password
Formatting Devices
$   sudo su -
#   mkfs.xfs -f   -i   size=512   -L   d1   /dev/sdb
#   mkfs.xfs -f   -i   size=512   -L   d2   /dev/sdc
#   mkfs.xfs -f   -i   size=512   -L   d3   /dev/sdd
#   mkfs.xfs -f   -i   size=512   -L   d4   /dev/sde


       H a n d y         C o m m a n d s
Mounted Filesystems
# df
Formatted Filesystems
# blkid
Mounting Drives
#   mkdir   -p   /srv/node/d1
#   mkdir   -p   /srv/node/d2
#   mkdir   -p   /srv/node/d3
#   mkdir   -p   /srv/node/d4

#   mount   -t   xfs   -L   d1   /srv/node/d1
#   mount   -t   xfs   -L   d2   /srv/node/d2
#   mount   -t   xfs   -L   d3   /srv/node/d3
#   mount   -t   xfs   -L   d4   /srv/node/d4

       H a n d y                   C o m m a n d s
#   for i in 1 2 3 4; do
>   mkdir -p /srv/node/d$i
>   mount -t xfs -L d$i /srv/node/d$i
>   done
# chown -R swift:swift /srv/node
Installing Swift
# apt-get install curl gcc bzr python-configobj python-coverage python-dev python-nose
python-setuptools python-simplejson python-xattr python-webob python-eventlet python-
greenlet debhelper python-sphinx python-all python-openssl python-pastedeploy python-
netifaces bzr-builddeb xfsprogs
(get and install Swift)
# apt-get update




       ...those should be already installed
Creating the Builder Files
    swift-ring-builder (account¦container¦object).builder create
    <part_power> <replicas> <min_part_hours>



#   cd /etc/swift
#   swift-ring-builder account.builder create 18 3 1
#   swift-ring-builder container.builder create 18 3 1
#   swift-ring-builder object.builder create 18 3 1
Creating the Builder Files



                          Containers
     Accounts
                     Builder files
                     contain a record
                     of all devices in
                     the cluster




      Objects
Creating the Builder Files
Swift Partitions
Creating the Builder Files
How many Swift Partitions?

 How big will you be when you grow up?
 Rule of thumb: 100 partitions * the number of drives that you think
 you will ever have, carried up to the nearest power of 2.




              24           96 Drives * 100 = 9600
              24           2^13 = 8192
              24           2^14 = 16384
              24
Creating the Builder Files
Replicas




 Go with 3.
Creating the Builder Files
Mini Part Hours




Ensures that only one replica is in flight




        A good default configuration setting is 24 hours.
Creating the Builder Files
$ ls /etc/swift
account.builder  backups  container.builder  
object.builder (+ *.conf)

             E x t r a            C r e d i t
# python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more
information.
>>> import pickle
>>> print pickle.load(open('object.builder'))
{'_replica2part2dev': None, '_last_part_gather_start': 0,
'min_part_hours': 1, 'replicas': 3, 'parts': 1024, 'part_power':
10, 'devs': [], 'devs_changed': False, 'version': 0,
'_last_part_moves_epoch': None, '_last_part_moves': None,
'_remove_devs': []}
Creating the Rings: Zones
swift-ring-builder (account¦container¦object).builder add
 z<zone>-<ip>:<port>/<device_name> <weight>
Creating the Rings: Weights
swift-ring-builder (account¦container¦object).builder add
 z<zone>-<ip>:<port>/<device_name> <weight>


                                           Disks
              Disks

          2     2      2             3        3        3
               100
                                            150



           Partitions
                                         Partitions
Creating the Rings: Adding Devices
Validate your rings
# swift-ring-builder account.builder
# swift-ring-builder container.builder
# swift-ring-builder object.builder




Note that there are no partitions assigned to
any drives yet. We must use rebalance to
assign partitions and create the actual ring
files.
Creating the Rings: Do It (Rebalance)!
#   cd /etc/swift
#   swift-ring-builder account.builder rebalance
#   swift-ring-builder container.builder rebalance
#   swift-ring-builder object.builder rebalance

# ls /etc/swift/*.ring.gz
account.ring.gz container.ring.gz object.ring.gz


Validate your rings
# swift-ring-builder account.builder
# swift-ring-builder container.builder
# swift-ring-builder object.builder
Let’s Start Swift!
# swift-init main restart




     H a n d y       C o m m a n d s
Tail the log file
$ tail -f /var/log/swift/all.log
Get a Token!
$ curl -v
   -H 'X-Auth-User: admin:admin'
   -H 'X-Auth-Key: admin'
    http://127.0.0.1:8080/auth/v1.0/

<   HTTP/1.1 200 OK
<   X-Storage-Url: http://127.0.0.1:8080/v1/AUTH_admin
<   X-Storage-Token: AUTH_tk265318ae5e7e46f1890a441c08b5247f
<   X-Auth-Token: AUTH_tk265318ae5e7e46f1890a441c08b5247f
<   X-Trans-Id: txc75adf112791425e82826d6e3989be4d
<   Content-Length: 0

Extra Credit: Token in memcache?
# python
>>> import swift.common.memcached as memcached
>>> memcache = memcached.MemcacheRing(['127.0.0.1:11211'])
>>> print memcache.get('AUTH_/user/admin:admin')
AUTH_tk265318ae5e7e46f1890a441c08b5247f
>>> print memcache.get('AUTH_/token/AUTH_tk265318ae5e7e46f1890a441c08b5247f')
(1308804765.9103661, 'admin,admin:admin')
>>>    (Hit Ctrl-D to exit)
Use a Token!
$ curl -v -H 'X-Auth-Token: <your x-auth-token>' <your x-
storage-url>

<   HTTP/1.1 204 No Content
<   X-Account-Object-Count: 0
<   X-Account-Bytes-Used: 0
<   X-Account-Container-Count: 0
<   Accept-Ranges: bytes
<   X-Trans-Id: txafe3c83ed76e46d2a9536dd61d9fcf09
<   Content-Length: 0
Uploading
        H a n d y            C o m m a n d
Let s use the command swift from here on out.

$ swift -U admin:admin -K admin
    -A http://127.0.0.1:8080/auth/v1.0/         upload
    test_container /vmlinuz

$ swift -U admin:admin -K admin
  -A http://127.0.0.1:8080/auth/v1.0/      list
  test_container
Where is the object?
# cd /srv/node
# find . -name '*.data'
# swift-object-info /full/path/to/file.data
# swift-get-nodes /etc/swift/object.ring.gz 
AUTH_admin test_container vmlinuz
Replication
Start Swift replicator services
# swift-init account-replicator start
# swift-init container-replicator start
# swift-init object-replicator start




Is rsync running?
$   rsync   localhost::
$   rsync   localhost::account
$   rsync   localhost::container
$   rsync   localhost::object
DESTROY!!!!
Delete all data in a zone!

#   cd /srv/node/d1
#   find .
#   rm -rf *; find .
#   sleep 20
#   find .
      H a n d y              C o m m a n d s
Tail the log file
# tail -f /var/log/swift/all.log
# tail -f /var/log/rsyncd.log
24-36 disk systems
SATA desktop drives
24-48 GB RAM
2 Proxy/LB Servers
100 Terabyte           4 Object Stores (36-drive, 3TB)




               Proxy
               Proxy

               Zone

               Zone

               Zone

               Zone
2 Agg Switches
                               6 Proxy/LB Servers
        1.5 Petabyte           5 ToR Switches
                               50 Object Stores (36-drive / 3TB


        ToR      ToR    ToR            ToR        ToR




Agg




                                                 Zone
                                      Zone
                        Zone
                 Zone
        Zone
Proxy
Thank You!
This presentation + VBox Image
  Swift technical white paper
 Contact: joe@swiftstack.com


        joe@swiftstack.com
     darrell@swiftstack.com

Mais conteúdo relacionado

Mais procurados

Storage as a service and OpenStack Cinder
Storage as a service and OpenStack CinderStorage as a service and OpenStack Cinder
Storage as a service and OpenStack Cinderopenstackindia
 
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101KubeAcademy
 
Fluentd and docker monitoring
Fluentd and docker monitoringFluentd and docker monitoring
Fluentd and docker monitoringVinay Krishna
 
Global Operations with Docker Enterprise
Global Operations with Docker EnterpriseGlobal Operations with Docker Enterprise
Global Operations with Docker EnterpriseNicola Kabar
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker, Inc.
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with KubernetesDeivid Hahn Fração
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowEd Balduf
 
Docker Swarm Introduction
Docker Swarm IntroductionDocker Swarm Introduction
Docker Swarm Introductionrajdeep
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatCloud Native Day Tel Aviv
 
Openstack HA
Openstack HAOpenstack HA
Openstack HAYong Luo
 
GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack StorageDeepak Shetty
 
Storage based on_openstack_mariocho
Storage based on_openstack_mariochoStorage based on_openstack_mariocho
Storage based on_openstack_mariochoMario Cho
 
Laying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesLaying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesKenneth Hui
 
OpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpOpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpAaron Delp
 
Using OpenStack Swift for Extreme Data Durability
 Using OpenStack Swift for Extreme Data Durability Using OpenStack Swift for Extreme Data Durability
Using OpenStack Swift for Extreme Data DurabilityChristian Schwede
 
OpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayOpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayDan Radez
 
OpenStack High Availability
OpenStack High AvailabilityOpenStack High Availability
OpenStack High AvailabilityJakub Pavlik
 
Swarm - A Docker Clustering System
Swarm - A Docker Clustering SystemSwarm - A Docker Clustering System
Swarm - A Docker Clustering Systemsnrism
 

Mais procurados (20)

Openstack nova
Openstack novaOpenstack nova
Openstack nova
 
Storage as a service and OpenStack Cinder
Storage as a service and OpenStack CinderStorage as a service and OpenStack Cinder
Storage as a service and OpenStack Cinder
 
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
 
Fluentd and docker monitoring
Fluentd and docker monitoringFluentd and docker monitoring
Fluentd and docker monitoring
 
Global Operations with Docker Enterprise
Global Operations with Docker EnterpriseGlobal Operations with Docker Enterprise
Global Operations with Docker Enterprise
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
Docker Swarm Introduction
Docker Swarm IntroductionDocker Swarm Introduction
Docker Swarm Introduction
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
 
Openstack HA
Openstack HAOpenstack HA
Openstack HA
 
GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack Storage
 
Storage based on_openstack_mariocho
Storage based on_openstack_mariochoStorage based on_openstack_mariocho
Storage based on_openstack_mariocho
 
Laying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesLaying OpenStack Cinder Block Services
Laying OpenStack Cinder Block Services
 
OpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpOpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet Up
 
Using OpenStack Swift for Extreme Data Durability
 Using OpenStack Swift for Extreme Data Durability Using OpenStack Swift for Extreme Data Durability
Using OpenStack Swift for Extreme Data Durability
 
OpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayOpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage Day
 
OpenStack High Availability
OpenStack High AvailabilityOpenStack High Availability
OpenStack High Availability
 
OpenStack Cinder
OpenStack CinderOpenStack Cinder
OpenStack Cinder
 
Swarm - A Docker Clustering System
Swarm - A Docker Clustering SystemSwarm - A Docker Clustering System
Swarm - A Docker Clustering System
 

Destaque

Introducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationIntroducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationRamit Surana
 
Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Ramit Surana
 
OpenStack Swift on virtualbox
OpenStack Swift on virtualboxOpenStack Swift on virtualbox
OpenStack Swift on virtualboxAtul Jha
 
Introduction to Selinux
Introduction to SelinuxIntroduction to Selinux
Introduction to SelinuxAtul Jha
 
OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deploymentsAtul Jha
 
Openstack Swift overview
Openstack Swift overviewOpenstack Swift overview
Openstack Swift overview어형 이
 
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...OpenShift Origin
 
OpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseOpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseAvishay Traeger
 
OpenStack으로 바로보는 상용 클라우드 플랫폼
OpenStack으로 바로보는 상용 클라우드 플랫폼OpenStack으로 바로보는 상용 클라우드 플랫폼
OpenStack으로 바로보는 상용 클라우드 플랫폼Tae Young Lee
 
Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)Eggy Cheng
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitchSim Janghoon
 
SDN and NFV: Friends or Enemies
SDN and NFV: Friends or EnemiesSDN and NFV: Friends or Enemies
SDN and NFV: Friends or EnemiesJustyna Bak
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SAMeh Zaghloul
 
Introduction to OpenStack Architecture
Introduction to OpenStack ArchitectureIntroduction to OpenStack Architecture
Introduction to OpenStack ArchitectureOpenStack Foundation
 
OpenStack Tutorial
OpenStack TutorialOpenStack Tutorial
OpenStack TutorialBret Piatt
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introductionopenstackindia
 
Introducing OpenStack for Beginners
Introducing OpenStack for Beginners Introducing OpenStack for Beginners
Introducing OpenStack for Beginners openstackindia
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 

Destaque (20)

Introducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of AutomationIntroducing Puppet - The faster speed of Automation
Introducing Puppet - The faster speed of Automation
 
Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack
 
OpenStack Swift on virtualbox
OpenStack Swift on virtualboxOpenStack Swift on virtualbox
OpenStack Swift on virtualbox
 
Introduction to Selinux
Introduction to SelinuxIntroduction to Selinux
Introduction to Selinux
 
OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deployments
 
Openstack Swift overview
Openstack Swift overviewOpenstack Swift overview
Openstack Swift overview
 
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...
 
OpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana ReleaseOpenStack Cinder Overview - Havana Release
OpenStack Cinder Overview - Havana Release
 
OpenStack으로 바로보는 상용 클라우드 플랫폼
OpenStack으로 바로보는 상용 클라우드 플랫폼OpenStack으로 바로보는 상용 클라우드 플랫폼
OpenStack으로 바로보는 상용 클라우드 플랫폼
 
Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)
 
PHP and Cassandra
PHP and CassandraPHP and Cassandra
PHP and Cassandra
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
 
SDN and NFV: Friends or Enemies
SDN and NFV: Friends or EnemiesSDN and NFV: Friends or Enemies
SDN and NFV: Friends or Enemies
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
 
Introduction to OpenStack Architecture
Introduction to OpenStack ArchitectureIntroduction to OpenStack Architecture
Introduction to OpenStack Architecture
 
OpenStack Tutorial
OpenStack TutorialOpenStack Tutorial
OpenStack Tutorial
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
OpenStack Framework Introduction
OpenStack Framework IntroductionOpenStack Framework Introduction
OpenStack Framework Introduction
 
Introducing OpenStack for Beginners
Introducing OpenStack for Beginners Introducing OpenStack for Beginners
Introducing OpenStack for Beginners
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 

Semelhante a Swift Install Workshop - OpenStack Conference Spring 2012

The Container Security Checklist
The Container Security Checklist The Container Security Checklist
The Container Security Checklist LibbySchulze
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Praguetomasbart
 
introduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraformintroduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraformniyof97
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slidesDocker, Inc.
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swiftymtech
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialTom Croucher
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Velocidex Enterprises
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardwayDave Pitts
 
containerD
containerDcontainerD
containerDstrikr .
 
Shifter: Containers in HPC Environments
Shifter: Containers in HPC EnvironmentsShifter: Containers in HPC Environments
Shifter: Containers in HPC Environmentsinside-BigData.com
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context ConstraintsAlessandro Arrichiello
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Githubhubx
 
Practical Tips for Novell Cluster Services
Practical Tips for Novell Cluster ServicesPractical Tips for Novell Cluster Services
Practical Tips for Novell Cluster ServicesNovell
 
Logging for Production Systems in The Container Era
Logging for Production Systems in The Container EraLogging for Production Systems in The Container Era
Logging for Production Systems in The Container EraSadayuki Furuhashi
 
Openstack 101
Openstack 101Openstack 101
Openstack 101POSSCON
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.jsorkaplan
 
Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon IndiaAtul Jha
 
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at NetflixOSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at NetflixManish Pandit
 

Semelhante a Swift Install Workshop - OpenStack Conference Spring 2012 (20)

The Container Security Checklist
The Container Security Checklist The Container Security Checklist
The Container Security Checklist
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Prague
 
introduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraformintroduction-infra-as-a-code using terraform
introduction-infra-as-a-code using terraform
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swift
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js Tutorial
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardway
 
containerD
containerDcontainerD
containerD
 
Shifter: Containers in HPC Environments
Shifter: Containers in HPC EnvironmentsShifter: Containers in HPC Environments
Shifter: Containers in HPC Environments
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Github
 
Practical Tips for Novell Cluster Services
Practical Tips for Novell Cluster ServicesPractical Tips for Novell Cluster Services
Practical Tips for Novell Cluster Services
 
Logging for Production Systems in The Container Era
Logging for Production Systems in The Container EraLogging for Production Systems in The Container Era
Logging for Production Systems in The Container Era
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon India
 
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at NetflixOSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
 

Último

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Último (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Swift Install Workshop - OpenStack Conference Spring 2012

  • 1. OpenStack Swift Workshop Joe Arnold Darrell Bishop joe@swiftstack.com darrell@swiftstack.com swiftstack.com @swifterdarrell @joearnold San Francisco, CA April 20, 2012
  • 2. Getting Ready. . . Creating Virtualbox Environment Virtualbox->File->Import Appliance... Start Swift VB 32bit Demo ssh -p 3333 -l demo localhost Username: demo password: password
  • 3. Uses of Swift 9 minutes Overview of Architecture Deployment Workshop 47 minutes
  • 4. Uses of Swift 9 minutes Overview of Architecture Deployment Workshop 47 minutes
  • 5. Swi ft is Similar to Amazon S3 HTTP API Data Storage NOT blocks NOT filesystem NOT SAN/NAS/DAS
  • 6. Swift is laser focused Swift Attributes High Scalable concurrency easy to use Durable
  • 8. SwiftStack Distribution Load Balancing SSL Termination Authentication OpenStack Object Storage OS, Node & Drive Swift Runtime Monitoring Monitoring Operating System + Kernel
  • 10. Uses of Swift 9 minutes Overview of Architecture Deployment Workshop 47 minutes
  • 11. Swi ft Architecture Overview Proxy The Ring Zones
  • 12. Proxy handles incoming requests Scales Horizontally
  • 18. Uses of Swift 9 minutes Overview of Architecture Deployment Workshop 47 minutes
  • 19. Workshop Philosophy Learn the Guts step-by-step by typing. (NOT run our magic deployment tool.) Follow along -or- Sit back and watch some typing
  • 20. Getting Ready. . . Creating Virtualbox Environment Virtualbox->File->Import Appliance... Swift VB 32bit Demo.ova Start Swift VB 32bit Demo VM On host OS, SSH to localhost, port 3333 (port forwards to guest OS) SSH to (host) localhost, port 3333 $ ssh -p 3333 -l demo localhost Username: demo Password: password
  • 21. Formatting Devices $ sudo su - # mkfs.xfs -f -i size=512 -L d1 /dev/sdb # mkfs.xfs -f -i size=512 -L d2 /dev/sdc # mkfs.xfs -f -i size=512 -L d3 /dev/sdd # mkfs.xfs -f -i size=512 -L d4 /dev/sde H a n d y C o m m a n d s Mounted Filesystems # df Formatted Filesystems # blkid
  • 22. Mounting Drives # mkdir -p /srv/node/d1 # mkdir -p /srv/node/d2 # mkdir -p /srv/node/d3 # mkdir -p /srv/node/d4 # mount -t xfs -L d1 /srv/node/d1 # mount -t xfs -L d2 /srv/node/d2 # mount -t xfs -L d3 /srv/node/d3 # mount -t xfs -L d4 /srv/node/d4 H a n d y C o m m a n d s # for i in 1 2 3 4; do > mkdir -p /srv/node/d$i > mount -t xfs -L d$i /srv/node/d$i > done # chown -R swift:swift /srv/node
  • 23. Installing Swift # apt-get install curl gcc bzr python-configobj python-coverage python-dev python-nose python-setuptools python-simplejson python-xattr python-webob python-eventlet python- greenlet debhelper python-sphinx python-all python-openssl python-pastedeploy python- netifaces bzr-builddeb xfsprogs (get and install Swift) # apt-get update ...those should be already installed
  • 24. Creating the Builder Files swift-ring-builder (account¦container¦object).builder create <part_power> <replicas> <min_part_hours> # cd /etc/swift # swift-ring-builder account.builder create 18 3 1 # swift-ring-builder container.builder create 18 3 1 # swift-ring-builder object.builder create 18 3 1
  • 25. Creating the Builder Files Containers Accounts Builder files contain a record of all devices in the cluster Objects
  • 26. Creating the Builder Files Swift Partitions
  • 27. Creating the Builder Files How many Swift Partitions? How big will you be when you grow up? Rule of thumb: 100 partitions * the number of drives that you think you will ever have, carried up to the nearest power of 2. 24 96 Drives * 100 = 9600 24 2^13 = 8192 24 2^14 = 16384 24
  • 28. Creating the Builder Files Replicas Go with 3.
  • 29. Creating the Builder Files Mini Part Hours Ensures that only one replica is in flight A good default configuration setting is 24 hours.
  • 30. Creating the Builder Files $ ls /etc/swift account.builder  backups  container.builder   object.builder (+ *.conf) E x t r a C r e d i t # python Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pickle >>> print pickle.load(open('object.builder')) {'_replica2part2dev': None, '_last_part_gather_start': 0, 'min_part_hours': 1, 'replicas': 3, 'parts': 1024, 'part_power': 10, 'devs': [], 'devs_changed': False, 'version': 0, '_last_part_moves_epoch': None, '_last_part_moves': None, '_remove_devs': []}
  • 31. Creating the Rings: Zones swift-ring-builder (account¦container¦object).builder add z<zone>-<ip>:<port>/<device_name> <weight>
  • 32. Creating the Rings: Weights swift-ring-builder (account¦container¦object).builder add z<zone>-<ip>:<port>/<device_name> <weight> Disks Disks 2 2 2 3 3 3 100 150 Partitions Partitions
  • 33. Creating the Rings: Adding Devices Validate your rings # swift-ring-builder account.builder # swift-ring-builder container.builder # swift-ring-builder object.builder Note that there are no partitions assigned to any drives yet. We must use rebalance to assign partitions and create the actual ring files.
  • 34. Creating the Rings: Do It (Rebalance)! # cd /etc/swift # swift-ring-builder account.builder rebalance # swift-ring-builder container.builder rebalance # swift-ring-builder object.builder rebalance # ls /etc/swift/*.ring.gz account.ring.gz container.ring.gz object.ring.gz Validate your rings # swift-ring-builder account.builder # swift-ring-builder container.builder # swift-ring-builder object.builder
  • 35. Let’s Start Swift! # swift-init main restart H a n d y C o m m a n d s Tail the log file $ tail -f /var/log/swift/all.log
  • 36. Get a Token! $ curl -v -H 'X-Auth-User: admin:admin' -H 'X-Auth-Key: admin' http://127.0.0.1:8080/auth/v1.0/ < HTTP/1.1 200 OK < X-Storage-Url: http://127.0.0.1:8080/v1/AUTH_admin < X-Storage-Token: AUTH_tk265318ae5e7e46f1890a441c08b5247f < X-Auth-Token: AUTH_tk265318ae5e7e46f1890a441c08b5247f < X-Trans-Id: txc75adf112791425e82826d6e3989be4d < Content-Length: 0 Extra Credit: Token in memcache? # python >>> import swift.common.memcached as memcached >>> memcache = memcached.MemcacheRing(['127.0.0.1:11211']) >>> print memcache.get('AUTH_/user/admin:admin') AUTH_tk265318ae5e7e46f1890a441c08b5247f >>> print memcache.get('AUTH_/token/AUTH_tk265318ae5e7e46f1890a441c08b5247f') (1308804765.9103661, 'admin,admin:admin') >>> (Hit Ctrl-D to exit)
  • 37. Use a Token! $ curl -v -H 'X-Auth-Token: <your x-auth-token>' <your x- storage-url> < HTTP/1.1 204 No Content < X-Account-Object-Count: 0 < X-Account-Bytes-Used: 0 < X-Account-Container-Count: 0 < Accept-Ranges: bytes < X-Trans-Id: txafe3c83ed76e46d2a9536dd61d9fcf09 < Content-Length: 0
  • 38. Uploading H a n d y C o m m a n d Let s use the command swift from here on out. $ swift -U admin:admin -K admin -A http://127.0.0.1:8080/auth/v1.0/ upload test_container /vmlinuz $ swift -U admin:admin -K admin -A http://127.0.0.1:8080/auth/v1.0/ list test_container Where is the object? # cd /srv/node # find . -name '*.data' # swift-object-info /full/path/to/file.data # swift-get-nodes /etc/swift/object.ring.gz AUTH_admin test_container vmlinuz
  • 39. Replication Start Swift replicator services # swift-init account-replicator start # swift-init container-replicator start # swift-init object-replicator start Is rsync running? $ rsync localhost:: $ rsync localhost::account $ rsync localhost::container $ rsync localhost::object
  • 40. DESTROY!!!! Delete all data in a zone! # cd /srv/node/d1 # find . # rm -rf *; find . # sleep 20 # find . H a n d y C o m m a n d s Tail the log file # tail -f /var/log/swift/all.log # tail -f /var/log/rsyncd.log
  • 41. 24-36 disk systems SATA desktop drives 24-48 GB RAM
  • 42. 2 Proxy/LB Servers 100 Terabyte 4 Object Stores (36-drive, 3TB) Proxy Proxy Zone Zone Zone Zone
  • 43. 2 Agg Switches 6 Proxy/LB Servers 1.5 Petabyte 5 ToR Switches 50 Object Stores (36-drive / 3TB ToR ToR ToR ToR ToR Agg Zone Zone Zone Zone Zone Proxy
  • 44. Thank You! This presentation + VBox Image Swift technical white paper Contact: joe@swiftstack.com joe@swiftstack.com darrell@swiftstack.com