I'm trying to evaluate the disk usage in our system. In particular, we have an infinidat storage, and we have to know what will be the size our data in a non-infinidat storage. I got the following three different answers:
1) By typing 'du -sh' I get 154T.
2) By typing 'du -sh --apparent-size' I get 212T.
3) By running a recursive python script based on the results of 'os.stat().st_size' I get 304T.
I understand the differences might be due to sparse files, block size and maybe some compression the system does (infinidat storage). But still, any ideas how can I evaluate the size of the data on a different storage?
More details about some specific case: The system contains many 'sam' files, which store bioinformatics data. The command 'ls' show the size of the file "x.sam", for example, is 12G. By running 'du -sh x.sam' I get 2.5G, and by running 'du -sh --apparent-size x.sam' I get 12G. So, what is the real size of the file? What will be the size of this file in a new Dell-based storage?