1. Hem
  2. Publikt moln
  3. Lagring
  4. Binero Objektlagring

Binero Objektlagring

I den här kom igång guiden så kommer vi gå igenom det ni behöver göra för att för att komma igång med objektlagring.

Vi kommer gå igenom hur ni gör detta via GUI och CLI, vi kommer även gå igenom en del av funktionerna som finns i vår objektlagring.

Vilka API stödjer ni?

Vi stödjer S3 och Swift, se nedan lista på endpoints. Om du jobbar med aws CLI så körs det mot S3 API, om du använder openstack CLI eller något av våra webbgränssnitt så används Swift API.

I S3 kallas den enhet där du lagrar objekt en bucket, i Swift heter motsvarande en container. Oavsett med vilket API du skapar en bucket/container med så är den tillgänglig med båda.

Vart kan jag lagra min data

Vi har idag följande objektlagring tillgänglig i region europe-se-1 (eu-se-1). Objektlagring i olika availability zoner delar inte underliggande lagringsplattform.

Vi stödjer både fristående objektlagring i varje availability zone samt replikerad objektlagring som replikerar data i alla availability zones i europe-se-1 (eu-se-1) regionen.

Om du jobbar mot objektlagring i något av våra webbgränssnitt så går du alltid mot den fristående objektlagringen i eu-se-1a, för att jobba mot en annan availability zone behöver du jobba med CLI eller API.

Fristående objektlagring

Stödjer alla lagringspolicys tillgänliga. Om ingen lagringspolicy anges används gp.recurring som standard.

RegionAvailability ZoneS3 endpointSwift endpoint
europe-se-1 (eu-se-1)europe-se-1a (eu-se-1a)https://object-eu-se-1a.binero.cloudhttps://object-eu-se-1a.binero.cloud/swift/v1/AUTH_%(tenant_id)s
europe-se-1 (eu-se-1)europe-se-1b (eu-se-1b)https://object-eu-se-1b.binero.cloudhttps://object-eu-se-1b.binero.cloud/swift/v1/AUTH_%(tenant_id)s

Replikerad objektlagring

Stödjer endast gp.recurring och hp.intensive lagringspolicys. Om ingen lagringspolicy anges används gp.recurring som standard.

Alla buckets/containers och objekt som skapas eller laddas upp replikeras mellan alla availability zones.

De flesta objekt replikeras inom 15 minuter, men kan ibland ta längre tid. Replikering är en asynkron process vilket betyder att objekten tillslut blir replikerade enligt eventual consistency modellen.

RegionAvailability ZoneS3 endpointSwift endpoint
europe-se-1 (eu-se-1)europe-se-1a (eu-se-1a)https://object-eu-se-1a-rep.binero.cloudhttps://object-eu-se-1a-rep.binero.cloud/swift/v1/AUTH_%(tenant_id)s
europe-se-1 (eu-se-1)europe-se-1b (eu-se-1b)https://object-eu-se-1b-rep.binero.cloudhttps://object-eu-se-1b-rep.binero.cloud/swift/v1/AUTH_%(tenant_id)s

Lagringspolicys

Vi har olika lagringspolicys, i tabellen nedan kan ni se vilken policy som är bäst lämpad för ert användningsområde.

Om ingen lagringspolicy specificeras så används gp.recurring som standard.

hp.intensivegp.recurringgp.intermittentgp.archive
Data typePrimaryPrimaryPrimary/SecondarySecondary/Backups
Data set sizeSmall to mediumSmall to hugeMedium to hugeLarge to huge
Data accessedConstantlyConstantlyIntermittentlySeldom
OptimizedFast access and low latencyRecurring accessIntermittent accessLong time storage
Storage mediumSSD/FlashHDD/MechanicalHDD/MechanicalHDD/Mechanical
Data reliability99.999%99.999%99.999%99.9%
ReplicationX*X*
* Replikerad objektlagring stödjer endast gp.recurring och hp.intensive

Förutsättningar

För att komma igång med CLI så behöver ni installera antingen AWS CLI eller liknande. I den här guiden så kommer vi använda AWS CLI. Klienten finns att ladda ner här https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html
Efter att AWS CLI är installerat så kan ni bekräfta att det fungerar genom att köra aws --version

För att köra openstack kommandon via CLI så behöver vi även installera den klienten på vår dator, information om hur man gör det finns här: https://docs.openstack.org/python-openstackclient

Kom igång

Efter att vi har aws CLI och openstack CLI installerat så kan vi börja med att skapa autentiseringsnycklarna som behövs för att jobba med objektlagringen. Detta gör vi med kommandot openstack ec2 credentials create, vi kommer då få ett svar liknande detta

+------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Value                                                                                                                                     |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| access     | 09876543210987654321098765432109                                                                                                          |
| links      | {u'self': u'http://auth.binero.cloud:5000/v3/users/01234567890123456789012345678901/credentials/OS-EC2/09876543210987654321098765432109'} |
| project_id | abc123abc123abc123abc123abc123ab                                                                                                          |
| secret     | cba321cba321cba321cba321cba321cb                                                                                                          |
| trust_id   | None                                                                                                                                      |
| user_id    | 01234567890123456789012345678901                                                                                                          |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------+


Access och secret behöver vi spara i en konfigurationsfil för att använda aws cli:et mot vår endpoint, den filen sparas här på linux ~/.aws/credentials och ska innehålla:

[default]
aws_access_key_id=<ACCESS_KEY>
aws_secret_access_key=<SECRET_KEY>


Nu är vi redo att skapa vår första container/bucket. Detta kan vi antingen göra genom Horizon (OpenStack dashboard) eller genom S3 API med aws CLI.

För att skapa en Container via Horizon så går ni till Project -> Object Store -> Containers och väljer +Container. Där får man namnge den och välja lagringspolicy.

Bild som visar horizon interfacet där man väljer namn på container och lagringspolicy.
* Notera att webbgränssnittet alltid går mot objektlagringen i eu-se-1a

Det går även att skapa en med aws CLI, detta gör ni genom att köra:

aws --endpoint=https://object-eu-se-1a.binero.cloud s3api create-bucket --bucket BUCKET_NAME --create-bucket-configuration LocationConstraint=europe-se-1:gp.recurring

Efter detta så ser vi vår nyskapade container/bucket på Containers sidan i Horizon

Bild som visar lista med containers och filer/mappar som tillhör den.

Eller via aws CLI

demo@binero:~$ aws --endpoint=https://object-eu-se-1a.binero.cloud s3 ls
2020-10-07 13:40:00 DEMO
Senast uppdaterad 2022-06-21

Relaterade artiklar

Behöver du hjälp?
Hittar du inte vad du söker? Ingen fara - kontakta oss så hjälper vi dig!
Kontakta support