You are viewing a single comment's thread:

RE: Minor updates to HE-AWM and recipe for LVM based Snapshots

So I'd need another drive with an equal amount of space? (I'm not really good with server management other than exactly what I need done so I don't know all these terms haha)

0E-8 BEE
1 comments
(edited)

If you don't want to care about how long you want that snapshot (assuming only 1 snapshot, otherwise it will not be enough potentially), yes (because the number of changes will never be bigger than the amount of space of your current LV). Otherwise, you don't need as much... Especially if you plan to just maintain one snapshot at all times (recreating a new one every day and destroying the previous one).

For example... this is how much it has consumed so far since yesterday...

# lvs
  LV              VG       Attr       LSize    Pool Origin  Data%  Meta%  Move Log Cpy%Sync Convert
  mongolv         mongovg  owi-aos---  149.00g                                                     
  mongolv_snap265 mongovg  swi-a-s---   <6.39g      mongolv 83.70                                  

So that means it consumed 83% of 6.39GB... I was expecting the rate of consumption to decrease after a couple of hours and that's exactly what's happening. Because the blocks being updated are over time less, due to being unexisting on the original LV, and therefore there are less changes to record on the snapshot.

Now, if we want to do another snapshot... for example, I would like to maintain at least 3 snapshots (3 days) just to guarantee I can roll back up to 3 days. Then I need to understand I will potentially use the above up to 3 times (but remember this number might change, depending on where the blocks are changed, although it should pretty much very close). In the example bellow I just created a new snapshot:

lvs
  LV              VG       Attr       LSize    Pool Origin  Data%  Meta%  Move Log Cpy%Sync Convert
  mongolv         mongovg  owi-aos---  149.00g                                                     
  mongolv_snap265 mongovg  swi-a-s---   <6.39g      mongolv 83.81                                  
  mongolv_snap266 mongovg  swi-a-s---    5.00g      mongolv 0.30                                   

We both LVs will keep recording changes from the respective "original" time those snapshots were taken. This is the little disadvantage I have spoken on the post. In comparison with filesystem snaps, the moment you take a new snapshot, it will be only the differential compared with the last snap.

This space is being consumed from the total space of the VG (Volume Group) that has both your LV for the MongoDB filesystem and the snapshots LVs:

vgdisplay mongovg | grep Size
  VG Size               <299.98 GiB
  PE Size               4.00 MiB
  Alloc PE / Size       41061 / 160.39 GiB
  Free  PE / Size       35733 / 139.58 GiB

Now... trying to put a bit more detail on the post... so that people understand simple stuff like, how to prepare a device for LVM, etc.

0E-8 BEE