GBase 8s
安装配置
问答

chunk指定的offset与查询出来的不一致问题

发表于2023-08-31 14:54:34219次浏览12个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:

【操作系统】:

【CPU】:

【问题描述】*:通过 onspaces -c -d 创建的空间 不管指定 -k 是 16 还是 14 或者12 offset与最终通过onstat -d 查询的显示的不一致,这个offset变化的原因是什么,还有规律是什么?目前看都是与设置的offset/2了。

评论

登录后才可以发表评论
用户头像
歪比哇bo发表于 2年前
-k参数是设置chunk的页大小,跟offset没关系,你说的是size值嘛

size
以 chunk 所属的 dbspace 页面大小为单位表示的 chunk 的大小
GBase用户11168发表于 2年前
@歪比哇bo:offset创建后,通过onstat -d 查询出来的和你创建的时候的是不一致的,这个也不是根据创建时候指定的-k参数决定,目前测试就是你创建时候指定的offset/2,然后这个没找到资料明确onstat -d出来的就是除以二的。
用户头像
小鱼不吐泡泡发表于 2年前
onstat -d查询出来的chunk的size和free均为页数量,如果需要知道offset,需要乘对应的页大小,比如size是1000,对应数据空间的页大小为16k,那offset应该是1000*16k
GBase用户11168发表于 2年前
@小鱼不吐泡泡:测试不是这个规则,不管设置页大小为多少都是offset除以2,我的版本是GBase8sV8.8_TL_3.5.0_3X2_1_aaf3e0
用户头像
小鱼不吐泡泡发表于 2年前
@GBase用户11168: onspaces 命令,-o指定的offset的是数据空间起始的偏移量,一般都是用操作系统文件做数据空间,此时offset应该设置为0,数据落盘的位置是由操作系统自行调度的。offset只有在数据空间使用裸盘时,为了保证数据写盘不重复才需要自己手动指定。-s指定的size是上边的计算公式
GBase用户11168发表于 2年前
@小鱼不吐泡泡:我使用了块设备 通过offset分割的空间,发现了这样的现象。主要想弄明白这个规则,要不然真的以后遇到这样的场景,完全不知道怎么办
用户头像
liaosnet发表于 2年前
@GBase用户11168:一个设备应该对应一个数据库的chunk,不要放多个。
GBase用户11168发表于 2年前
@liaosnet:存储池指定的是单个设备不是目录,看自动扩展会自动指定offset,而迁移的时候就得需要指定offset,这个数据库有查询真实offset的地方吗,还是需要自己手动算真实的offset
用户头像
路路路发表于 9个月前
如果没有解决,可以再发问答帖
用户头像
levvel发表于 3个月前
嗯,只能说不错!
GBase用户19279发表于 3个月前
学习了
崔哥发表于 2个月前
折戟沉沙铁未销,自将磨洗认前朝。东风不与周郎便,铜雀春深锁二乔。