Skip to content

Commit 9ac05d9

Browse files
authored
Merge pull request ceph#44470 from orozery/rbd-external-migrate
librbd/migration: add external clusters support Reviewed-by: Mykola Golub <[email protected]> Reviewed-by: Ramana Raja <[email protected]>
2 parents 19a85f0 + 4a6800f commit 9ac05d9

36 files changed

+480
-127
lines changed

doc/rbd/rbd-live-migration.rst

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
.. index:: Ceph Block Device; live-migration
66

7-
RBD images can be live-migrated between different pools within the same cluster;
8-
between different image formats and layouts; or from external data sources.
9-
When started, the source will be deep-copied to the destination image, pulling
10-
all snapshot history while preserving the sparse allocation of data where
11-
possible.
7+
RBD images can be live-migrated between different pools, image formats and/or
8+
layouts within the same Ceph cluster; from an image in another Ceph cluster; or
9+
from external data sources. When started, the source will be deep-copied to
10+
the destination image, pulling all snapshot history while preserving the sparse
11+
allocation of data where possible.
1212

1313
By default, when live-migrating RBD images within the same Ceph cluster, the
1414
source image will be marked read-only and all clients will instead redirect
@@ -18,8 +18,9 @@ image during the migration to remove the dependency on the source image's
1818
parent.
1919

2020
The live-migration process can also be used in an import-only mode where the
21-
source image remains unmodified and the target image can be linked to an
22-
external data source such as a backing file, HTTP(s) file, or S3 object.
21+
source image remains unmodified and the target image can be linked to an image
22+
in another Ceph cluster or to an external data source such as a backing file,
23+
HTTP(s) file, or S3 object.
2324

2425
The live-migration copy process can safely run in the background while the new
2526
target image is in use. There is currently a requirement to temporarily stop
@@ -156,11 +157,15 @@ as follows::
156157

157158
{
158159
"type": "native",
160+
["cluster_name": "<cluster-name>",] (specify if image in another cluster,
161+
requires ``<cluster-name>.conf`` file)
162+
["client_name": "<client-name>",] (for connecting to another cluster,
163+
default is ``client.admin``)
159164
"pool_name": "<pool-name>",
160165
["pool_id": <pool-id>,] (optional alternative to "pool_name")
161166
["pool_namespace": "<pool-namespace",] (optional)
162167
"image_name": "<image-name>",
163-
["image_id": "<image-id>",] (optional if image in trash)
168+
["image_id": "<image-id>",] (specify if image in trash)
164169
"snap_name": "<snap-name>",
165170
["snap_id": "<snap-id>",] (optional alternative to "snap_name")
166171
}

qa/suites/rbd/migration-external/%

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.qa/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.qa/
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
meta:
2+
- desc: run two ceph clusters
3+
tasks:
4+
- install:
5+
- ceph:
6+
cluster: cluster1
7+
- ceph:
8+
cluster: cluster2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.qa/
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
meta:
2+
- desc: 2 ceph clusters with 1 mon and 3 osds each
3+
roles:
4+
- - cluster1.mon.a
5+
- cluster1.mgr.x
6+
- cluster1.osd.0
7+
- cluster1.osd.1
8+
- cluster1.osd.2
9+
- cluster1.client.0
10+
- - cluster2.mon.a
11+
- cluster2.mgr.x
12+
- cluster2.osd.0
13+
- cluster2.osd.1
14+
- cluster2.osd.2
15+
- cluster2.client.0
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.qa/objectstore
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.qa/distros/supported-random-distro$
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.qa/

0 commit comments

Comments
 (0)