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)
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...
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:
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.
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...
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:
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:
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.