11. Stockage objet OpenStack
- 1. Architecture de stockage
- 2. Opérations sur Swift
- 2.1. Variables d'environnement
- 2.2. Identification du service Swift
- 2.3. Détails sur le service Swift
- 2.4. Ligne de commande Swift
- 2.5. Création d'un centeneur
- 2.6. Placement d'un fichier
- 2.7. Copie d'un conteneur
- 2.8. Suppression d'un conteneur
- 2.9. Paramètres d'authentification
- 2.10. Téléchargement d'un fichier
Swift est déployé avec DevStack
1. Architecture de stockage
...
2. Opérations sur Swift
2.1. Variables d'environnement
stack@st-vbx-1:~/devstack$ . openrc admin
WARNING: setting legacy OS_TENANT_NAME to support cli tools.
2.2. Identification du service Swift
stack@st-vbx-1:~/devstack$ openstack service list
+----------------------------------+----------+--------------+
| ID | Name | Type |
+----------------------------------+----------+--------------+
| 98f67c545a464020b362c01a9f40ef9a | keystone | identity |
| c5b21d9b34eb4567a90819975dc0fe59 | swift | object-store |
+----------------------------------+----------+--------------+
2.3. Détails sur le service Swift
stack@st-vbx-1:~/devstack$ swift stat
Account: AUTH_c577f605ac144d15b11a1bdbf246d677
Containers: 0
Objects: 0
Bytes: 0
X-Put-Timestamp: 1552074251.40737
X-Timestamp: 1552074251.40737
X-Trans-Id: txd3774930977a456b84ae0-005c82c60a
Content-Type: text/plain; charset=utf-8
X-Openstack-Request-Id: txd3774930977a456b84ae0-005c82c60a
2.4. Ligne de commande Swift
stack@st-vbx-1:~/devstack$ swift
usage: swift [--version] [--help] [--os-help] [--snet] [--verbose]
[--debug] [--info] [--quiet] [--auth <auth_url>]
[--auth-version <auth_version> |
--os-identity-api-version <auth_version> ]
[--user <username>]
[--key <api_key>] [--retries <num_retries>]
[--os-username <auth-user-name>]
[--os-password <auth-password>]
[--os-user-id <auth-user-id>]
[--os-user-domain-id <auth-user-domain-id>]
[--os-user-domain-name <auth-user-domain-name>]
[--os-tenant-id <auth-tenant-id>]
[--os-tenant-name <auth-tenant-name>]
[--os-project-id <auth-project-id>]
[--os-project-name <auth-project-name>]
[--os-project-domain-id <auth-project-domain-id>]
[--os-project-domain-name <auth-project-domain-name>]
[--os-auth-url <auth-url>]
[--os-auth-token <auth-token>]
[--os-storage-url <storage-url>]
[--os-region-name <region-name>]
[--os-service-type <service-type>]
[--os-endpoint-type <endpoint-type>]
[--os-cacert <ca-certificate>]
[--insecure]
[--os-cert <client-certificate-file>]
[--os-key <client-certificate-key-file>]
[--no-ssl-compression]
[--force-auth-retry]
<subcommand> [--help] [<subcommand options>]
Command-line interface to the OpenStack Swift API.
Positional arguments:
<subcommand>
delete Delete a container or objects within a container.
download Download objects from containers.
list Lists the containers for the account or the objects
for a container.
post Updates meta information for the account, container,
or object; creates containers if not present.
copy Copies object, optionally adds meta
stat Displays information for the account, container,
or object.
upload Uploads files or directories to the given container.
capabilities List cluster capabilities.
tempurl Create a temporary URL.
auth Display auth related environment variables.
bash_completion Outputs option and flag cli data ready for
bash_completion.
Examples:
swift download --help
swift -A https://api.example.com/v1.0 \
-U user -K api_key stat -v
swift --os-auth-url https://api.example.com/v2.0 \
--os-tenant-name tenant \
--os-username user --os-password password list
swift --os-auth-url https://api.example.com/v3 --auth-version 3\
--os-project-name project1 --os-project-domain-name domain1 \
--os-username user --os-user-domain-name domain1 \
--os-password password list
swift --os-auth-url https://api.example.com/v3 --auth-version 3\
--os-project-id 0123456789abcdef0123456789abcdef \
--os-user-id abcdef0123456789abcdef0123456789 \
--os-password password list
swift --os-auth-token 6ee5eb33efad4e45ab46806eac010566 \
--os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \
list
swift list --lh
optional arguments:
--version show programs version number and exit
-h, --help
--os-help Show OpenStack authentication options.
-s, --snet Use SERVICENET internal network.
-v, --verbose Print more info.
--debug Show the curl commands and results of all http queries
regardless of result status.
--info Show the curl commands and results of all http queries
which return an error.
-q, --quiet Suppress status output.
-A=AUTH, --auth=AUTH URL for obtaining an auth token.
-V=AUTH_VERSION, --auth-version=AUTH_VERSION, --os-identity-api-version=AUTH_VERSION
Specify a version for authentication. Defaults to
env[ST_AUTH_VERSION], env[OS_AUTH_VERSION],
env[OS_IDENTITY_API_VERSION] or 1.0.
-U=USER, --user=USER User name for obtaining an auth token.
-K=KEY, --key=KEY Key for obtaining an auth token.
-R=RETRIES, --retries=RETRIES
The number of times to retry a failed connection.
--insecure Allow swiftclient to access servers without having to
verify the SSL certificate. Defaults to
env[SWIFTCLIENT_INSECURE] (set to 'true' to enable).
--no-ssl-compression This option is deprecated and not used anymore. SSL
compression should be disabled by default by the
system SSL library.
--force-auth-retry Force a re-auth attempt on any error other than 401
unauthorized
--prompt Prompt user to enter a password which overrides any
password supplied via --key, --os-password or
environment variables.
2.5. Création d'un centeneur
stack@st-vbx-1:~/devstack$ swift post TestContainer
stack@st-vbx-1:~/devstack$ swift list
TestContainer
2.6. Placement d'un fichier
stack@st-vbx-1:~/devstack$ echo "$(date)" >> testSwift.txt
stack@st-vbx-1:~/devstack$ swift upload TestContainer testSwift.txt
testSwift.txt
stack@st-vbx-1:~/devstack$ swift list TestContainer
testSwift.txt
2.7. Copie d'un conteneur
stack@st-vbx-1:~/devstack$ swift post DestContainer
stack@st-vbx-1:~/devstack$ swift post SourceContainer
stack@st-vbx-1:~/devstack$ swift upload SourceContainer testSwift.txt
testSwift.txt
stack@st-vbx-1:~/devstack$ swift copy -d /DestContainer/testSwift.txt SourceContainer testSwift.txt
created container DestContainer
SourceContainer/testSwift.txt copied to /DestContainer/testSwift.txt
2.8. Suppression d'un conteneur
stack@st-vbx-1:~/devstack$ swift delete TestContainer testSwift.txt
testSwift.txt
stack@st-vbx-1:~/devstack$ swift delete TestContainer
TestContainer
2.9. Paramètres d'authentification
stack@st-vbx-1:~/devstack$ swift auth
export OS_STORAGE_URL=http://127.0.0.1:8080/v1/AUTH_c577f605ac144d15b11a1bdbf246d677
export OS_AUTH_TOKEN=gAAAAABcgscqmz4NNH2RdJSwHUx3a65nE5855iBSgJQ_Ehd9w09zrlfZmI8s3ZMiOhmdBBn6tIkRNPRfvmNY9Wo06JwijX_A9H83TJjnKD_oRMul6gqUii5FTlDECKQSv4TWPgzuyRKWrwpKhOxzpUEb-Xb5crvZoMWfMsusQDyeqm8b_I4JjEk
2.10. Téléchargement d'un fichier
stack@st-vbx-1:~/devstack$ swift download DestContainer testSwift.txt
testSwift.txt [auth 0.343s, headers 0.530s, total 0.531s, 0.000 MB/s]