From 23e2f299b84214013134002506d7a5829963042b Mon Sep 17 00:00:00 2001 From: Damiano Cipriani Date: Mon, 19 Jun 2023 17:04:46 +0200 Subject: [PATCH] fix(lep): update longhorn-spdk-engine assignments Signed-off-by: Damiano Cipriani --- ...3-reimplement-longhorn-engine-with-SPDK.md | 8 ++++---- enhancements/image/spdk-control-plane.png | Bin 92218 -> 92324 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/enhancements/20221213-reimplement-longhorn-engine-with-SPDK.md b/enhancements/20221213-reimplement-longhorn-engine-with-SPDK.md index 3dca29d..a6af7a9 100644 --- a/enhancements/20221213-reimplement-longhorn-engine-with-SPDK.md +++ b/enhancements/20221213-reimplement-longhorn-engine-with-SPDK.md @@ -36,15 +36,15 @@ These are the reasons that have driven us: SPDK implements a JSON-RPC 2.0 server to allow external management tools to dynamically configure SPDK components ([documentation](https://spdk.io/doc/jsonrpc.html)). -What we aim is to create an external orchestrator that, with JSON-RPC calls towards multiple instances of `spdk_tgt` app running in different machines, could manage the durability and reliability of data. Actually, not all needed functionalities to do that are already available in SPDK, so some new JSON-RPC commands will be developed over SPDK. The name of such an orchestrator could be `longhorn-spdk-agent`, taking as example [Storage Management Agent](https://spdk.io/doc/sma.html) that has some similar functionalities, but `longhorn-spdk-engine` is a best fit to make better understand its continuity with actual `longhorn-engine`. +What we aim is to create an external orchestrator that, with JSON-RPC calls towards multiple instances of `spdk_tgt` app running in different machines, could manage the durability and reliability of data. Actually, not all needed functionalities to do that are already available in SPDK, so some new JSON-RPC commands will be developed over SPDK. This orchestrator is implemented in longhorn manager pods and will use a new process, called `longhorn-spdk-engine` in continuity with actual `longhorn-engine`, to talk with `spdk_tgt`. * The main purpose of `longhorn-spdk-engine` is to create and export via NVMe-oF logical volumes from multiple replica nodes (one of them likely local), attach to these volumes on a controller node, use resulting bdevs to create a RAID1 bdev and exporting it via NVMe-oF locally. At this point NVMe Kernel module can be used to connect to this NVMe-oF subsystem and so to create a block device `/dev/nvmeXnY` to be used by the Longhorn CSI driver. In this way we will have multiple replica of the same data written on this block device. * Below a diagram that shows the control plane of the proposal ![SPDK New Architecture](./image/spdk-control-plane.png) * In release 23.01, support for ublk will be added in SPDK: with this functionality we can directly create a block device without using the NVMe layer on Linux kernel versions >6.0. This will be a quite big enhancement over using NVMe-oF locally. -The `longhorn-spdk-engine` will be responsible to make all others control operations, like for example creating snapshots over all replicas of the same volume. Other functionalities orchestrated by the engine will be the remote rebuild, a complete rebuild of the entire snapshot stack of a volume needed to add or repair a replica, the backup and restore, export/import of a SPDK logical volumes to/from sparse files stored on an external storage system via S3. +The `longhorn-spdk-engine` will be responsible to make all others control operations, like for example creating snapshots over all replicas of the same volume. Other functionalities orchestrated through the engine will be the remote rebuild, a complete rebuild of the entire snapshot stack of a volume needed to add or repair a replica, the backup and restore, export/import of a SPDK logical volumes to/from sparse files stored on an external storage system via S3. -The `longhorn-spdk-engine` will be developed in Go so maybe we can reuse some code from `instance-manager` and from `longhorn-engine`, for example gRPC handling to receive control commands and error handling during snapshot/backup/restore operations. +The `longhorn-spdk-engine` will be developed in Go so maybe we can reuse some code from `longhorn-engine`, for example gRPC handling to receive control commands and error handling during snapshot/backup/restore operations. What about the data plane, below a comparison between actual architecture and new design: @@ -69,7 +69,7 @@ To orchestrate SPDK instances running on different nodes in a way to make up a s When `longhorn-spdk-engine` receive a snapshot request from `instance-manager`, before to proceed all I/O operations over volume's block device `/dev/nvmeXnY` must be stopped to ensure that snapshots over all the replicas contains the same data. Actually there is no way to suspend the I/O operations over a block device, so we will have to implement this feature into SPDK. But in RAID bdev there are already some private functions to suspend I/O (they will be used for example in base bdev removing), maybe we can use and improve them. These functions actually enqueue all the I/O operations received during the suspend time. -Once received a snapshot request, `longhorn-spdk-engine` will call the JSON-RPC to make a snapshot over all the replicas of the volume involved. The snapshot RPC command will ensure to freeze all I/O over the logical volume to be snapshotted, so all pending I/O will be executed before the snapshot. +Once received a snapshot request, `longhorn-spdk-engine` will call the JSON-RPC to make a snapshot over the local replica of the volume involved. The snapshot RPC command will ensure to freeze all I/O over the logical volume to be snapshotted, so all pending I/O will be executed before the snapshot. SPDK logical volume have a couple of features that we will use: * clone, used to create new logical volume based on a snapshot. It can be used to revert a volume to a snapshot too, cloning a new volume, deleting the old one and then renaming the new one as the old one diff --git a/enhancements/image/spdk-control-plane.png b/enhancements/image/spdk-control-plane.png index 53afe56dc6cc10b077f62645b65e555d2bba4d6a..ba2e399f788370ae708c84563f49d78007d22758 100644 GIT binary patch delta 34976 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 z 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 M`iND|zLUTIA0GTRKmY&$ delta 34873 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 ZFRp#GhMl3B6bJwNm+7H>g?mn2_&?%9H1+@h