命令输出的真实大小是多少 nodetool listsnapshots ?Cassandra的文档中没有任何解释。
nodetool listsnapshots
3bygqnnd1#
它是只有快照具有硬链接的sstables的总大小。快照只是创建到实际sstable组件的硬链接。一旦压缩并删除掉,快照中的硬链接可能只是引用inode并阻止其释放的链接。这就是它将要衡量的。例如,如果禁用压缩并拍摄快照,则在listsnapshots之后,立即将真实大小显示为零。如果关闭节点并删除数据目录中的一个sstable,然后重新启动,listsnapshots将显示true size作为已删除sstable的大小。
bq9c1y662#
我找了一会儿,在cassandra文档中找不到任何东西-但是,scylladb文档(scylla本身就是从cassandra派生的)说真正的大小是“所有没有备份到磁盘的sstable的总大小”。进一步阅读提供以下示例:快照目录中只有一个1tb文件。如果主列族目录中也存在该文件,则磁盘上的大小为1tb,实际大小为0,因为它已备份到磁盘。似乎“真实大小”是尚未备份的数据量—如果备份是新的,则为0。
2条答案
按热度按时间3bygqnnd1#
它是只有快照具有硬链接的sstables的总大小。
快照只是创建到实际sstable组件的硬链接。一旦压缩并删除掉,快照中的硬链接可能只是引用inode并阻止其释放的链接。这就是它将要衡量的。
例如,如果禁用压缩并拍摄快照,则在listsnapshots之后,立即将真实大小显示为零。如果关闭节点并删除数据目录中的一个sstable,然后重新启动,listsnapshots将显示true size作为已删除sstable的大小。
bq9c1y662#
我找了一会儿,在cassandra文档中找不到任何东西-但是,scylladb文档(scylla本身就是从cassandra派生的)说真正的大小是“所有没有备份到磁盘的sstable的总大小”。
进一步阅读提供以下示例:
快照目录中只有一个1tb文件。如果主列族目录中也存在该文件,则磁盘上的大小为1tb,实际大小为0,因为它已备份到磁盘。
似乎“真实大小”是尚未备份的数据量—如果备份是新的,则为0。