1()                         PMDK Programmer's Manual                         ()
2
3
4

NAME

6       pmempool-transform - Modify internal structure of a pool set.
7

SYNOPSIS

9              pmempool transform [options] <poolset_file_src> <poolset_file_dst>
10

NOTE

12              NOTICE:  The  libpmemblk and libpmemlog libraries are deprecated
13              since PMDK 1.13.0 release.
14

DESCRIPTION

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

EXAMPLES

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

SEE ALSO

107       pmempool(1),    libpmemblk(7),    libpmemlog(7),   libpmempool(7)   and
108       <https://pmem.io>
109
110
111
112PMDK -                            2023-06-05                                ()
Impressum