Size: a a a

SDS и Кластерные FS

2020 September 23

i

ivdok in SDS и Кластерные FS
Правда с середины статьи начинается реклама
источник

Д

Дмитрий in SDS и Кластерные FS
Существует ли какой-нибудь S3 с тирингом?
У амазона, судя по сайту, есть разные классы хранения (S3 Standart для горячих/тёплых данных, S3 Glacier для холодных), но я так понимаю что это, по сути, разные хранилки с разными эндпоинтами.
источник

Д

Дмитрий in SDS и Кластерные FS
У нас в продукте астер используется и сохраняются записи звонков, было бы интересно раскидывать старые/холодные записи куда-нибудь на дешёвую ленту (у некоторых клиентов есть) или просто на дешевое хранилище, а более-менее новое в каком-нибудь быстром хранилище находилось
источник

AT

Alex Tkachuk in SDS и Кластерные FS
openio
источник

MS

Michael Silich in SDS и Кластерные FS
Дмитрий
Существует ли какой-нибудь S3 с тирингом?
У амазона, судя по сайту, есть разные классы хранения (S3 Standart для горячих/тёплых данных, S3 Glacier для холодных), но я так понимаю что это, по сути, разные хранилки с разными эндпоинтами.
ceph, noobaa, minio к примеру такое умеют
источник

k

kvaps in SDS и Кластерные FS
Michael Silich
ceph, noobaa, minio к примеру такое умеют
Первые два да, но разве минио умеет в тиеринг?
источник

k

kvaps in SDS и Кластерные FS
Хотя с sidekick такую функциональность можно к любому s3 прикрутить
источник

MS

Michael Silich in SDS и Кластерные FS
kvaps
Первые два да, но разве минио умеет в тиеринг?
Там есть S3 cache на ссд например и Bucket Lifecycle
источник

Д

Дмитрий in SDS и Кластерные FS
openio и noobaa выглядят интересно, попробую потестить их
источник

k

kvaps in SDS и Кластерные FS
Дмитрий
openio и noobaa выглядят интересно, попробую потестить их
Думаю если sidekick на клиента прикрутить, не получится ли тоже самое?
источник

Д

Дмитрий in SDS и Кластерные FS
Плохо представляю, как это должно работать, я в принципе с объектными хранилками не работал, поэтому пока только присматриваюсь
источник

k

kvaps in SDS и Кластерные FS
Дмитрий
Плохо представляю, как это должно работать, я в принципе с объектными хранилками не работал, поэтому пока только присматриваюсь
Это такая фигня которая кэшит один s3 на другой s3
источник

DB

Dmitry Burlakov in SDS и Кластерные FS
kvaps
Это такая фигня которая кэшит один s3 на другой s3
Это же поделие самих чуваков из Minio Вроде https://github.com/minio/sidekick
источник

MS

Maxim Savchenko in SDS и Кластерные FS
привет, подскажите в чем может быть проблема.
Настроил drbd в Kubernetes используя Piraeus-datastore (https://github.com/piraeusdatastore/piraeus), создал на 2 нодах с Kubernetes ZFS пулы. Потом создал storage-pool в linstor через controller, добавил ZFS пулы на эти 2 ноды, ну и прописал в storageclass созданный storage-pool с placementCount=2.
Дальше пытаюсь создать volume (PV) через PVC и выдаёт ошибку Access to deleted volume definition.
Версия drbd:
version: 9.0.24-1 (api:2/proto:86-117)
GIT-hash: 6e91f89e4016d01512db171d98b3424204d254dc build by root@node2, 2020-09-22 12:28:00
Transports (api:16): tcp (9.0.24-1)
StorageClass:
parameters:
 allowRemoteVolumeAccess: "true"
 csi.storage.k8s.io/fstype: xfs
 disklessOnRemaining: "true"
 layerlist: drbd storage
 mountOpts: noatime,discard
 placementCount: "2"
 placementPolicy: AutoPlace
 storagePool: hdd

Node list:
linstor n list
╭──────────────────────────────────────────────────────────────╮
┊ Node      ┊ NodeType  ┊ Addresses                   ┊ State  ┊
╞══════════════════════════════════════════════════════════════╡
┊ node1 ┊ SATELLITE ┊ 192.168.1.11:3366 (PLAIN)  ┊ Online ┊
┊ node2 ┊ SATELLITE ┊ 192.168.1.12:3366 (PLAIN)  ┊ Online ┊
┊ node3 ┊ SATELLITE ┊ 192.168.1.13:3366 (PLAIN)  ┊ Online ┊
┊ node4 ┊ SATELLITE ┊ 192.168.1.14:3366 (PLAIN)  ┊ Online ┊
┊ node5 ┊ SATELLITE ┊ 192.168.1.15:3366 (PLAIN)  ┊ Online ┊
┊ node6 ┊ SATELLITE ┊ 192.168.1.16:3366 (PLAIN)  ┊ Online ┊
┊ node7 ┊ SATELLITE ┊ 192.168.1.17:3366 (PLAIN)  ┊ Online ┊
┊ node8 ┊ SATELLITE ┊ 192.168.1.18:3366 (PLAIN)  ┊ Online ┊
┊ node9 ┊ SATELLITE ┊ 192.168.1.19:3366 (PLAIN)  ┊ Online ┊
╰──────────────────────────────────────────────────────────────╯

storage-pools:
linstor sp list
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
┊ StoragePool          ┊ Node      ┊ Driver   ┊ PoolName ┊ FreeCapacity ┊ TotalCapacity ┊ SupportsSnapshots ┊ State ┊
╞═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
┊ DfltDisklessStorPool ┊ node1 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node2 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node3 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node4 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node5 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node6 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node7 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node8 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node9 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ hdd                  ┊ node2 ┊ ZFS_THIN ┊ drbd-hdd ┊     7.02 TiB ┊      7.25 TiB ┊ True              ┊ Ok    ┊
┊ hdd                  ┊ node3 ┊ ZFS_THIN ┊ drbd-hdd ┊     7.02 TiB ┊      7.25 TiB ┊ True              ┊ Ok    ┊
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

полный стэк ошибки:
```
err show 5F6AFF34-00000-000019
ERROR REPORT 5F6AFF34-00000-000019

============================================================

Application:                        LINBIT? LINSTOR
Module:                             Controller
Version:                            1.4.2
Build ID:                           974dfcad291e1f683941ada3d7e7337821060349
Build time:                         2020-01-27T11:15:32+00:00
Error time:                         2020-09-23 08:36:14
Node:                               piraeus-controller-0
Peer:                               RestClient(10.42.5.55; 'Go
источник

MS

Maxim Savchenko in SDS и Кластерные FS
-http-client/1.1')

============================================================

Reported error:
===============

Category:                           RuntimeException
Class name:                         AccessToDeletedDataException
Class canonical name:               com.linbit.linstor.AccessToDeletedDataException
Generated at:                       Method 'checkDeleted', Source file 'VolumeDefinition.java', Line #384

Error message:                      Access to deleted volume definition

Error context:
   An exception occurred while creating layer data

Call backtrace:

   Method                                   Native Class:Line number
   checkDeleted                             N      com.linbit.linstor.core.objects.VolumeDefinition:384
   getResourceDefinition                    N      com.linbit.linstor.core.objects.VolumeDefinition:202
   compareTo                                N      com.linbit.linstor.core.objects.VolumeDefinition:440
   compareTo                                N      com.linbit.linstor.core.objects.Volume:343
   compareTo                                N      com.linbit.linstor.storage.data.provider.AbsStorageVlmData:263
   compareTo                                N      com.linbit.linstor.storage.data.provider.AbsStorageVlmData:33
   put                                      N      java.util.TreeMap:566
   add                                      N      java.util.TreeSet:255
   add                                      N      com.linbit.linstor.transaction.TransactionSet:122
   add                                      N      com.linbit.linstor.transaction.TransactionSet:16
   synchronizedAdd                          N      com.linbit.linstor.core.objects.FreeSpaceMgr:256
   vlmCreating                              N      com.linbit.linstor.core.objects.FreeSpaceMgr:121
   putVolume                                N      com.linbit.linstor.core.objects.StorPool:184
   createVlmLayerData                       N      com.linbit.linstor.layer.resource.RscStorageLayerHelper:198
   createVlmLayerData                       N      com.linbit.linstor.layer.resource.RscStorageLayerHelper:44
   ensureRscDataCreated                     N      com.linbit.linstor.layer.resource.AbsRscLayerHelper:245
   ensureDataRec                            N      com.linbit.linstor.layer.resource.CtrlRscLayerDataFactory:218
   ensureDataRec                            N      com.linbit.linstor.layer.resource.CtrlRscLayerDataFactory:236
   ensureStackDataExists                    N      com.linbit.linstor.layer.resource.CtrlRscLayerDataFactory:154
   create                                   N      com.linbit.linstor.core.objects.VolumeControllerFactory:89
   createVolume                             N      com.linbit.linstor.core.apicallhandler.controller.CtrlVlmCrtApiHelper:97
   createVolumeResolvingStorPool            N      com.linbit.linstor.core.apicallhandler.controller.CtrlVlmCrtApiHelper:77
   createResourceDb                         N      com.linbit.linstor.core.apicallhandler.controller.CtrlRscCrtApiHelper:303
   createResources                          N      com.linbit.linstor.core.apicallhandler.controller.CtrlRscAutoPlaceApiCallHandler:419
   autoPlaceThinInTransaction               N      com.linbit.linstor.core.apicallhandler.controller.CtrlRscAutoPlaceApiCallHandler:333
   lambda$autoPlaceThin$5                   N      com.linbit.linstor.core.apicallhandler.controller.CtrlRscAutoPlaceApiCallHandler:297
   doInScope                                N      com.linbit.linstor.core.apicallhandler.ScopeRunner:146
   lambda$fluxInScope$0                     N      com.linbit.linstor.core.apicallhandler.ScopeRunner:75
   call                                     N      reactor.core.publisher.MonoCallable:91
   trySubscribeScalarMap                    N      reactor.core.publisher.FluxFlatMap:126
   subscribe                                N      reactor.core.publisher.MonoFlatMapMany:46
   subscribe                                N      reactor.core.publisher.Flux:7799
   onNext
источник

MS

Maxim Savchenko in SDS и Кластерные FS
.core.publisher.UnicastProcessor:277
   drain                                    N      reactor.core.publisher.UnicastProcessor:310
   onNext                                   N      reactor.core.publisher.UnicastProcessor:386
   next                                     N      reactor.core.publisher.FluxCreate$IgnoreSink:618
   next                                     N      reactor.core.publisher.FluxCreate$SerializedSink:153
   processInOrder                           N      com.linbit.linstor.netcom.TcpConnectorPeer:369
   doProcessMessage                         N      com.linbit.linstor.proto.CommonMessageProcessor:216
   lambda$processMessage$2                  N      com.linbit.linstor.proto.CommonMessageProcessor:162
   onNext                                   N      reactor.core.publisher.FluxPeek$PeekSubscriber:177
   runAsync                                 N      reactor.core.publisher.FluxPublishOn$PublishOnSubscriber:398
   run                                      N      reactor.core.publisher.FluxPublishOn$PublishOnSubscriber:484
   call                                     N      reactor.core.scheduler.WorkerTask:84
   call                                     N      reactor.core.scheduler.WorkerTask:37
   run                                      N      java.util.concurrent.FutureTask:264
   run                                      N      java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask:304
   runWorker                                N      java.util.concurrent.ThreadPoolExecutor:1128
   run                                      N      java.util.concurrent.ThreadPoolExecutor$Worker:628
   run                                      N      java.lang.Thread:834


END OF ERROR REPORT.```


ну и когда смотришь describe по PVC
Warning  ProvisioningFailed    29m                    linstor.csi.linbit.com_piraeus-csi-controller-1_652bb383-a430-4d47-a4a6-ae9fd634ad41  failed to provision volume with StorageClass "piraeus-hdd-r2": rpc error: code = Internal desc = CreateVolume failed for pvc-26d19da1-e62b-4990-b3df-88957b30b793: Message: 'An exception occurred while creating layer data'; Cause: 'Access to deleted volume definition'; Details: 'Auto-placing resource: pvc-26d19da1-e62b-4990-b3df-88957b30b793'; Reports: '[5F6AFF34-00000-000007]'
 Normal   Provisioning          64s (x14 over 29m)     linstor.csi.linbit.com_piraeus-csi-controller-1_652bb383-a430-4d47-a4a6-ae9fd634ad41  External provisioner is provisioning volume for claim "default/task-pv-claim"
источник

k

kvaps in SDS и Кластерные FS
да
источник

Д

Дмитрий in SDS и Кластерные FS
kvaps
Это такая фигня которая кэшит один s3 на другой s3
А он сам по тирам балансит?
источник

k

kvaps in SDS и Кластерные FS
Дмитрий
А он сам по тирам балансит?
видимо да, но он сам как кэш работает
источник

k

kvaps in SDS и Кластерные FS
Maxim Savchenko
привет, подскажите в чем может быть проблема.
Настроил drbd в Kubernetes используя Piraeus-datastore (https://github.com/piraeusdatastore/piraeus), создал на 2 нодах с Kubernetes ZFS пулы. Потом создал storage-pool в linstor через controller, добавил ZFS пулы на эти 2 ноды, ну и прописал в storageclass созданный storage-pool с placementCount=2.
Дальше пытаюсь создать volume (PV) через PVC и выдаёт ошибку Access to deleted volume definition.
Версия drbd:
version: 9.0.24-1 (api:2/proto:86-117)
GIT-hash: 6e91f89e4016d01512db171d98b3424204d254dc build by root@node2, 2020-09-22 12:28:00
Transports (api:16): tcp (9.0.24-1)
StorageClass:
parameters:
 allowRemoteVolumeAccess: "true"
 csi.storage.k8s.io/fstype: xfs
 disklessOnRemaining: "true"
 layerlist: drbd storage
 mountOpts: noatime,discard
 placementCount: "2"
 placementPolicy: AutoPlace
 storagePool: hdd

Node list:
linstor n list
╭──────────────────────────────────────────────────────────────╮
┊ Node      ┊ NodeType  ┊ Addresses                   ┊ State  ┊
╞══════════════════════════════════════════════════════════════╡
┊ node1 ┊ SATELLITE ┊ 192.168.1.11:3366 (PLAIN)  ┊ Online ┊
┊ node2 ┊ SATELLITE ┊ 192.168.1.12:3366 (PLAIN)  ┊ Online ┊
┊ node3 ┊ SATELLITE ┊ 192.168.1.13:3366 (PLAIN)  ┊ Online ┊
┊ node4 ┊ SATELLITE ┊ 192.168.1.14:3366 (PLAIN)  ┊ Online ┊
┊ node5 ┊ SATELLITE ┊ 192.168.1.15:3366 (PLAIN)  ┊ Online ┊
┊ node6 ┊ SATELLITE ┊ 192.168.1.16:3366 (PLAIN)  ┊ Online ┊
┊ node7 ┊ SATELLITE ┊ 192.168.1.17:3366 (PLAIN)  ┊ Online ┊
┊ node8 ┊ SATELLITE ┊ 192.168.1.18:3366 (PLAIN)  ┊ Online ┊
┊ node9 ┊ SATELLITE ┊ 192.168.1.19:3366 (PLAIN)  ┊ Online ┊
╰──────────────────────────────────────────────────────────────╯

storage-pools:
linstor sp list
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
┊ StoragePool          ┊ Node      ┊ Driver   ┊ PoolName ┊ FreeCapacity ┊ TotalCapacity ┊ SupportsSnapshots ┊ State ┊
╞═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
┊ DfltDisklessStorPool ┊ node1 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node2 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node3 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node4 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node5 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node6 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node7 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node8 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ DfltDisklessStorPool ┊ node9 ┊ DISKLESS ┊          ┊              ┊               ┊ False             ┊ Ok    ┊
┊ hdd                  ┊ node2 ┊ ZFS_THIN ┊ drbd-hdd ┊     7.02 TiB ┊      7.25 TiB ┊ True              ┊ Ok    ┊
┊ hdd                  ┊ node3 ┊ ZFS_THIN ┊ drbd-hdd ┊     7.02 TiB ┊      7.25 TiB ┊ True              ┊ Ok    ┊
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

полный стэк ошибки:
```
err show 5F6AFF34-00000-000019
ERROR REPORT 5F6AFF34-00000-000019

============================================================

Application:                        LINBIT? LINSTOR
Module:                             Controller
Version:                            1.4.2
Build ID:                           974dfcad291e1f683941ada3d7e7337821060349
Build time:                         2020-01-27T11:15:32+00:00
Error time:                         2020-09-23 08:36:14
Node:                               piraeus-controller-0
Peer:                               RestClient(10.42.5.55; 'Go
А вручную создаются?
источник