发现一个有趣的现象,linux服务器挂载了DELL的Datadomain存储,有一个文件大小是424MB,这个文件在linux服务器本地路径上占用磁盘空间也是424MB,但是把这个文件拷贝到Datadomain存储路径,发现这个文件在Datadomain存储路径上占用磁盘空间只有27MB。查看Datadomain文档了解到Datadomain存储有压缩功能参见官方文档https://www.dell.com/support/kbdoc/en-us/000003886/86266-understanding-datadomain-compression,只要文件成功存放到了Datadomain存储路径就说明这个文件已经被Datadomain压缩了,Data Domain系统利用重复数据删除和本地压缩来压缩用户数据。重复数据删除或“重复数据删除”用于识别冗余数据段并仅存储唯一的数据段。本地压缩通过一定的压缩算法,如lz、gzfast、gz等进一步压缩特有的数据段。
一个文件占用的磁盘空间和一个文件的实际大小是不一样的概念,文件占用的磁盘空间和2个条件相关,分别是磁盘的文件系统块大小和文件是否被压缩有关,比如一个文件系统的块大小是4KB(Linux当中一般默认是4k即4096),一个文件系统的块大小是10MB,那么一个大小是1B的文件在4KB的文件系统块中占用磁盘空间是4KB,这个1B的文件在10MB的文件系统块中占用磁盘空间是10MB
du -sh :显示文件存储到磁盘中占用了多少空间,计算的是占了多少个block
du -sh --apparent-size :显示文件或目录自身大小,而不是它们占用的磁盘空间大小
ls -lh :显示文件的实际大小
ls -h --human-readable: with -l, print sizes in human readable format(e.g., 1K 234M 2G)
root@Mydb001:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 492G 119G 353G 26% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
/dev/sda2 976M 207M 703M 23% /boot
boostfs 376T 331T 45T 89% /mnt/datadomaindir
root@Mydb001:~#
root@Mydb001:~# ll /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
-rw-r----- 1 systemd-resolve systemd-journal 444226041 Jul 8 20:12 /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
root@Mydb001:~#
root@Mydb001:~# ll -sh /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
27M -rw-r----- 1 systemd-resolve systemd-journal 424M Jul 8 20:12 /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
root@Mydb001:~#
root@Mydb001:~# du -sh /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
27M /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
root@Mydb001:~#
root@Mydb001:~# du -sh --apparent-size /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
424M /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip
root@Mydb001:~#
root@Mydb001:~# pwd
/root
root@Mydb001:~# cp /mnt/datadomaindir/clickhouse_backup/Stage/Mydb001/20240708/shared.zip ./
root@Mydb001:~#
root@Mydb001:~# ll /root/shared.zip
-rw-r----- 1 root root 444226041 Jul 8 23:54 /root/shared.zip
root@Mydb001:~#
root@Mydb001:~# ll -sh /root/shared.zip
424M -rw-r----- 1 root root 424M Jul 8 23:54 /root/shared.zip
root@Mydb001:~#
root@Mydb001:~# du -sh /root/shared.zip
424M /root/shared.zip
root@Mydb001:~#
root@Mydb001:~# du -sh --apparent-size /root/shared.zip
424M /root/shared.zip
root@Mydb001:~#