# vxdg join srcdg targetdg
VxVM vxdg ERROR V-5-1-4597 vxdg join srcdg targetdg failed
join failed : Configuration too large for configuration copies
The size of the total config records in sectors is listed in the vxdisk list
# vxdisk list HDS9500-ALUA1_4
Device: HDS9500-ALUA1_4
.....
info: format=cdsdisk,privoffset=256,pubslice=2,privslice=2
.....
private: slice=2 offset=256 len=2048 disk_offset=0 <<< private region length is 2048 sectors (1MB)
....
configs: count=1 len=1280 <<< total config records in number of sectors (1280)
.....
Defined regions:
config priv 000048-000239[000192]: copy=01 offset=000000 disabled <<< 192 sectors
config priv 000256-001343[001088]: copy=01 offset=000192 disabled <<< 1088 sectors
.....
When the disk is used to create a diskgroup, VxVM will start to use the config records to store the VxVM object (e.g. diskgroup, volume, plex, subdisk, etc.) The usage can be checked with the vxdg list
# vxdg list tmpdg
Group: tmpdg
....
config: seqno=0.1027 permlen=1280 free=1277 templen=2 loglen=192 <<< permlen and free
config disk HDS9500-ALUA1_4 copy 1 len=1280 state=clean online
.....
The "permlen" parameter shown by vxdg list
When two diskgroups are joined together, the resulting configuration will be approximately the combined size of the config records. The resulting size may be a few sectors smaller because some basic records can be combined. As a result for a successful diskgroup join operation to occur, both diskgroups must have enough config records to accommodate the combined configurations.
For example, joining the following two diskgroups will succeed because the combined config record size is 454 + 7 = 461 sectors which is smaller than the premlen of both diskgroups.
# vxdg list targetdg
Group: targetdg
dgid: 1298071684.76.sydfire02
import-id: 1024.162
flags: cds
version: 140
alignment: 8192 (bytes)
local-activation: read-write
ssb: on
detach-policy: global
dg-fail-policy: dgdisable
copies: nconfig=1 nlog=1
config: seqno=0.7107 permlen=1280 free=826 templen=222 loglen=192 <<< 1280-826 = 454
config disk HDS9500-ALUA1_4 copy 1 len=1280 state=clean online
config disk HDS9500-ALUA1_13 copy 1 len=2800 disabled
log disk HDS9500-ALUA1_4 copy 1 len=192
log disk HDS9500-ALUA1_13 copy 1 len=416 disabled
# vxdg list srcdg
Group: srcdg
dgid: 1298087887.78.sydfire02
import-id: 1024.160
flags: cds
version: 140
alignment: 8192 (bytes)
local-activation: read-write
ssb: on
detach-policy: global
dg-fail-policy: dgdisable
copies: nconfig=default nlog=default
config: seqno=0.1048 permlen=528 free=521 templen=5 loglen=80 <<< 528-521 = 7
config disk HDS9500-ALUA1_5 copy 1 len=528 state=clean online
log disk HDS9500-ALUA1_5 copy 1 len=80
# vxdg join srcdg targetdg
# vxdg list targetdg
Group: targetdg
dgid: 1298071684.76.sydfire02
import-id: 1024.162
flags: cds
version: 140
alignment: 8192 (bytes)
local-activation: read-write
ssb: on
detach-policy: global
dg-fail-policy: dgdisable
copies: nconfig=1 nlog=1
config: seqno=0.7130 permlen=1280 free=821 templen=222 loglen=80 << 1280-821 = 459 sectors
config disk HDS9500-ALUA1_4 copy 1 len=1280 state=clean online
config disk HDS9500-ALUA1_5 copy 1 len=528 disabled
config disk HDS9500-ALUA1_13 copy 1 len=2800 disabled
log disk HDS9500-ALUA1_4 copy 1 len=192
log disk HDS9500-ALUA1_5 copy 1 len=80 disabled
log disk HDS9500-ALUA1_13 copy 1 len=416 disabled
The following vxdg join operation will fail because the combined config records is bigger than the permlen paremeter of one of the diskgroups.
# vxdg list srcdg
Group: srcdg
dgid: 1298083316.90.sydfire02
import-id: 1024.89
flags: cds
version: 140
alignment: 8192 (bytes)
local-activation: read-write
ssb: on
detach-policy: global
dg-fail-policy: dgdisable
copies: nconfig=default nlog=default
config: seqno=0.1046 permlen=528 free=521 templen=3 loglen=80 <<< 528 - 521 = 7 sectors used to store config records
config disk HDS9500-ALUA1_5 copy 1 len=528 state=clean online
log disk HDS9500-ALUA1_5 copy 1 len=80
# vxdg list targetdg
Group: targetdg
dgid: 1298071684.76.sydfire02
import-id: 1024.58
flags: cds
version: 140
alignment: 8192 (bytes)
local-activation: read-write
ssb: on
detach-policy: global
dg-fail-policy: dgdisable
copies: nconfig=2 nlog=2
config: seqno=0.4430 permlen=1280 free=556 templen=353 loglen=192 <<< 1280 - 556 = 724 sectors used to store config records
config disk HDS9500-ALUA1_4 copy 1 len=1280 state=clean online
config disk HDS9500-ALUA1_13 copy 1 len=2800 state=clean online
log disk HDS9500-ALUA1_4 copy 1 len=192
log disk HDS9500-ALUA1_13 copy 1 len=416
Since the combined configuration has size of 724 + 7 = 731 sectors. This is bigger than the premlen 528 of the first diskgroup and hence the vxdg join fails.
# vxdg join srcdg targetdg
VxVM vxdg ERROR V-5-1-4597 vxdg join srcdg targetdg failed
join failed : Configuration too large for configuration copies
If vxdg join fails with "Configuration too large for configuration copies" error, please try to reduce the number of objects in the diskgroups so that the combined size is less than the smallest premlen of the diskgroups. For example, if a plex is comprised of many small subdisks, then try to migrate the plex to a blank disk to combine the subdisks together.
If it is not possible to reduce the number of VxVM objects, then you will need to migrate the data to disks initialized with bigger private region size.
Applies To
Infoscale Volume Manager