Inode管理

获取指定Inode基本信息

用stat操作系统命令查看卷中文件名为cli的文件的INODE

stat cli

File: cli
Size: 50438720  	Blocks: 98513      IO Block: 4096   regular file
Device: 30h/48d	Inode: 16777218    Links: 1			INODE编号,后面会被引用
Access: (0700/-rwx------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-04-19 19:25:20.000000000 +0800
Modify: 2023-04-19 19:24:05.000000000 +0800
Change: 2023-04-19 19:24:05.000000000 +0800
Birth: -

Restful API获取INODE信息

curl -v "http://192.168.2.160:15220/getInode?pid=2&ino=16777218" | python -m json.tool		ino为前面查询到的INODE编号

参数说明

参数 类型 描述
pid 整型 分片id
ino 整型 inode的id

响应示例

{
	"code": 303,
	"data": {
		"info": {
			"at": "2023-04-20T09:08:51+08:00",
			"ct": "2023-04-19T19:24:05+08:00",
			"gen": 3,
			"gid": 0,
			"ino": 16777218,
			"mode": 448,
			"mt": "2023-04-19T19:24:05+08:00",
			"nlink": 1,
			"sz": 50438720,
			"tgt": null,
			"uid": 0
		}
	},
	"msg": "Ok"
}

获取指定Inode的数据存储信息

curl -v "http://192.168.0.121:15220/getExtentsByInode?pid=2&ino=16777218" | python -m json.tool 

参数说明

参数 类型 描述
pid 整型 分片id
ino 整型 inode的id

响应示例

{
	"code": 303,
	"data": {
		"eks": [
			{
				"CRC": 0,
				"ExtentId": 4,
				"ExtentOffset": 0,
				"FileOffset": 0,
				"PartitionId": 1,
				"Size": 131072
			},
			{
				"CRC": 0,
				"ExtentId": 1025,
				"ExtentOffset": 0,
				"FileOffset": 131072,
				"PartitionId": 1,
				"Size": 50307648
			}
		],
		"gen": 3,
		"sz": 50438720
	},
	"msg": "Ok"
}

获取指定元数据分片的全部inode信息

curl -v "http://192.168.0.121:15220/getAllInodes?pid=2" 

参数说明

参数 类型 描述
pid 整型 分片id

响应示例

{
	"AccessTime": 1681953123,
	"CreateTime": 1681903445,
	"Extents": {},
	"Flag": 0,
	"Generation": 3,
	"Gid": 0,
	"Inode": 16777218,
	"LinkTarget": null,
	"ModifyTime": 1681903445,
	"NLink": 1,
	"ObjExtents": {},
	"Reserved": 0,
	"Size": 50438720,
	"Type": 448,
	"Uid": 0
}