Page 1 of 1

ibvm snapshot file size and frequency waste disk space

Posted: Tue Sep 04, 2007 8:56 pm
by rilliam
We are storing an sql db on a iscsi mounted volume and even when there are very minor changes or none at all I have noticed that a new snapshot file is created as I told it to every 2 hours.

This is fine, but why is the size always atleast ~100MB? At 1.2GB a day this seems to be a waste. I guess I could change the frequency to every 12 hours, but it doesn't make sense to me why it needs this overhead in the file size.

I must be missing something, can you fill me in on what I might have done wrong or why it is working like this?

Posted: Thu Sep 06, 2007 2:27 pm
by Bohdan (staff)
Hello.
The size of snapshot depends on the sizes of ibvm, ibvd and ibvss files.
*.ibvm – the sectors map of the volume (session);
*.ibvd – the file that contains the changes list;
*.ibvss – the snapshot header. A snapshot uses a single sectors map and several journals.

When there are very minor changes then the size of ibvd file is small. But every time you create snapshot ibvm file will be created.
The size of (ibvm) = ((size of ibv image in bytes)/512/(block size))*8.

block size = sectors number, you can change this value from GUI. By default it set to 8. The value can vary from 1 to 128.

To optimize performance the advanced users may vary the number of sectors in a journal block. The more sectors are in a block, the less is the size of a map file (*.ibvm), but more sectors need to be written to journals if a single sector is changed. The performance goes down with increasing of the Sectors number parameter.
From the other side, using smaller sectors number leads to rather large map files that consume more disk space. In this case the journal files (*.ibvd) grow not so quickly and overall performance becomes better as fewer number of sectors are involved into the journaling process.