[
https://issues.apache.org/jira/browse/HDDS-6541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Gui updated HDDS-6541:
---------------------------
Description:
We have one subdirectory for each data volume under a db volume, with the
StorageID(UUID) of the data volume as the name of the subdirectory.
* When extra SSD are used
* Should create DbVolume to manage it for bad disk checking
* Should create special directory structure including clusterID to be isolated
with other stuff on the disk, e.g. */ssd1/db/CID-<clusterID>*
* Should have a configuration item: “{*}hdds.datanode.container.db.dir{*}”
* HddsVolume should be mapped to a dedicated subdir named after the StorageID
of it, e.g. *DS-b559933f-9de3-4da4-a634-07d3a94f7438/*
* Container metafile (e.g. 1.container under metadata) does not have to record
the *dbPath* since now it is bind to the HddsVolume and we already know which
HddsVolume the container resides.
|/ssd1
\|
` --db
\|
`-- CID-4886ca17-9739-4bc7-8e41-d97bb1175a76
\|
`--{*}DS-b559933f-9de3-4da4-a634-07d3a94f7438{*}
** \|
\|-- *container.db* *← rocksdb instance*
`-- db.checkpoints|
* When no SSD, use the same disk as data by default
* Create container with the same disk where the block files resides
* No DbVolume created, e.g. hddsVolume.dbVolume = null
* Configuration item not specified
* Could be easily migrated to a newly added SSD, e.g.
*mv /data1/hdds/CID-<clusterID>/DS-<StorageID>
/ssd1/db/CID-<clusterID>/*
|/data1
\|
`-- hdds
\|
`-- CID-4886ca17-9739-4bc7-8e41-d97bb1175a76
\|
\|-- current
\| \|
\| `--containerDir0
\|
`-- *DS-b559933f-9de3-4da4-a634-07d3a94f7438*
\|-- *container.db* *← rocksdb instance*
`-- db.checkpoints|
> Per-disk DB location management.
> --------------------------------
>
> Key: HDDS-6541
> URL: https://issues.apache.org/jira/browse/HDDS-6541
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Mark Gui
> Assignee: Mark Gui
> Priority: Major
>
> We have one subdirectory for each data volume under a db volume, with the
> StorageID(UUID) of the data volume as the name of the subdirectory.
> * When extra SSD are used
> * Should create DbVolume to manage it for bad disk checking
> * Should create special directory structure including clusterID to be
> isolated with other stuff on the disk, e.g. */ssd1/db/CID-<clusterID>*
> * Should have a configuration item: “{*}hdds.datanode.container.db.dir{*}”
> * HddsVolume should be mapped to a dedicated subdir named after the
> StorageID of it, e.g. *DS-b559933f-9de3-4da4-a634-07d3a94f7438/*
> * Container metafile (e.g. 1.container under metadata) does not have to
> record the *dbPath* since now it is bind to the HddsVolume and we already
> know which HddsVolume the container resides.
>
> |/ssd1
> \|
> ` --db
> \|
> `-- CID-4886ca17-9739-4bc7-8e41-d97bb1175a76
> \|
> `--{*}DS-b559933f-9de3-4da4-a634-07d3a94f7438{*}
> ** \|
> \|-- *container.db* *← rocksdb instance*
> `-- db.checkpoints|
>
> * When no SSD, use the same disk as data by default
> * Create container with the same disk where the block files resides
> * No DbVolume created, e.g. hddsVolume.dbVolume = null
> * Configuration item not specified
> * Could be easily migrated to a newly added SSD, e.g.
> *mv /data1/hdds/CID-<clusterID>/DS-<StorageID>
> /ssd1/db/CID-<clusterID>/*
>
> |/data1
> \|
> `-- hdds
> \|
> `-- CID-4886ca17-9739-4bc7-8e41-d97bb1175a76
> \|
> \|-- current
> \| \|
> \| `--containerDir0
> \|
> `-- *DS-b559933f-9de3-4da4-a634-07d3a94f7438*
> \|-- *container.db* *← rocksdb instance*
> `-- db.checkpoints|
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]