Перейти к основному содержимому

12.6.5 Файловая система

ZFS датасеты:

Таблица 1. ZFS датасеты
СвойстваЗначениеТип
guid14,095,423,526,248,607,256GUID
available940,288,429,558int64
checksumonint64
compressionlz4int64
compressratio100int64
copies1int64
creation1,701,597,051int64
dedupoffint64
logbiaslatencyint64
logicalreferenced1,613,275,136int64
logicalused28,672int64
objsetid25,920int64
primarycacheallint64
readonlyoffint64
refcompressratio185int64
referenced1,057,028,832int64
refreservation0int64
reservation0int64
used101,808int64
usedbychildren0int64
usedbydataset101,808int64
usedbyrefreservation0int64
usedbysnapshots0int64
volblocksize32,768int64
volsize39,728,447,488int64
written101,808int64

Изменения свойств существующего датасета не означает изменения в отношении данных, хранящихся в этом датасете.

Если к моменту включения компрессии у нас уже было записано 512GB данных, то это не означает, что эти существующие 512GB данных подвергнутся компрессии.

Некоторые свойства могут принимать значения не произвольного формата, а только из «словаря» (определенного набора значений).

Варианты значений для свойства checksum представляют собой алгоритмы контрольных сумм, используемых для проверки целостности:

  • on;
  • off;
  • fletcher2;
  • fletcher4;
  • sha256;
  • noparity;
  • sha512;
  • skein;
  • edonr.

Значение on в данный момент тождественно значению fletcher4.

Варианты значений для свойства compression представляют собой алгоритмы сжатия:

  • on;
  • off;
  • gzip;
  • gzip-N;
  • lz4;
  • lzjb;
  • zle;
  • zstd;
  • zstd-N;
  • zstd-fast;
  • zstd-fast-N.

Значение on в данный момент тождественно значению lz4.

Алгоритмы, имеющие в своем имени цифровой фактор N, имеют дискретность результата, обусловленную этим фактором.

Для gzip диапазон этого фактора: 1 (самое быстрое сжатие) - 9 (самое эффективное сжатие).

Для zstd диапазон этого фактора: 1 (самое быстрое сжатие) - 19 (самое эффективное сжатие).

В силу семантики имени алгоритма zstd-fast-N значения фактора имеют обратный смысл: 1 (самое эффективное сжатие) - 1000 (самое быстрое сжатие). Сами значения при этом являются не произвольным числом, а одним из чисел, входящих в множество [1-9, 10, 20, 30, ..., 100, 500, 1000].

Варианты значений для свойства dedup представляют собой алгоритмы контрольных сумм, используемых для дедупликации:

  • on;
  • off;
  • verify;
  • sha256;
  • sha512;
  • skein;
  • edonr.

Значение on в данный момент тождественно значению fletcher4.

Варианты значений для свойства primarycache:

  • all;
  • metadata;
  • none.

Методы

12.6.5.1. filesystems-get

Метод для получения свойств объекта ZFS датасета. Параметр cluster_id является опциональным. Если cluster_id указан — запрос будет выполнен на конкретном кластере, если отсутствует - на всех кластерах ГИ.

Запрос:
{
"jsonrpc": "2.0",
"method": "filesystems-get",
"id": "1ccca298-c822-11ea-b43f-e7f855bcd16b",
"params": {
"cluster_id": "579bfe88-82cd-40a5-a124-3adeaa0a3a18",
"guid": 12307168579286764760
}
}
Ответ:
{
"id" : "1ccca298-c822-11ea-b43f-e7f855bcd16b",
"jsonrpc" : "2.0",
"result" : {
"code" : 1,
"data" : {
"properties" : {
"available" : 940288429558,
"checksum" : "on",
"compression" : "lz4",
"compressratio" : 100,
"context" : "none",
"copies" : "1",
"createtxg" : 11438660,
"creation" : 1701597051,
"dedup" : "off",
"defcontext" : "none",
"encryption" : "off",
"fscontext" : "none",
"guid" : 12307168579286764760,
"inconsistent" : 0,
"keyformat" : "none",
"keylocation" : "none",
"logbias" : "latency",
"logicalreferenced" : 1613275136,
"logicalused" : 28672,
"mlslabel" : "none",
"name" : "z01/.vm_V4/000034243/disk_000000000",
"objsetid" : 25920,
"pbkdf2iters" : 0,
"pbkdf2salt" : 0,
"primarycache" : "all",
"readonly" : "off",
"redacted" : 0,
"redundant_metadata" : "all",
"refcompressratio" : 185,
"referenced" : 1057028832,
"refreservation" : 0,
"reservation" : 0,
"rootcontext" : "none",
"secondarycache" : "all",
"snapdev" : "hidden",
"snapshot_count" : 18446744073709551615,
"snapshot_limit" : 18446744073709551615,
"unique" : 101808,
"used" : 101808,
"usedbychildren" : 0,
"usedbydataset" : 101808,
"usedbyrefreservation" : 0,
"usedbysnapshots" : 0,
"useraccounting" : 0,
"volblocksize" : 32768,
"volsize" : 39728447488,
"written" : 101808
}
}
}
}

12.6.5.2. filesystems-set

Метод для изменения свойств объекта ZFS датасета.

Параметр cluster_id является опциональным. Если cluster_id указан — запрос будет выполнен на конкретном кластере, если отсутствует - на всех кластерах ГИ.

Запрос:
{
"jsonrpc": "2.0",
"method": "filesystems-set",
"id": "1ccca298-c822-11ea-b43f-e7f855bcd16b",
"params": {
"cluster_id": "579bfe88-82cd-40a5-a124-3adeaa0a3a18",
"guid": "12307168579286764760",
"properties": {
"compression": "lz4"
}
}
}
Ответ:
{
"id" : "1ccca298-c822-11ea-b43f-e7f855bcd16b",
"jsonrpc" : "2.0",
"result" : {
"code" : 1,
"data" : {
"properties" : {
"available" : 940288429558,
"checksum" : "on",
"compression" : "lz4",
"compressratio" : 100,
"context" : "none",
"copies" : "1",
"createtxg" : 11438660,
"creation" : 1701597051,
"dedup" : "off",
"defcontext" : "none",
"encryption" : "off",
"fscontext" : "none",
"guid" : 12307168579286764760,
"inconsistent" : 0,
"keyformat" : "none",
"keylocation" : "none",
"logbias" : "latency",
"logicalreferenced" : 1613275136,
"logicalused" : 28672,
"mlslabel" : "none",
"name" : "z01/.vm_V4/000034243/disk_000000000",
"objsetid" : 25920,
"pbkdf2iters" : 0,
"pbkdf2salt" : 0,
"primarycache" : "all",
"readonly" : "off",
"redacted" : 0,
"redundant_metadata" : "all",
"refcompressratio" : 185,
"referenced" : 1057028832,
"refreservation" : 0,
"reservation" : 0,
"rootcontext" : "none",
"secondarycache" : "all",
"snapdev" : "hidden",
"snapshot_count" : 18446744073709551615,
"snapshot_limit" : 18446744073709551615,
"unique" : 101808,
"used" : 101808,
"usedbychildren" : 0,
"usedbydataset" : 101808,
"usedbyrefreservation" : 0,
"usedbysnapshots" : 0,
"useraccounting" : 0,
"volblocksize" : 32768,
"volsize" : 39728447488,
"written" : 101808
}
}
}
}