tpvv reserved space reclamation
Posted: Tue Dec 10, 2013 11:30 am
Hey,
I have a hard time understanding how 3par will release reserved space on tpvv volumes.
From what I've read on the forum the assumptions for tpvv volumes seem to be:
"Used Disk space" (as shown by "showvv -s") is reclaimed on a 16kb chunk level, either by
* writing 0s (and zero_detect enabled on the volume)
* sending UNMAP/TRIM commands
as well as having the Thin Persistence license installed in the system.
This seems to be true - the "Used" column reflects the numbers reported by the specific filesystem very accurately.
What I don't understand is how "Reserved Disk Space" reclaiming works. When a volume fills up, reserved disk space grows accordingly, but it never seems to go noticeably back down for us.
This is a volume I filled up to ~170GB, then blkdiscarded and then overwritten with zeros for good measure. This shrunk Reserved space down to ~140G but stays there now.
A few other offenders from our system:
Judging from the documentation "tunevv" looks like as if it could save space by rearranging the VV-data <-> LD mapping, but we lack the Dynamic Optimization license for that.
Is there anything else we could try to get the reserved VV size down again or at least understand what's going on?
I have a hard time understanding how 3par will release reserved space on tpvv volumes.
From what I've read on the forum the assumptions for tpvv volumes seem to be:
"Used Disk space" (as shown by "showvv -s") is reclaimed on a 16kb chunk level, either by
* writing 0s (and zero_detect enabled on the volume)
* sending UNMAP/TRIM commands
as well as having the Thin Persistence license installed in the system.
This seems to be true - the "Used" column reflects the numbers reported by the specific filesystem very accurately.
What I don't understand is how "Reserved Disk Space" reclaiming works. When a volume fills up, reserved disk space grows accordingly, but it never seems to go noticeably back down for us.
This is a volume I filled up to ~170GB, then blkdiscarded and then overwritten with zeros for good measure. This shrunk Reserved space down to ~140G but stays there now.
Code: Select all
Storage01 cli% showvv -s alloctest
---Adm--- ---------Snp---------- ----------Usr-----------
--(MB)--- --(MB)--- -(% VSize)-- ---(MB)---- -(% VSize)-- -----(MB)------
Id Name Prov Type Rsvd Used Rsvd Used Used Wrn Lim Rsvd Used Used Wrn Lim Tot_Rsvd VSize
7271 alloctest tpvv base 384 110 0 0 0.0 0 0 145280 16 0.0 0 0 145664 256000
--------------------------------------------------------------------------------------------------
1 total 384 110 0 0 145280 16 145664 256000
Storage01 cli%
A few other offenders from our system:
Code: Select all
---Adm--- -------------Snp------------- ------------Usr------------
--(MB)--- -----(MB)------ --(% VSize)-- -----(MB)----- -(% VSize)-- ------(MB)------
Id Name Prov Type Rsvd Used Rsvd Used Used Wrn Lim Rsvd Used Used Wrn Lim Tot_Rsvd VSize
200 CDRs tpvv base 768 551 143488 142637 13.6 0 0 322560 209982 20.0 0 0 466816 1048576
500 CUBE_DB tpvv base 6144 5920 2892032 2883774 275.0 0 0 901888 547599 52.2 0 0 3800064 1048576
Judging from the documentation "tunevv" looks like as if it could save space by rearranging the VV-data <-> LD mapping, but we lack the Dynamic Optimization license for that.
Is there anything else we could try to get the reserved VV size down again or at least understand what's going on?