2

I am trying to simulate file system super block corruption.

During this experiment I could not understand the difference between below super block corruption. Please help to know the difference.

A DRBD device drbd1 is created on top of LV (Ex: LV1) Filesystem is created on top of DRBD device.

VG -> LV -> DRBD -> Ext3 FS

1) dd if=/dev/zero of=/dev/VG1/LV1 count=1 bs=4096

2) dd if=/dev/zero of=/dev/drbd1 count=1 bs=4096

Is there any difference between above two commands?

My understanding is that we should not use 1) command to corrupt the filesystem, if at all FS(filesystem) is created and associated with drbd.

Please help to understand.

1 Answer 1

3

The difference between the two commands is that one goes through DRBD, and the other goes "behind it's back".

Performing the 'dd' directly to the backing LVM volume will hose the filesystem, but it will not be replicated to the peer as DRBD has no knowledge of these new writes. Additionally, depending upon the size of the disk, this command might also overwrite the DRBD meta-data (stored at the end of the volume). Whereas if running the 'dd' on the /dev/drbd1 device it will exit and report end of disk before touching the DRBD meta-data.

By design DRBD will replicate filesystem corruption and deletion of data.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .