Re: Usage of dm-era

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Okay, I got it now. There was a misinterpretation of how to use the era device on my side as well as an error in the Rackcorp blog post. The era device has to be the same size as the origin not the metadata device. Also the era device is supposed to be used in place of the underlying block device (for read/write).
Now it's listing the correct amount of blocks in the metadata.


Finally I'm trying to find the correct calculation of the required disk space for the era metadata.
The dm-era docs [2] state the following formula:
    (4 * nr_blocks) bytes + buffers
  1. So I assume "nr_blocks" is refering to the amount of blocks tracked by the era device, i.e. the same amount of blocks as listed by the "era_dump" output?
  2. How big is "buffers" supposed to be? Is this what "it uses a few 4k blocks for updating metadata" [2] refers to? What are "a few 4k blocks" in this context? Several blocks of 4096 bytes or blocks consisting of 4k sectors, i.e. 4096 * 512 bytes each?

[2] https://www.kernel.org/doc/Documentation/device-mapper/era.txt


Best Regards,

Markus Hentsch
Cloud&Heat Technologies

Dear dm-devel community,

I'm trying to get familiar with dm-era but I'm stuck.

What I'm trying to achieve is to have a dm-era device which keeps track of changed blocks on a seperate hard drive or logical volume/mapping in order to create a live backup solution.

The documentation on dm-era is very sparse. So far I found a Gentoo wiki entry, a blog entry by Rackcorp and the official kernel doc.
I tried to come up with a basic setup using a virtual machine running Ubuntu 16.04.

So far I was able to create a setup that looks like this: http://i.imgur.com/LNCPima.png
To set this up, I came up with the following script: http://pastebin.com/Y3B2m7wL
It is inspired by the setup done by Rackcorp [1]. The resulting 'lsblk' looks like this:
sdb                       8:16   0  256M  0 disk 
`-metadev-era           252:2    0  276K  0 dm   
  |-era                 252:4    0  276K  0 dm   
  `-era-access          252:5    0  276K  0 dm   
sdc                       8:32   0  256M  0 disk 
`-metadev-data          252:3    0  256M  0 dm   
  |-era                 252:4    0  276K  0 dm   
  `-metadev-data-access 252:6    0  256M  0 dm   /media/sdc-data


In comparison to Rackcorp's setup, I did the following adjustment:
  • i) mounting /dev/mapper/metadev-data (or the underlying sdc) or ii) using it as an origin device for era, seemed to be mutually exclusive
  • that's why I created an additional linear mapping called 'metadev-data-access' inspired by the 'era-access' device to be able to mount and write to the sdc device again
Basically this setup is supposed to track changed blocks on /dev/sdc and uses a mounted /dev/mapper/metadev-data-access at /media/sdc-data to access /dev/sdc on top of the dm setup.

However, when reading the era metadata via 'era_dump /dev/mapper/era-access', I only get this result:
<superblock uuid="" block_size="4096" nr_blocks="1" current_era="1">
  <era_array>
    <era block="0" era="0"/>
  </era_array>
</superblock>

Why is there only one block listed? Shouldn't that list exactly as much blocks as my 'metadev-data' device has, since it is the origin for the era target?
Or is there some basic misunderstanding in my interpretation of how dm-era is supposed to work and be used?

Please be so kind and shed some light on this!

[1] http://blog.rackcorp.com/2016/03/dm-era-device-for-backups/


Best Regards,

Markus Hentsch
Cloud&Heat Technologies



--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux