[DRBD-user] Bitmap for that device got too large.
Roland Kammerer
roland.kammerer at linbit.com
Tue May 28 13:44:41 CEST 2019
On Tue, May 28, 2019 at 02:03:29PM +0800, Oleksiy Evin wrote:
> Hi All,
> Can anyone please clarify what's the actual volume size limit for
> DRBD? The linbit's article dated 2012 says the current maximum is
> 1PiB, but when I'm trying to create a 3 node replication with 527TiB
> each, it gets me to the bitmap size error.
IMO the check just tries to limit the MD size of a volume to 1PiB. It
is not there to limit the overall/resulting space needed for the MD
itself. So I think we can just modify the check and take the peers into
account. This is most likely a left over from 8.4 where this factor was
always 1. That would be:
diff --git a/user/shared/drbdmeta.c b/user/shared/drbdmeta.c
index f92ced59..69e1a5b1 100644
--- a/user/shared/drbdmeta.c
+++ b/user/shared/drbdmeta.c
@@ -1327,7 +1327,7 @@ void re_initialize_md_offsets(struct format *cfg)
/* we need (slightly less than) ~ this much bitmap sectors: */
md_size_sect = bm_bytes(&cfg->md, cfg->bd_size >> 9) >> 9;
md_size_sect = ALIGN(md_size_sect, 8); /* align on 4K blocks */
- if (md_size_sect > (MD_BM_MAX_BYTE_FLEX>>9)) {
+ if (md_size_sect > (MD_BM_MAX_BYTE_FLEX>>9)*cfg->md.max_peers) {
fprintf(stderr, "Bitmap for that device got too large.\n");
if (BITS_PER_LONG == 32)
fprintf(stderr, "Maybe try a 64bit arch?\n");
Can you try if this works for you?
Best, rck
More information about the drbd-user
mailing list