1() PMDK Programmer's Manual ()
2
3
4
6 pmempool-transform - Modify internal structure of a pool set.
7
9 pmempool transform [options] <poolset_file_src> <poolset_file_dst>
10
12 NOTICE: The libpmemblk and libpmemlog libraries are deprecated
13 since PMDK 1.13.0 release.
14
16 The pmempool transform command modifies internal structure of a pool
17 set defined by the poolset_file_src file, according to a structure de‐
18 scribed in the poolset_file_dst file.
19
20 The following operations are supported:
21
22 • adding replicas - one or more new replicas can be added and synchro‐
23 nized with other replicas in the pool set,
24
25 • removing replicas - one or more replicas can be removed from the pool
26 set ,
27
28 • adding or removing pool set options.
29
30 Only one of the above operations can be performed at a time.
31
32 Currently adding and removing replicas are allowed only for pmemobj
33 pools (see libpmemobj(7)).
34
35 The poolset_file_src argument provides the source pool set to be
36 changed.
37
38 The poolset_file_dst argument points to the target pool set.
39
40 Available options:
41 -d, --dry-run
42 Enable dry run mode. In this mode no changes are applied, only
43 check for viability of the operation is performed.
44
45 -v, --verbose
46 Increase verbosity level.
47
48 -h, --help
49 Display help message and exit.
50
52 Example 1.
53 Let files /path/poolset_file_src and /path/poolset_file_dst have the
54 following contents:
55
56 PMEMPOOLSET
57 20M /0/partfile1
58 20M /0/partfile2
59 25M /0/partfile3
60 REPLICA
61 40M /1/partfile1
62 20M /1/partfile2
63
64 PMEMPOOLSET
65 20M /0/partfile1
66 20M /0/partfile2
67 25M /0/partfile3
68 REPLICA
69 40M /1/partfile1
70 20M /1/partfile2
71 REPLICA
72 50M /2/partfile1
73 20M /2/partfile2
74
75 Then, the command
76
77 pmempool transform /path/poolset_file_src /path/poolset_file_dst
78
79 adds a replica to the pool set. All other replicas remain unchanged
80 and the size of the pool remains 60M.
81
82 Example 2.
83 Let files /path/poolset_file_src and /path/poolset_file_dst have the
84 following contents:
85
86 PMEMPOOLSET
87 20M /0/partfile1
88 20M /0/partfile2
89 25M /0/partfile3
90 REPLICA
91 40M /1/partfile1
92 20M /1/partfile2
93
94 PMEMPOOLSET
95 20M /0/partfile1
96 20M /0/partfile2
97 25M /0/partfile3
98
99 Then
100
101 pmempool_transform /path/poolset_file_src /path/poolset_file_dst
102
103 deletes the second replica from the pool set. The first replica re‐
104 mains unchanged and the size of the pool is still 60M.
105
107 pmempool(1), libpmemblk(7), libpmemlog(7), libpmempool(7) and
108 <https://pmem.io>
109
110
111
112PMDK - 2023-06-05 ()