用户可以通过 SDB Shell 或者其他驱动监控复制组,查看复制组节点运行状态。
SequoiaDB 巨杉数据库提供多个快照,以查看当前数据库系统的各种状态。其中节点健康检测快照 SDB_SNAP_HEALTH 可以查看到各个节点的健康状态。用户可以从节点运行状态、复制组同步状态、系统资源使用情况、节点启动历史等不同的方面,来评估复制组节点的健康状况。
连接协调节点,查看复制组 group1 的节点健康状态
> var db = new Sdb( 'sdbserver1', 11810 )
> db.snapshot( SDB_SNAP_HEALTH, { GroupName: "group1" }  )
输出结果如下:
{
  "NodeName": "sdbserver1:11820",
  "IsPrimary": true,
  "ServiceStatus": true,
  "Status": "Normal",
  "BeginLSN": {
    "Offset": 0,
    "Version": 1
  },
  "CurrentLSN": {
    "Offset": 9610788,
    "Version": 1
  },
  "CommittedLSN": {
    "Offset": 76,
    "Version": 1
  },
  "CompleteLSN": 9610868,
  "LSNQueSize": 0,
  "NodeID": [
    1000,
    1000
  ],
  "DataStatus": "Normal",
  "SyncControl": false,
  "Ulimit": {
    "CoreFileSize": -1,
    "VirtualMemory": -1,
    "OpenFiles": 1024,
    "NumProc": 23948,
    "FileSize": -1
  },
  "ResetTimestamp": "2018-03-09-09.47.04.826497",
  "ErrNum": {
    "SDB_OOM": 1,
    "SDB_NOSPC": 0,
    "SDB_TOO_MANY_OPEN_FD": 1
  },
  "Memory": {
    "LoadPercent": 3,
    "TotalRAM": 3157524480,
    "RssSize": 96591872,
    "LoadPercentVM": 0,
    "VMLimit": -1,
    "VMSize": 2380341248
  },
  "Disk": {
    "Name": "/dev/mapper/vgdata-lvdata1",
    "LoadPercent": 69,
    "TotalSpace": 52836298752,
    "FreeSpace": 16025624576
  },
  "FileDesp": {
    "LoadPercent": 3,
    "TotalNum": 1024,
    "FreeNum": 985
  },
  "StartHistory": [
    "2018-01-24-15.55.58.374162",
    "2018-01-24-15.55.00.318481"
  ],
  "CrashHistory": [
    "2018-01-24-15.55.58.374162"
  ],
  "DiffLSNWithPrimary": 0
}
Note:
Rebuild 状态:当节点启动时发现数据损坏,则进行数据重组以恢复数据
Note:
每条 LSN 由 Offset 和 Version 两个字段组成:
- Offset 是指该条事务日志在日志文件中的偏移;
- 复制组每次切换主节点,Version 都会递增 1。
用户可以通过 resetSnapshot() 重置节点健康检测快照中的某些字段。
重置复制组 group1 的节点健康检测快照
> db.resetSnapshot( { Type: "health", GroupName: "db1" })查询字段 ErrNode、StartHistory、CrashHistory 是否已被置为空
> db.snapshot( SDB_SNAP_HEALTH, { GroupName: "group1" }, { NodeName: null, ErrNode: null, StartHistory: null,    AbnormalHistory: null }  )
{
 "NodeName": "sdbserver1:11820",
 "ErrNum": {
   "SDB_OOM": 0,
   "SDB_NOSPC": 0,
   "SDB_TOO_MANY_OPEN_FD": 0
 },
 "StartHistory": [],
 "CrashHistory": []
}