Nutanix对后开启除重的Container执行指纹扫描除重
Nutanix集群可以对指定的Container存储容器开启除重(deduplicate)特性以降低物理空间占用,并提高顺序读的性能。Nutanix的除重计算方式是基于指纹(fingerprint)的。如果一个Container在使用后再开启除重特性,则已放置的数据享受不到除重带来的空间节省,此时可以人工触发指纹扫描,来回收相应空间。
执行前,需要确认所用Container已开启除重属性。
操作步骤
1. SSH登录到任意CVM。
2. 扫描单个虚拟机文件:
$ vdisk_manipulator --operation="add_fingerprints" --stats_only="false" --nfs_container_name="{ctr_name}" --nfs_relative_file_path="{vdisk_path}"
其中{ctr_name}
为虚拟机所在Container的名称,{vdisk_path}
为虚拟机文件路径。
在ESXi虚拟化中,虚拟机文件即VMDK文件,路径最后需要带-flat后缀。
3. 扫描全部的虚拟机文件:
$ ncli vdisk list | grep "Name.*NFS" | awk -F: '{print $4 ":" $5 ":" $6 ":" $7}' >> fingerprint.txt $ for i in `cat fingerprint.txt`; do vdisk_manipulator --vdisk_name=$i --operation="add_fingerprints" --stats_only=false; done
不建议进行批量进行文件除重扫描,这样会极大地加重集群负载。
4. 等待扫描完成。
执行日志输出类似如下:
VDisk block map scan completed from block 3043584 to 3045631 with 802 extent groups to lookup, 0 relevant immutable extents and scan complete status as 0 Metadata scan completed by adding 792 migrate extent args from 3168 relevant extents Stargate RPC's(queued:809 attempted:45487 issued:61998 failed:12260 retried:16511 succeeded:33223) Egroups (processed:53578 unavailable:6 ignored:7115 considered:46457) Extent fingerprints (none:185342 complete:26256 partial:40)
— END —