You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documentation/en/curio-pdp.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -148,6 +148,8 @@ Skiff requires an external Lotus-compatible chain node. Set `FULLNODE_API_INFO`
148
148
149
149
Curio-PDP stores piece payloads on local disk. Mount drives at **`/data`** (or bind-mount volumes beneath it). On startup the node scans `/data` and **every subdirectory**, probes each for write access, and uses every writable location as storage. Unwritable paths are skipped.
150
150
151
+
On a full Curio cluster that also seals sectors, keep PDP data off certain disks with the `"piece"` DenyTypes filter. Or add a dedicated storage location with AllowTypes: ["piece"]. See [Separate PDP / parked pieces from sealed storage](storage-configuration.md#separate-pdp-parked-pieces).
152
+
151
153
Missing `sectorstore.json` files are created automatically in each writable location.
152
154
153
155
Additionally, you can use a path other than `/data`:
Your fast-storage path should point to high-performance storage media such as NVMe or SSD
499
+
Your fast-storage path should point to high-performance storage media such as NVMe or SSD.
500
+
501
+
To keep PDP payloads off sealed-sector disks, attach a dedicated `piece` to denytypes on storage configuration files. See [Separate PDP / parked pieces from sealed storage](../storage-configuration.md#separate-pdp-parked-pieces).
Copy file name to clipboardExpand all lines: documentation/en/storage-configuration.md
+28-8Lines changed: 28 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ description: >-
8
8
9
9
Each Curio node keeps track of defined storage locations in `~/.curio/storage.json` (or `$CURIO_REPO_PATH/storage.json`) and uses `~/.curio` path as default.
10
10
11
-
Upon initialization of a storage location, a `<path-to-storage>/sectorstorage.json` file is created that contains the UUID assigned to this location, along with whether it can be used for sealing or storing.
11
+
Upon initialization of a storage location, a `<path-to-storage>/sectorstore.json` file is created that contains the UUID assigned to this location, along with whether it can be used for sealing or storing.
You can filter for what sectors types are allowed in each sealing path by adjusting the configuration file in: `<path-to-storage>/sectorstorage.json`.
88
+
You can filter for what sector file types are allowed in each path by adjusting `<path-to-storage>/sectorstore.json`. You can also set these at attach time with `--allow-types` and `--deny-types`.
89
89
90
90
```json
91
91
{
@@ -104,14 +104,16 @@ You can filter for what sectors types are allowed in each sealing path by adjust
104
104
Valid values for `AllowTypes` and `DenyTypes` are:
105
105
106
106
```javascript
107
-
"unsealed"
108
-
"sealed"
109
-
"cache"
110
-
"update"
111
-
"update-cache"
107
+
"unsealed"// unsealed sector files
108
+
"sealed"// sealed sector replicas
109
+
"cache"// sealing cache
110
+
"update"// snap-deal update replica
111
+
"update-cache"// snap-deal update cache
112
+
"piece"// parked pieces: PDP payloads and market piece parking
113
+
"key"// unseal keys
112
114
```
113
115
114
-
These values must be put in an array to be valid (e.g `"AllowTypes": ["unsealed", "update-cache"]`), any other values will generate an error on startup of the `Curio`. A restart of the `Curio` node where this storage is attached is also needed for changes to take effect.
116
+
These values must be put in an array to be valid (e.g `"AllowTypes": ["unsealed", "update-cache"]`). Unknown values generate a warning and are ignored. A restart of the Curio node where this storage is attached is needed for `sectorstore.json` edits to take effect.
115
117
116
118
## Separate sealed and unsealed 
117
119
@@ -126,6 +128,24 @@ Setting only `unsealed` for `AllowTypes` will still allow `cache` and `update-ca
126
128
If there are existing files with disallowed types in a storage path, those files will remain readable for PoSt/Retrieval. So the worst that can happen in case of misconfiguration in the storage path is that sealing tasks will get stuck waiting for storage to become available.
127
129
{% endhint %}
128
130
131
+
## Separate PDP / parked pieces from sealed storage <ahref="#separate-pdp-parked-pieces"id="separate-pdp-parked-pieces"></a>
132
+
133
+
PDP payloads and market parked pieces are stored as file type `"piece"`, not as sealed/unsealed sector files. They also use miner ID `f00` (actor 0) internally; they do **not** use the SP miner ID. Miner `AllowMiners` / `DenyMiners` filters are for splitting disks between real miners, not for keeping PDP off sealed storage.
134
+
135
+
To keep parked pieces on their own disks:
136
+
137
+
* Attach PDP / piece-park store paths with `"AllowTypes": ["piece"]` (and `CanStore: true`).
138
+
* Attach sealed long-term paths with `"DenyTypes": ["piece"]`.
Long-term PDP pieces allocate on **store** paths (`--store` / `CanStore`). A `--seal`-only path will not take PDP uploads or pulls.
146
+
147
+
This filter applies to all parked pieces. MK12/MK20 piece parking uses the same `"piece"` type, so those files share the piece-only disks. There is no path filter that selects PDP pieces and excludes market parking.
148
+
129
149
## Segregating long-term storage per miner 
130
150
131
151
Users can allocate long-term storage to specific miner IDs by specifying miner address strings in the `sectorstore.json` file. This configuration allows precise control over which miners can use the storage.
0 commit comments