[DRBD-user] Low.dev. smaller than requested DRBD-dev. size.

Cyril Bouthors cyril at bouthors.org
Tue Sep 5 13:29:50 CEST 2006

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On  5 Sep 2006, Lars Ellenberg wrote:

>> Sep  4 22:35:14 nfsb2 kernel: No module symbols loaded - kernel modules not enabled.
>
> monolithic?
> well, a matter of taste, anyways...

I've seen this too, this is weird because I'm using modules a lot.

This kernel is coming straight from backports.org, I'll talk with the
maintainer Norbert Tretkowski about that later on.

>> startup {
>> wfc-timeout 5;
>> degr-wfc-timeout 5;
>
>
> it is a bad idea to have such short timeouts.
> at least allow a minute or so.
> unless you have a good reason why you do not care.

OK, I'll have a look at this too. Thanks.

>> I tried to 'dd if=/dev/zero of=/dev/md0' with no more success.
>>
>> There's nothing in the logs of the other DRBD node.
>>
>> The same thing happens even if the ether node is down.
>>
>> Any idea?
>
> well, what _is_ the size of md0 ?

md0 is 480GB large, which is larger than the currently running DRBD
primary.

After a good night of sleep, I realized that :

 - This md0 RAID array has previously been running DRBD on another
   setup and it seems that DRBD is re-using the old metadata, which
   stores a invalid 'agreed size'.

 - my 'dd if=/dev/zero ...' did not erase the metadata because I
   thought it was at the beginning of the device, I only erased the
   128MB at the beginning (bs=1M count=128).

 - DRBD stores the 'last agreed size' in the metadata and never
   reconnects to the primary to refresh it

I fixed the problem by zeroing the 128MB at the end of the device and
restarting DRBD.

Is there a smart way to tell DRBD to refresh the 'agreed size' from
the other DRBD node without destroying the metadata?

Is there another way than 'dd' to destroy the metadata of a previously
used DRBD device?

Is there a way to dump the metadata information like 'agreed size'?

<offtopic>

AFAIK, the 'seek' option of 'dd' does not really fseek() at the end of
the device, it sequentially reads it from the beginning and because of
that, it's really slow. The following command takes approx one hour:

size_of_md0=481708800
dd if=/dev/zero of=/dev/md0 seek=`expr $size_of_md0 - 128000`

Is there a way to do it faster?
</offtopic>
-- 
Cyril Bouthors
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20060905/29464fa2/attachment.pgp>


More information about the drbd-user mailing list