On 05/11/15 04:18, Duncan wrote: > OmegaPhil posted on Wed, 04 Nov 2015 21:53:09 +0000 as excerpted: > >> The volume doesn't change hugely over time, so it really ought not to >> have broken so quickly - a quick rundown of the storage usage: >> >> 36% general (small files, some smallish videos) >> 24% music 23% pr0n 17% VMs >> >> But in terms of 'large files changing', it could be the VM disks perhaps >> - >> I'll move them out, balance, and then back in again, hopefully that'd be >> a meaningful test. > > VM image files (and large database files, for the same reason) are a bit > of a problem on btrfs, and indeed, any COW-based filesystem, since the > random rewrite pattern matching that use-case is pretty much the absolute > worst-case match for a COW-based filesystem there is. > > And that would be the worst-case in terms of the unsplit extents issue > Hugo was talking about as well. So they may well be the problem, indeed. > > Since you're not doing snapshotting (which conflicts with this option, > with an imperfect workaround), setting nocow on those files may well > eliminate the problem, but be aware if you aren't already that (1) nocow > does turn off checksumming as well, in ordered to avoid a race that could > easily lead to data corruption, and (2) you can't just activate nocow on > the existing file and expect it to work, the procedure is a bit more > complicated than that, since nocow is only guaranteed to work if it's set > at file creation. Detailed instructions for #2 skipped as they've been > posted many times, but if you are interested and haven't seen them, ask.
Thankyou Hugo, Duncan - moving VMs out, then: ===================================================== sudo chattr +C '/mnt/storage-1/Virtual Machines' sudo btrfs balance start -mconvert=dup /mnt/storage-1 sudo btrfs fi defrag -rv /mnt/storage-1 ===================================================== And after moving VMs back, du reports 884GB used, ===================================================== $ sudo btrfs fi usage /mnt/storage-1 Overall: Device size: 953.87GiB Device allocated: 924.07GiB Device unallocated: 29.80GiB Device missing: 0.00B Used: 886.11GiB Free (estimated): 65.72GiB (min: 50.82GiB) Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 512.00MiB (used: 0.00B) Data,single: Size:918.01GiB, Used:882.09GiB /dev/sdb 918.01GiB Metadata,DUP: Size:3.00GiB, Used:2.01GiB /dev/sdb 6.00GiB System,DUP: Size:32.00MiB, Used:128.00KiB /dev/sdb 64.00MiB Unallocated: /dev/sdb 29.80GiB ===================================================== So a couple of gig still unaccountable but irrelevant. Thanks, problem solved! Although hopefully checksumming will be allowed on nocow files in the future as thats currently 17% of all data unprotected and will get worse...
signature.asc
Description: OpenPGP digital signature