SlideShare a Scribd company logo
1 of 30
OpenStack Storage Tutorial:Installing Swift-All-In-One
Me: 			Joshua McKenty Twitter: 	@jmckenty Email: 		joshua@piston.cc Former Chief Architect, NASA Nebula Founding Member, OpenStack OpenStack Project Policy Board
> curl http://www.openstack.org
SWIFT – What it is, in one slide
Today’s Menu One Virtual Machine Four Swift Nodes Loopback device for storage Self-signed SSL Certificate
Before we begin… VMWare Fusion https://www.vmware.com/tryvmware/?p=vmware-fusion31&lp=1 Ubuntu Disk Image http://releases.ubuntu.com/lucid/ubuntu-10.04.2-server-amd64.iso Swift Administrator’s Guide http://docs.openstack.org/cactus/openstack-compute/admin/os-compute-adminguide-cactus.pdf Cyberduck (for testing) http://cyberduck.ch/Cyberduck-4.0.2.zip
Step One:
Step Two: Get Remote <log in> sudosu – apt-get install –y openssh-server ifconfig #get your ip address <ssh to this ip>
Step Three: Apt Packages sudosu - apt-get -y install python-software-properties add-apt-repository ppa:swift-core/ppa apt-get update apt-get -y install curl gccbzrmemcached python-configobj python-coverage python-dev python-nose python-setuptools python-simplejson python-xattr sqlite3 xfsprogs python-webob python-eventlet python-greenlet python-pastedeploy python-netifaces screen vim
Step Four: Storage Environment adduserswiftdemo adduserswiftdemoadmin mkdir/srv dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=1000000 mkfs.xfs -i size=1024 /srv/swift-disk echo "/srv/swift-disk /mnt/sdb1 xfsloop,noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab mkdir /mnt/sdb1 mount /mnt/sdb1 mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4 chown -R swiftdemo:swiftdemo /mnt/sdb1 for x in {1..4}; do ln -s /mnt/sdb1/$x /srv/$x; done mkdir -p /etc/swift/object-server /etc/swift/container-server /etc/swift/account-server  mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4  mkdir -p /var/run/swift chown -R swiftdemo:swiftdemo /etc/swift /mnt/sdb1 /srv/[1-4]/ /var/run/swift sed -e "s/exit 0/mkdir varrunswiftchownswiftdemo:swiftdemo varrunswiftexit 0/g" /etc/rc.local -i
Step Five: RSYNC cat << EOF > /etc/rsyncd.conf uid = swiftdemo gid = swiftdemo log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid address = 127.0.0.1 EOF
Step Five: RSYNC cat << EOF >> /etc/rsyncd.conf [account6012] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/account6012.lock [account6022] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/account6022.lock [account6032] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/account6032.lock [account6042] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/account6042.lock EOF
Step Five: RSYNC cat << EOF >> /etc/rsyncd.conf [container6011] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/container6011.lock [container6021] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/container6021.lock [container6031] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/container6031.lock [container6041] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/container6041.lock EOF
Step Five: RSYNC cat << EOF >> /etc/rsyncd.conf [object6010] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/object6010.lock [object6020] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/object6020.lock [object6030] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/object6030.lock [object6040] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/object6040.lock EOF sed -e "s/RSYNC_ENABLE=false/RSYNC_ENABLE=true/g" /etc/default/rsync  -i
Step Six: Install Swift su– swiftdemo mkdir ~/bin bzrinit-repo swift cd ~/swift; bzr branch lp:swift trunk cd ~/swift/trunk; sudo python setup.py develop cat << EOF >> ~/.bashrc export SWIFT_TEST_CONFIG_FILE=/etc/swift/func_test.conf export PATH=${PATH}:~/bin EOF . ~/.bashrc
Step Seven: SSL Certificates cd /etc/swift opensslreq -new -x509 -nodes -out cert.crt -keyoutcert.key # USE IP for COMMON NAME
Step Eight: Configurations sudosu- export SWIFT_IP=172.16.81.129 cat << EOF >> /etc/swift/proxy-server.conf [DEFAULT] bind_port = 443 bind_ip = $SWIFT_IP cert_file = /etc/swift/cert.crt key_file = /etc/swift/cert.key user = swiftdemo log_facility = LOG_LOCAL1 [pipeline:main] pipeline = healthcheck cache swauth proxy-server [app:proxy-server] use = egg:swift#proxy allow_account_management = true [filter:swauth] use = egg:swift#swauth super_admin_key= swauthkey default_swift_cluster = local#https://$SWIFT_IP:443/v1 [filter:healthcheck] use = egg:swift#healthcheck [filter:cache] use = egg:swift#memcache EOF
Step Eight: Configurations cat << EOF >> /etc/swift/swift.conf [swift-hash] # random unique string that can never change (DO NOT LOSE) swift_hash_path_suffix = msst-swift-tutorial EOF
Step Eight: Account Server Configs cd /etc/swift/account-server cat << EOF > 1.conf [DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6012 user = swiftdemo log_facility = LOG_LOCAL2 [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] vm_test_mode = yes [account-auditor] [account-reaper] EOF sed -e "s/srv1/srv2/" -e "s/6012/6022/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf sed -e "s/srv1/srv3/" -e "s/6012/6032/" -e "s/LOG_LOCAL2/LOG_LOCAL4/"  1.conf > 3.conf sed -e "s/srv1/srv4/" -e "s/6012/6042/" -e "s/LOG_LOCAL2/LOG_LOCAL5/"  1.conf > 4.conf
Step Eight: Container Server Configs cd /etc/swift/container-server cat << EOF > 1.conf [DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6011 user = swiftdemo log_facility = LOG_LOCAL2 [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] vm_test_mode = yes [container-updater] [container-auditor] EOF sed -e "s/srv1/srv2/" -e "s/601/602/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf sed -e "s/srv1/srv3/" -e "s/601/603/" -e "s/LOG_LOCAL2/LOG_LOCAL4/"  1.conf > 3.conf sed -e "s/srv1/srv4/" -e "s/601/604/" -e "s/LOG_LOCAL2/LOG_LOCAL5/"  1.conf > 4.conf
Step Eight: Object Server Configs cd /etc/swift/object-server cat << EOF > 1.conf [DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6010 user = swiftdemo log_facility = LOG_LOCAL2 [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] vm_test_mode = yes [object-updater] [object-auditor] EOF sed -e "s/srv1/srv2/" -e "s/601/602/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf sed -e "s/srv1/srv3/" -e "s/601/603/" -e "s/LOG_LOCAL2/LOG_LOCAL4/"  1.conf > 3.conf sed -e "s/srv1/srv4/" -e "s/601/604/" -e "s/LOG_LOCAL2/LOG_LOCAL5/"  1.conf > 4.conf
Step Nine: Binaries su - swiftdemo cat << EOF > ~/bin/resetswift #!/bin/bash swift-init all stop # find /var/log/swift -type f -exec rm -f {}  sudoumount /mnt/sdb1 sudomkfs.xfs -f -i size=1024 /srv/swift-disk sudo mount /mnt/sdb1 sudomkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4 sudochownswiftdemo:swiftdemo /mnt/sdb1/* mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4 sudochownswiftdemo:swiftdemo /mnt/sdb1/* sudorm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslog sudo service rsyslog restart sudo service memcached restart EOF
Step Nine: Binaries export SWIFT_IP=172.16.81.129 cat << EOF > ~/bin/remakerings #!/bin/bash cd /etc/swift rm -f *.builder *.ring.gz backups/*.builder backups/*.ring.gz swift-ring-builder object.builder create 18 3 1 swift-ring-builder object.builder add z1-$SWIFT_IP:6010/sdb1 1 swift-ring-builder object.builder add z2-$SWIFT_IP:6020/sdb2 1 swift-ring-builder object.builder add z3-$SWIFT_IP:6030/sdb3 1 swift-ring-builder object.builder add z4-$SWIFT_IP:6040/sdb4 1 swift-ring-builder object.builder rebalance swift-ring-builder container.builder create 18 3 1 swift-ring-builder container.builder add z1-$SWIFT_IP:6011/sdb1 1 swift-ring-builder container.builder add z2-$SWIFT_IP:6021/sdb2 1 swift-ring-builder container.builder add z3-$SWIFT_IP:6031/sdb3 1 swift-ring-builder container.builder add z4-$SWIFT_IP:6041/sdb4 1 swift-ring-builder container.builder rebalance swift-ring-builder account.builder create 18 3 1 swift-ring-builder account.builder add z1-$SWIFT_IP:6012/sdb1 1 swift-ring-builder account.builder add z2-$SWIFT_IP:6022/sdb2 1 swift-ring-builder account.builder add z3-$SWIFT_IP:6032/sdb3 1 swift-ring-builder account.builder add z4-$SWIFT_IP:6042/sdb4 1 swift-ring-builder account.builder rebalance EOF
Step Nine: Binaries cat << EOF > ~/bin/startmain #!/bin/bash swift-init main start EOF cat << EOF > ~/bin/recreateaccounts #!/bin/bash # Replace swauthkey with whatever your super_admin key is (recorded in # /etc/swift/proxy-server.conf). swauth-prep -K swauthkey -A https://$SWIFT_IP:443/auth/ swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a test tester testing swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a test2 tester2 testing2 swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ test tester3 testing3 swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a -r reseller reseller reseller EOF
Step Nine: Binaries cat << EOF > ~/bin/startrest #!/bin/bash swift-init rest start EOF chmod +x ~/bin/*
Step Ten: Running It . ~/.bashrc remakerings cd ~/swift/trunk; ./.unittests sudo bin/startmain recreateaccounts
Fire up Cyberduck! defaults write ch.sudo.cyberduckcf.authentication.context /auth/v1.0
Questions and Answers
Me: Joshua McKenty Twitter: @jmckenty Email: joshua@piston.cc Cell: 650-283-6846

More Related Content

What's hot

Nginx 0.9.x 安装手册
Nginx 0.9.x 安装手册Nginx 0.9.x 安装手册
Nginx 0.9.x 安装手册Yiwei Ma
 
Build your own private openstack cloud
Build your own private openstack cloudBuild your own private openstack cloud
Build your own private openstack cloudNUTC, imac
 
使用 CLI 管理 OpenStack 平台
使用 CLI 管理 OpenStack 平台使用 CLI 管理 OpenStack 平台
使用 CLI 管理 OpenStack 平台NUTC, imac
 
Beyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with PuppetBeyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with Puppetlutter
 
Docker 基本概念與指令操作
Docker  基本概念與指令操作Docker  基本概念與指令操作
Docker 基本概念與指令操作NUTC, imac
 
Nginx 0.8.x 安装手册
Nginx 0.8.x 安装手册Nginx 0.8.x 安装手册
Nginx 0.8.x 安装手册Yiwei Ma
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newYiwei Ma
 
Install and Configure Ubuntu for Hadoop Installation for beginners
Install and Configure Ubuntu for Hadoop Installation for beginners Install and Configure Ubuntu for Hadoop Installation for beginners
Install and Configure Ubuntu for Hadoop Installation for beginners Shilpa Hemaraj
 
ByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalivedByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalivedredhat9
 
[ETHCon Korea 2019] Shin mansun 신만선
[ETHCon Korea 2019] Shin mansun 신만선[ETHCon Korea 2019] Shin mansun 신만선
[ETHCon Korea 2019] Shin mansun 신만선ethconkr
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & ToolsIan Barber
 
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템Sam Kim
 
Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Yasuyuki Sugai
 
Openstack kilo installation using rdo
Openstack kilo installation using rdoOpenstack kilo installation using rdo
Openstack kilo installation using rdoNarasimha sreeram
 
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)Hari
 
Make container without_docker_6-overlay-network_1
Make container without_docker_6-overlay-network_1 Make container without_docker_6-overlay-network_1
Make container without_docker_6-overlay-network_1 Sam Kim
 

What's hot (20)

Nginx 0.9.x 安装手册
Nginx 0.9.x 安装手册Nginx 0.9.x 安装手册
Nginx 0.9.x 安装手册
 
Zookeper
ZookeperZookeper
Zookeper
 
Build your own private openstack cloud
Build your own private openstack cloudBuild your own private openstack cloud
Build your own private openstack cloud
 
使用 CLI 管理 OpenStack 平台
使用 CLI 管理 OpenStack 平台使用 CLI 管理 OpenStack 平台
使用 CLI 管理 OpenStack 平台
 
Beyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with PuppetBeyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with Puppet
 
Docker 基本概念與指令操作
Docker  基本概念與指令操作Docker  基本概念與指令操作
Docker 基本概念與指令操作
 
Nginx 0.8.x 安装手册
Nginx 0.8.x 安装手册Nginx 0.8.x 安装手册
Nginx 0.8.x 安装手册
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
 
Install and Configure Ubuntu for Hadoop Installation for beginners
Install and Configure Ubuntu for Hadoop Installation for beginners Install and Configure Ubuntu for Hadoop Installation for beginners
Install and Configure Ubuntu for Hadoop Installation for beginners
 
ByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalivedByPat博客出品Lvs+keepalived
ByPat博客出品Lvs+keepalived
 
[ETHCon Korea 2019] Shin mansun 신만선
[ETHCon Korea 2019] Shin mansun 신만선[ETHCon Korea 2019] Shin mansun 신만선
[ETHCon Korea 2019] Shin mansun 신만선
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & Tools
 
My name is Trinidad
My name is TrinidadMy name is Trinidad
My name is Trinidad
 
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
 
Solaris_quickref.pdf
Solaris_quickref.pdfSolaris_quickref.pdf
Solaris_quickref.pdf
 
Network
NetworkNetwork
Network
 
Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編
 
Openstack kilo installation using rdo
Openstack kilo installation using rdoOpenstack kilo installation using rdo
Openstack kilo installation using rdo
 
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
Source Code of Building Linux IPv6 DNS Server (Complete Sourcecode)
 
Make container without_docker_6-overlay-network_1
Make container without_docker_6-overlay-network_1 Make container without_docker_6-overlay-network_1
Make container without_docker_6-overlay-network_1
 

Viewers also liked

Community - Software Defined Storage. Non Solo VSAN.
Community - Software Defined Storage. Non Solo VSAN.Community - Software Defined Storage. Non Solo VSAN.
Community - Software Defined Storage. Non Solo VSAN.VMUG IT
 
최음제 『 W3.ow.to 』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간
최음제 『 W3.ow.to  』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간최음제 『 W3.ow.to  』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간
최음제 『 W3.ow.to 』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간전 윤희
 
1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...
1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...
1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...Jürgen Ambrosi
 
What is Object storage ?
What is Object storage ?What is Object storage ?
What is Object storage ?Nabil Kassi
 
EMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep diveEMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep divesolarisyougood
 
Emc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopEmc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopsolarisyougood
 

Viewers also liked (7)

Community - Software Defined Storage. Non Solo VSAN.
Community - Software Defined Storage. Non Solo VSAN.Community - Software Defined Storage. Non Solo VSAN.
Community - Software Defined Storage. Non Solo VSAN.
 
HP software defined storage
HP software defined storageHP software defined storage
HP software defined storage
 
최음제 『 W3.ow.to 』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간
최음제 『 W3.ow.to  』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간최음제 『 W3.ow.to  』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간
최음제 『 W3.ow.to 』 톡 w2015 ♡ 최음제판매, 최음제 효과,최음제 정품구입,최음제부작용,최음제지속시간
 
1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...
1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...
1° Sessione - Tecnologie hyperconvergenti e di virtualizzazione storage: VMwa...
 
What is Object storage ?
What is Object storage ?What is Object storage ?
What is Object storage ?
 
EMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep diveEMC Vmax3 tech-deck deep dive
EMC Vmax3 tech-deck deep dive
 
Emc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshopEmc vnx2 technical deep dive workshop
Emc vnx2 technical deep dive workshop
 

Similar to OpenStack Swift - MSST 2011 Tutorial Day

Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Conrad Cruz
 
Aeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringAeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringConrad Cruz
 
/etc/rc.d配下とかのリーディング勉強会
/etc/rc.d配下とかのリーディング勉強会/etc/rc.d配下とかのリーディング勉強会
/etc/rc.d配下とかのリーディング勉強会Naoya Nakazawa
 
A journey through the years of UNIX and Linux service management
A journey through the years of UNIX and Linux service managementA journey through the years of UNIX and Linux service management
A journey through the years of UNIX and Linux service managementLubomir Rintel
 
Monit - NHRuby May 2009
Monit - NHRuby May 2009Monit - NHRuby May 2009
Monit - NHRuby May 2009bturnbull
 
Linux Du Jour
Linux Du JourLinux Du Jour
Linux Du Jourmwedgwood
 
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionDebugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionIan Barber
 
Null bhopal Sep 2016: What it Takes to Secure a Web Application
Null bhopal Sep 2016: What it Takes to Secure a Web ApplicationNull bhopal Sep 2016: What it Takes to Secure a Web Application
Null bhopal Sep 2016: What it Takes to Secure a Web ApplicationAnant Shrivastava
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swiftymtech
 
Continuous testing In PHP
Continuous testing In PHPContinuous testing In PHP
Continuous testing In PHPEric Hogue
 
Threat Con 2021: What's Hitting my Honeypots
Threat Con 2021: What's Hitting my HoneypotsThreat Con 2021: What's Hitting my Honeypots
Threat Con 2021: What's Hitting my HoneypotsAPNIC
 
Creating "Secure" PHP applications, Part 2, Server Hardening
Creating "Secure" PHP applications, Part 2, Server HardeningCreating "Secure" PHP applications, Part 2, Server Hardening
Creating "Secure" PHP applications, Part 2, Server Hardeningarchwisp
 
Debian 5 Hardening Tips
Debian 5 Hardening TipsDebian 5 Hardening Tips
Debian 5 Hardening Tipss3m1llon
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and familyFrancois Marier
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments Eueung Mulyana
 

Similar to OpenStack Swift - MSST 2011 Tutorial Day (20)

Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)
 
Aeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringAeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filtering
 
/etc/rc.d配下とかのリーディング勉強会
/etc/rc.d配下とかのリーディング勉強会/etc/rc.d配下とかのリーディング勉強会
/etc/rc.d配下とかのリーディング勉強会
 
A journey through the years of UNIX and Linux service management
A journey through the years of UNIX and Linux service managementA journey through the years of UNIX and Linux service management
A journey through the years of UNIX and Linux service management
 
Ubic
UbicUbic
Ubic
 
Ubic-public
Ubic-publicUbic-public
Ubic-public
 
Monit - NHRuby May 2009
Monit - NHRuby May 2009Monit - NHRuby May 2009
Monit - NHRuby May 2009
 
Linux Du Jour
Linux Du JourLinux Du Jour
Linux Du Jour
 
Debugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 VersionDebugging: Rules And Tools - PHPTek 11 Version
Debugging: Rules And Tools - PHPTek 11 Version
 
Null bhopal Sep 2016: What it Takes to Secure a Web Application
Null bhopal Sep 2016: What it Takes to Secure a Web ApplicationNull bhopal Sep 2016: What it Takes to Secure a Web Application
Null bhopal Sep 2016: What it Takes to Secure a Web Application
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swift
 
Continuous testing In PHP
Continuous testing In PHPContinuous testing In PHP
Continuous testing In PHP
 
Threat Con 2021: What's Hitting my Honeypots
Threat Con 2021: What's Hitting my HoneypotsThreat Con 2021: What's Hitting my Honeypots
Threat Con 2021: What's Hitting my Honeypots
 
Creating "Secure" PHP applications, Part 2, Server Hardening
Creating "Secure" PHP applications, Part 2, Server HardeningCreating "Secure" PHP applications, Part 2, Server Hardening
Creating "Secure" PHP applications, Part 2, Server Hardening
 
Dev ops
Dev opsDev ops
Dev ops
 
Php version 5
Php version 5Php version 5
Php version 5
 
Debian 5 Hardening Tips
Debian 5 Hardening TipsDebian 5 Hardening Tips
Debian 5 Hardening Tips
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and family
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
 
Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
 

More from Joshua McKenty

Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Joshua McKenty
 
OpenStackDC and Cloud Foundry Meetup -
OpenStackDC and Cloud Foundry Meetup -OpenStackDC and Cloud Foundry Meetup -
OpenStackDC and Cloud Foundry Meetup -Joshua McKenty
 
OpenStack Foundation Transparency Committee Update - January 2014
OpenStack Foundation Transparency Committee Update - January 2014OpenStack Foundation Transparency Committee Update - January 2014
OpenStack Foundation Transparency Committee Update - January 2014Joshua McKenty
 
But What About Docker?
But What About Docker?But What About Docker?
But What About Docker?Joshua McKenty
 
Scale-out Community: Lessons from OpenStack
Scale-out Community: Lessons from OpenStackScale-out Community: Lessons from OpenStack
Scale-out Community: Lessons from OpenStackJoshua McKenty
 
Cloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack ArchitectureCloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack ArchitectureJoshua McKenty
 
MSST-2013 Openstack in the Land of Guilder
MSST-2013 Openstack in the Land of GuilderMSST-2013 Openstack in the Land of Guilder
MSST-2013 Openstack in the Land of GuilderJoshua McKenty
 
vGeek 2013 Tech Talk: Openstack-101
vGeek 2013 Tech Talk: Openstack-101vGeek 2013 Tech Talk: Openstack-101
vGeek 2013 Tech Talk: Openstack-101Joshua McKenty
 
OpenStack: The evolution of computing (Credit Suisse Technology Summit)
OpenStack: The evolution of computing (Credit Suisse Technology Summit)OpenStack: The evolution of computing (Credit Suisse Technology Summit)
OpenStack: The evolution of computing (Credit Suisse Technology Summit)Joshua McKenty
 
WSTA Breakfast Seminar
WSTA Breakfast SeminarWSTA Breakfast Seminar
WSTA Breakfast SeminarJoshua McKenty
 
Wall-Street Technology Association (WSTA) Feb-2012
Wall-Street Technology Association (WSTA) Feb-2012Wall-Street Technology Association (WSTA) Feb-2012
Wall-Street Technology Association (WSTA) Feb-2012Joshua McKenty
 
OpenStack DC - Kickoff Keynote
OpenStack DC - Kickoff KeynoteOpenStack DC - Kickoff Keynote
OpenStack DC - Kickoff KeynoteJoshua McKenty
 
The Power of the Cloud, and Global Risk Modelling in the Open
The Power of the Cloud, and Global Risk Modelling in the OpenThe Power of the Cloud, and Global Risk Modelling in the Open
The Power of the Cloud, and Global Risk Modelling in the OpenJoshua McKenty
 
Open stack security emea launch
Open stack security   emea launchOpen stack security   emea launch
Open stack security emea launchJoshua McKenty
 
OpenStack: Cloud's Big Tent
OpenStack: Cloud's Big TentOpenStack: Cloud's Big Tent
OpenStack: Cloud's Big TentJoshua McKenty
 
The Space Penguin Odyssey
The Space Penguin OdysseyThe Space Penguin Odyssey
The Space Penguin OdysseyJoshua McKenty
 
Cloud Security - GSFC Presentation, Sept 23 2009
Cloud Security - GSFC Presentation, Sept 23 2009Cloud Security - GSFC Presentation, Sept 23 2009
Cloud Security - GSFC Presentation, Sept 23 2009Joshua McKenty
 

More from Joshua McKenty (19)

Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
 
OpenStackDC and Cloud Foundry Meetup -
OpenStackDC and Cloud Foundry Meetup -OpenStackDC and Cloud Foundry Meetup -
OpenStackDC and Cloud Foundry Meetup -
 
OpenStack Foundation Transparency Committee Update - January 2014
OpenStack Foundation Transparency Committee Update - January 2014OpenStack Foundation Transparency Committee Update - January 2014
OpenStack Foundation Transparency Committee Update - January 2014
 
But What About Docker?
But What About Docker?But What About Docker?
But What About Docker?
 
Scale-out Community: Lessons from OpenStack
Scale-out Community: Lessons from OpenStackScale-out Community: Lessons from OpenStack
Scale-out Community: Lessons from OpenStack
 
Cloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack ArchitectureCloud Power - The Early OpenStack Architecture
Cloud Power - The Early OpenStack Architecture
 
MSST-2013 Openstack in the Land of Guilder
MSST-2013 Openstack in the Land of GuilderMSST-2013 Openstack in the Land of Guilder
MSST-2013 Openstack in the Land of Guilder
 
vGeek 2013 Tech Talk: Openstack-101
vGeek 2013 Tech Talk: Openstack-101vGeek 2013 Tech Talk: Openstack-101
vGeek 2013 Tech Talk: Openstack-101
 
OpenStack: The evolution of computing (Credit Suisse Technology Summit)
OpenStack: The evolution of computing (Credit Suisse Technology Summit)OpenStack: The evolution of computing (Credit Suisse Technology Summit)
OpenStack: The evolution of computing (Credit Suisse Technology Summit)
 
WSTA Breakfast Seminar
WSTA Breakfast SeminarWSTA Breakfast Seminar
WSTA Breakfast Seminar
 
Arista Piston Webinar
Arista Piston WebinarArista Piston Webinar
Arista Piston Webinar
 
Open Stack DC
Open Stack DCOpen Stack DC
Open Stack DC
 
Wall-Street Technology Association (WSTA) Feb-2012
Wall-Street Technology Association (WSTA) Feb-2012Wall-Street Technology Association (WSTA) Feb-2012
Wall-Street Technology Association (WSTA) Feb-2012
 
OpenStack DC - Kickoff Keynote
OpenStack DC - Kickoff KeynoteOpenStack DC - Kickoff Keynote
OpenStack DC - Kickoff Keynote
 
The Power of the Cloud, and Global Risk Modelling in the Open
The Power of the Cloud, and Global Risk Modelling in the OpenThe Power of the Cloud, and Global Risk Modelling in the Open
The Power of the Cloud, and Global Risk Modelling in the Open
 
Open stack security emea launch
Open stack security   emea launchOpen stack security   emea launch
Open stack security emea launch
 
OpenStack: Cloud's Big Tent
OpenStack: Cloud's Big TentOpenStack: Cloud's Big Tent
OpenStack: Cloud's Big Tent
 
The Space Penguin Odyssey
The Space Penguin OdysseyThe Space Penguin Odyssey
The Space Penguin Odyssey
 
Cloud Security - GSFC Presentation, Sept 23 2009
Cloud Security - GSFC Presentation, Sept 23 2009Cloud Security - GSFC Presentation, Sept 23 2009
Cloud Security - GSFC Presentation, Sept 23 2009
 

Recently uploaded

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

OpenStack Swift - MSST 2011 Tutorial Day

  • 2. Me: Joshua McKenty Twitter: @jmckenty Email: joshua@piston.cc Former Chief Architect, NASA Nebula Founding Member, OpenStack OpenStack Project Policy Board
  • 4. SWIFT – What it is, in one slide
  • 5. Today’s Menu One Virtual Machine Four Swift Nodes Loopback device for storage Self-signed SSL Certificate
  • 6. Before we begin… VMWare Fusion https://www.vmware.com/tryvmware/?p=vmware-fusion31&lp=1 Ubuntu Disk Image http://releases.ubuntu.com/lucid/ubuntu-10.04.2-server-amd64.iso Swift Administrator’s Guide http://docs.openstack.org/cactus/openstack-compute/admin/os-compute-adminguide-cactus.pdf Cyberduck (for testing) http://cyberduck.ch/Cyberduck-4.0.2.zip
  • 8. Step Two: Get Remote <log in> sudosu – apt-get install –y openssh-server ifconfig #get your ip address <ssh to this ip>
  • 9. Step Three: Apt Packages sudosu - apt-get -y install python-software-properties add-apt-repository ppa:swift-core/ppa apt-get update apt-get -y install curl gccbzrmemcached python-configobj python-coverage python-dev python-nose python-setuptools python-simplejson python-xattr sqlite3 xfsprogs python-webob python-eventlet python-greenlet python-pastedeploy python-netifaces screen vim
  • 10. Step Four: Storage Environment adduserswiftdemo adduserswiftdemoadmin mkdir/srv dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=1000000 mkfs.xfs -i size=1024 /srv/swift-disk echo "/srv/swift-disk /mnt/sdb1 xfsloop,noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab mkdir /mnt/sdb1 mount /mnt/sdb1 mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4 chown -R swiftdemo:swiftdemo /mnt/sdb1 for x in {1..4}; do ln -s /mnt/sdb1/$x /srv/$x; done mkdir -p /etc/swift/object-server /etc/swift/container-server /etc/swift/account-server mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4 mkdir -p /var/run/swift chown -R swiftdemo:swiftdemo /etc/swift /mnt/sdb1 /srv/[1-4]/ /var/run/swift sed -e "s/exit 0/mkdir varrunswiftchownswiftdemo:swiftdemo varrunswiftexit 0/g" /etc/rc.local -i
  • 11. Step Five: RSYNC cat << EOF > /etc/rsyncd.conf uid = swiftdemo gid = swiftdemo log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid address = 127.0.0.1 EOF
  • 12. Step Five: RSYNC cat << EOF >> /etc/rsyncd.conf [account6012] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/account6012.lock [account6022] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/account6022.lock [account6032] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/account6032.lock [account6042] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/account6042.lock EOF
  • 13. Step Five: RSYNC cat << EOF >> /etc/rsyncd.conf [container6011] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/container6011.lock [container6021] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/container6021.lock [container6031] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/container6031.lock [container6041] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/container6041.lock EOF
  • 14. Step Five: RSYNC cat << EOF >> /etc/rsyncd.conf [object6010] max connections = 25 path = /srv/1/node/ read only = false lock file = /var/lock/object6010.lock [object6020] max connections = 25 path = /srv/2/node/ read only = false lock file = /var/lock/object6020.lock [object6030] max connections = 25 path = /srv/3/node/ read only = false lock file = /var/lock/object6030.lock [object6040] max connections = 25 path = /srv/4/node/ read only = false lock file = /var/lock/object6040.lock EOF sed -e "s/RSYNC_ENABLE=false/RSYNC_ENABLE=true/g" /etc/default/rsync -i
  • 15. Step Six: Install Swift su– swiftdemo mkdir ~/bin bzrinit-repo swift cd ~/swift; bzr branch lp:swift trunk cd ~/swift/trunk; sudo python setup.py develop cat << EOF >> ~/.bashrc export SWIFT_TEST_CONFIG_FILE=/etc/swift/func_test.conf export PATH=${PATH}:~/bin EOF . ~/.bashrc
  • 16. Step Seven: SSL Certificates cd /etc/swift opensslreq -new -x509 -nodes -out cert.crt -keyoutcert.key # USE IP for COMMON NAME
  • 17. Step Eight: Configurations sudosu- export SWIFT_IP=172.16.81.129 cat << EOF >> /etc/swift/proxy-server.conf [DEFAULT] bind_port = 443 bind_ip = $SWIFT_IP cert_file = /etc/swift/cert.crt key_file = /etc/swift/cert.key user = swiftdemo log_facility = LOG_LOCAL1 [pipeline:main] pipeline = healthcheck cache swauth proxy-server [app:proxy-server] use = egg:swift#proxy allow_account_management = true [filter:swauth] use = egg:swift#swauth super_admin_key= swauthkey default_swift_cluster = local#https://$SWIFT_IP:443/v1 [filter:healthcheck] use = egg:swift#healthcheck [filter:cache] use = egg:swift#memcache EOF
  • 18. Step Eight: Configurations cat << EOF >> /etc/swift/swift.conf [swift-hash] # random unique string that can never change (DO NOT LOSE) swift_hash_path_suffix = msst-swift-tutorial EOF
  • 19. Step Eight: Account Server Configs cd /etc/swift/account-server cat << EOF > 1.conf [DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6012 user = swiftdemo log_facility = LOG_LOCAL2 [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] vm_test_mode = yes [account-auditor] [account-reaper] EOF sed -e "s/srv1/srv2/" -e "s/6012/6022/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf sed -e "s/srv1/srv3/" -e "s/6012/6032/" -e "s/LOG_LOCAL2/LOG_LOCAL4/" 1.conf > 3.conf sed -e "s/srv1/srv4/" -e "s/6012/6042/" -e "s/LOG_LOCAL2/LOG_LOCAL5/" 1.conf > 4.conf
  • 20. Step Eight: Container Server Configs cd /etc/swift/container-server cat << EOF > 1.conf [DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6011 user = swiftdemo log_facility = LOG_LOCAL2 [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] vm_test_mode = yes [container-updater] [container-auditor] EOF sed -e "s/srv1/srv2/" -e "s/601/602/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf sed -e "s/srv1/srv3/" -e "s/601/603/" -e "s/LOG_LOCAL2/LOG_LOCAL4/" 1.conf > 3.conf sed -e "s/srv1/srv4/" -e "s/601/604/" -e "s/LOG_LOCAL2/LOG_LOCAL5/" 1.conf > 4.conf
  • 21. Step Eight: Object Server Configs cd /etc/swift/object-server cat << EOF > 1.conf [DEFAULT] devices = /srv/1/node mount_check = false bind_port = 6010 user = swiftdemo log_facility = LOG_LOCAL2 [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] vm_test_mode = yes [object-updater] [object-auditor] EOF sed -e "s/srv1/srv2/" -e "s/601/602/" -e "s/LOG_LOCAL2/LOG_LOCAL3/" 1.conf > 2.conf sed -e "s/srv1/srv3/" -e "s/601/603/" -e "s/LOG_LOCAL2/LOG_LOCAL4/" 1.conf > 3.conf sed -e "s/srv1/srv4/" -e "s/601/604/" -e "s/LOG_LOCAL2/LOG_LOCAL5/" 1.conf > 4.conf
  • 22. Step Nine: Binaries su - swiftdemo cat << EOF > ~/bin/resetswift #!/bin/bash swift-init all stop # find /var/log/swift -type f -exec rm -f {} sudoumount /mnt/sdb1 sudomkfs.xfs -f -i size=1024 /srv/swift-disk sudo mount /mnt/sdb1 sudomkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4 sudochownswiftdemo:swiftdemo /mnt/sdb1/* mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4 sudochownswiftdemo:swiftdemo /mnt/sdb1/* sudorm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslog sudo service rsyslog restart sudo service memcached restart EOF
  • 23. Step Nine: Binaries export SWIFT_IP=172.16.81.129 cat << EOF > ~/bin/remakerings #!/bin/bash cd /etc/swift rm -f *.builder *.ring.gz backups/*.builder backups/*.ring.gz swift-ring-builder object.builder create 18 3 1 swift-ring-builder object.builder add z1-$SWIFT_IP:6010/sdb1 1 swift-ring-builder object.builder add z2-$SWIFT_IP:6020/sdb2 1 swift-ring-builder object.builder add z3-$SWIFT_IP:6030/sdb3 1 swift-ring-builder object.builder add z4-$SWIFT_IP:6040/sdb4 1 swift-ring-builder object.builder rebalance swift-ring-builder container.builder create 18 3 1 swift-ring-builder container.builder add z1-$SWIFT_IP:6011/sdb1 1 swift-ring-builder container.builder add z2-$SWIFT_IP:6021/sdb2 1 swift-ring-builder container.builder add z3-$SWIFT_IP:6031/sdb3 1 swift-ring-builder container.builder add z4-$SWIFT_IP:6041/sdb4 1 swift-ring-builder container.builder rebalance swift-ring-builder account.builder create 18 3 1 swift-ring-builder account.builder add z1-$SWIFT_IP:6012/sdb1 1 swift-ring-builder account.builder add z2-$SWIFT_IP:6022/sdb2 1 swift-ring-builder account.builder add z3-$SWIFT_IP:6032/sdb3 1 swift-ring-builder account.builder add z4-$SWIFT_IP:6042/sdb4 1 swift-ring-builder account.builder rebalance EOF
  • 24. Step Nine: Binaries cat << EOF > ~/bin/startmain #!/bin/bash swift-init main start EOF cat << EOF > ~/bin/recreateaccounts #!/bin/bash # Replace swauthkey with whatever your super_admin key is (recorded in # /etc/swift/proxy-server.conf). swauth-prep -K swauthkey -A https://$SWIFT_IP:443/auth/ swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a test tester testing swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a test2 tester2 testing2 swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ test tester3 testing3 swauth-add-user -K swauthkey -A https://$SWIFT_IP:443/auth/ -a -r reseller reseller reseller EOF
  • 25. Step Nine: Binaries cat << EOF > ~/bin/startrest #!/bin/bash swift-init rest start EOF chmod +x ~/bin/*
  • 26. Step Ten: Running It . ~/.bashrc remakerings cd ~/swift/trunk; ./.unittests sudo bin/startmain recreateaccounts
  • 27. Fire up Cyberduck! defaults write ch.sudo.cyberduckcf.authentication.context /auth/v1.0
  • 29. Me: Joshua McKenty Twitter: @jmckenty Email: joshua@piston.cc Cell: 650-283-6846
  • 30.
  • 31. HealthCheck Middleware Patch Edit swift/common/wsgi.py Add: from swift.common.middleware import healthcheck, memcache, swauth

Editor's Notes

  1. We’re all clouds
  2. “NASA Nebula project drops Eucalyptus like a rock, moves to developing their own: http://novacc.org/ #thud” - http://twitter.com/#!/wattersjames/status/15393716881
  3. http://zisz.webnode.cn/news/odd-errors-importerror-no-module-named-middleware-healthcheck/