cn:ccr:cloud:cloudstorage:installazione_swift
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| cn:ccr:cloud:cloudstorage:installazione_swift [2014/11/18 16:36] – removed stalio@infn.it | cn:ccr:cloud:cloudstorage:installazione_swift [2014/11/18 16:37] (current) – created stalio@infn.it | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Installazione Swift ====== | ||
| + | * Autore originale: **Giacinto Donvito** | ||
| + | * Formattazione: | ||
| + | |||
| + | ===== Installazione pacchetti ===== | ||
| + | |||
| + | < | ||
| + | # apt-get install swift openssh-server rsync memcached python-netifaces python-xattr python-memcache | ||
| + | # apt-get install swift-account swift-container swift-object xfsprogs | ||
| + | # apt-get install swift-proxy memcached python-keystoneclient python-swiftclient python-webob | ||
| + | </ | ||
| + | |||
| + | ===== Configurazione dello storage locale ===== | ||
| + | |||
| + | < | ||
| + | # mkfs.xfs /dev/vdb1 | ||
| + | # echo "/ | ||
| + | # mkdir -p / | ||
| + | # mount / | ||
| + | # chown -R swift:swift /srv/node | ||
| + | </ | ||
| + | |||
| + | Creare il file ''/ | ||
| + | |||
| + | < | ||
| + | uid = swift | ||
| + | gid = swift | ||
| + | log file = / | ||
| + | pid file = / | ||
| + | address = < | ||
| + | |||
| + | [account] | ||
| + | max connections = 2 | ||
| + | path = /srv/node/ | ||
| + | read only = false | ||
| + | lock file = / | ||
| + | |||
| + | [container] | ||
| + | max connections = 2 | ||
| + | path = /srv/node/ | ||
| + | read only = false | ||
| + | lock file = / | ||
| + | |||
| + | [object] | ||
| + | max connections = 2 | ||
| + | path = /srv/node/ | ||
| + | read only = false | ||
| + | lock file = / | ||
| + | </ | ||
| + | |||
| + | Modificare il file / | ||
| + | < | ||
| + | RSYNC_ENABLE = true | ||
| + | </ | ||
| + | |||
| + | Generazione dei certificati (self-signed) per SSL: | ||
| + | |||
| + | < | ||
| + | # cd /etc/swift | ||
| + | # openssl req -new -x509 -nodes -out cert.crt -keyout cert.key | ||
| + | </ | ||
| + | |||
| + | Modificare il file ''/ | ||
| + | |||
| + | < | ||
| + | -l 127.0.0.1 | ||
| + | to | ||
| + | -l < | ||
| + | </ | ||
| + | |||
| + | Riavviare memcached: | ||
| + | |||
| + | < | ||
| + | # service memcached restart | ||
| + | </ | ||
| + | |||
| + | Creare il file di configurazione ''/ | ||
| + | |||
| + | Creare la signing_dir: | ||
| + | < | ||
| + | # mkdir -p / | ||
| + | # chown -R swift:swift / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Configurazione dei servizi di storage ===== | ||
| + | |||
| + | ==== Creazione dei ring ==== | ||
| + | |||
| + | < | ||
| + | # swift-ring-builder account.builder add z1-$SWIFT_NODE_IP: | ||
| + | # swift-ring-builder container.builder add z1-$SWIFT_NODE_IP: | ||
| + | # swift-ring-builder object.builder add z1-$SWIFT_NODE_IP: | ||
| + | </ | ||
| + | |||
| + | ==== Files di configurazione dei servizi ==== | ||
| + | |||
| + | ''/ | ||
| + | < | ||
| + | [DEFAULT] | ||
| + | bind_ip = 0.0.0.0 | ||
| + | workers = 2 | ||
| + | |||
| + | [pipeline: | ||
| + | pipeline = object-server | ||
| + | |||
| + | [app: | ||
| + | use = egg: | ||
| + | |||
| + | [object-replicator] | ||
| + | |||
| + | [object-updater] | ||
| + | |||
| + | [object-auditor] | ||
| + | |||
| + | </ | ||
| + | |||
| + | ''/ | ||
| + | < | ||
| + | [DEFAULT] | ||
| + | bind_ip = 0.0.0.0 | ||
| + | workers = 2 | ||
| + | |||
| + | [pipeline: | ||
| + | pipeline = account-server | ||
| + | |||
| + | [app: | ||
| + | use = egg: | ||
| + | |||
| + | [account-replicator] | ||
| + | |||
| + | [account-auditor] | ||
| + | |||
| + | [account-reaper] | ||
| + | </ | ||
| + | |||
| + | ''/ | ||
| + | < | ||
| + | [DEFAULT] | ||
| + | bind_ip = 0.0.0.0 | ||
| + | workers = 2 | ||
| + | |||
| + | [pipeline: | ||
| + | pipeline = container-server | ||
| + | |||
| + | [app: | ||
| + | use = egg: | ||
| + | |||
| + | [container-replicator] | ||
| + | |||
| + | [container-updater] | ||
| + | |||
| + | [container-auditor] | ||
| + | |||
| + | </ | ||
| + | |||
| + | ''/ | ||
| + | < | ||
| + | [DEFAULT] | ||
| + | bind_port = 8080 | ||
| + | user = swift | ||
| + | |||
| + | [pipeline: | ||
| + | pipeline = healthcheck cache authtoken keystoneauth proxy-server | ||
| + | |||
| + | [app: | ||
| + | use = egg: | ||
| + | allow_account_management = true | ||
| + | account_autocreate = true | ||
| + | |||
| + | [filter: | ||
| + | use = egg: | ||
| + | operator_roles = Member, | ||
| + | |||
| + | [filter: | ||
| + | paste.filter_factory = keystoneclient.middleware.auth_token: | ||
| + | # Delaying the auth decision is required to support token-less | ||
| + | # usage for anonymous referrers (' | ||
| + | delay_auth_decision = true | ||
| + | # cache directory for signing certificate | ||
| + | signing_dir = / | ||
| + | # auth_* settings refer to the Keystone server | ||
| + | auth_protocol = http | ||
| + | auth_host = $CONTROLLER_NODE_PUBLIC_IP | ||
| + | auth_port = 35357 | ||
| + | # the same admin_token as provided in keystone.conf | ||
| + | admin_token = openstack | ||
| + | # the service tenant and swift userid and password created in Keystone | ||
| + | admin_tenant_name = service | ||
| + | admin_user = swift | ||
| + | admin_password = $SWIFT_USER_PASSWORD | ||
| + | |||
| + | [filter: | ||
| + | use = egg: | ||
| + | |||
| + | [filter: | ||
| + | use = egg: | ||
| + | |||
| + | [filter: | ||
| + | use = egg: | ||
| + | </ | ||
| + | |||
| + | |||
| + | Lista dei files in ''/ | ||
| + | < | ||
| + | root@swift:/ | ||
| + | total 6216 | ||
| + | -rw-r--r-- 1 swift swift 183 Apr 9 09:02 object-server.conf | ||
| + | -rw-r--r-- 1 swift swift 201 Apr 9 09:02 container-server.conf | ||
| + | -rw-r--r-- 1 swift swift 188 Apr 9 09:02 account-server.conf | ||
| + | -rw-r--r-- 1 swift swift 113 Jun 12 13:52 swift.conf | ||
| + | -rw-r--r-- 1 root root 916 Jun 12 14:00 cert.key | ||
| + | -rw-r--r-- 1 root root 1131 Jun 12 14:00 cert.crt | ||
| + | lrwxrwxrwx 1 root root 28 Jun 12 14:53 swift-proxy.conf -> / | ||
| + | -rw-r--r-- 1 root root 1150 Jun 12 15:32 proxy-server.conf | ||
| + | -rw-r--r-- 1 root root 1724 Jun 13 14:05 account.ring.gz | ||
| + | -rw-r--r-- 1 root root 2099711 Jun 13 14:05 account.builder | ||
| + | -rw-r--r-- 1 root root 1725 Jun 13 14:05 container.ring.gz | ||
| + | -rw-r--r-- 1 root root 2099709 Jun 13 14:05 container.builder | ||
| + | -rw-r--r-- 1 root root 1722 Jun 13 14:06 object.ring.gz | ||
| + | -rw-r--r-- 1 root root 2099709 Jun 13 14:06 object.builder | ||
| + | drwxr-xr-x 2 root root 4096 Jun 13 14:06 backups | ||
| + | -rw-r--r-- 1 root root 222 Jun 13 14:58 novarc | ||
| + | </ | ||
| + | |||
| + | ===== Test della configurazione ===== | ||
| + | |||
| + | ==== Configurazione variabili di autenticazione ==== | ||
| + | |||
| + | < | ||
| + | # export OS_TENANT_NAME=admin | ||
| + | # export OS_USERNAME=admin | ||
| + | # export OS_PASSWORD=$SWIFT_USER_PASSWORD | ||
| + | # export OS_AUTH_URL=" | ||
| + | </ | ||
| + | |||
| + | ==== Test lato client ==== | ||
| + | |||
| + | < | ||
| + | root@swift:/ | ||
| + | | ||
| + | | ||
| + | Object: prova_big_file | ||
| + | Content Type: application/ | ||
| + | Content Length: 480247808 | ||
| + | Last Modified: Fri, 14 Jun 2013 07:46:13 GMT | ||
| + | ETag: 19882d2dce6140c6033c514e91e49e37 | ||
| + | Meta Orig-Filename: | ||
| + | | ||
| + | | ||
| + | </ | ||
