Skip to content

Commit 23ff588

Browse files
theekrystalleegitbook-bot
authored andcommitted
restructured content #61
1 parent a6eb5d1 commit 23ff588

File tree

1 file changed

+151
-69
lines changed
  • networks/mainnet/mainnet-nodes/node-requirements

1 file changed

+151
-69
lines changed

networks/mainnet/mainnet-nodes/node-requirements/README.md

Lines changed: 151 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ description: >-
88

99
The following is provided to help [_Hedera Governing Council_](https://hedera.com/council) members deploy their permissioned mainnet consensus node. Please note, this information is not intended to apply to Hedera's transition to a permissionless network.
1010

11+
{% hint style="success" %}
12+
**Please note**: this information does not apply to Hedera's transition to a permissionless network. _Hedera Governing Council_ The following is provided to assist:
13+
{% endhint %}
14+
1115
## Minimum Node Platform Requirements
1216

1317
Currently, the Hedera Mainnet will perform at a rate determined by the lowest-performing node. To ensure a common level of performance minimum hardware, connectivity, and hosting requirements have been defined for the initial permissioned, Governing Council nodes.
@@ -16,97 +20,157 @@ Currently, the Hedera Mainnet will perform at a rate determined by the lowest-pe
1620
To ensure accurate conformity with the minimum requirements, please provide node hardware, connectivity, and hosting details to Hedera prior to purchase (devops@hashgraph.com).
1721
{% endhint %}
1822

19-
* CPU: X86/X64 compatible (Intel Xeon or AMD EPYC); 24 cores/48 threads meeting or exceeding the following benchmarks:
20-
* Geekbench 6 single-core score
21-
* Minimum: 1000 or greater
22-
* Recommended: 1500 or greater
23-
* Passmark single thread rating:
24-
* Minimum to remain on Mainnet: 2300 or greater
25-
* Recommended: 2800 or greater
26-
* Network Connectivity: Sustained 1Gb/s internet bandwidth via a single 1-Gigabit / 10-Gigabit Ethernet interface
27-
* Memory: 256 GB PC4-21300 2666MHz DDR4 ECC Registered DIMM or faster (minimum), 320GB or higher PC4-25600 3200MHz (recommended)
28-
* Storage: It is recommended to mount 240 GB SSD with Raid 1 as a root volume `/` and then provide usable storage via different devices later mounted during installation. This may not be possible on your hardware, so alternatively all required storage may be allocated to the root volume.
29-
* Minimum: 5TB of SSD NVMe usable storage
30-
* Recommended:
31-
* 2 x 240GB SSD with RAID 1 for OS Storage
32-
* 2 x NVMe devices as a 7.5TB RAID 0 (or 4x as RAID 10 array)
33-
* Storage performance: If mounted to root volume, the root volume must meet these requirements. If provisioned via RAID, the RAID array should meet these requirements:
34-
* Sequential write sustained:
35-
* Minimum: 2,000 MBps
36-
* Recommended: 3,000 MBps
37-
* Sequential read sustained:
38-
* Minimum: 3,000 MBps
39-
* Recommended: 6,200 MBps
40-
* Random read, synchronous:
41-
* Minimum: 250,000 IOPS
42-
* Recommended: 1,000,000 IOPS
43-
* Random read, AIO:
44-
* Minimum: 500,000 IOPS
45-
* Recommended: 1,000,000 IOPS
46-
* Random write, synchronous:
47-
* Minimum: 100,000 IOPS
48-
* Recommended: 170,000 IOPS
49-
* Less than 200µs random read latency, average
50-
* Nodes must pass the Hedera performance test suite performed at installation time
23+
### CPU
24+
25+
X86/X64 compatible (Intel Xeon or AMD EPYC); 24 cores/48 threads meeting or exceeding the following benchmarks:
26+
27+
**Geekbench 6 single-core score**
28+
29+
* Minimum: 1000 or greater
30+
* Recommended: 1500 or greater
31+
32+
**Passmark single thread rating:**
33+
34+
* Minimum to remain on Mainnet: 2300 or greater
35+
* Recommended: 2800 or greater
36+
37+
### **Network Connectivity**
38+
39+
Sustained 1Gb/s internet bandwidth via a single 1-Gigabit / 10-Gigabit Ethernet interface
40+
41+
### **Memory**
42+
43+
256 GB PC4-21300 2666MHz DDR4 ECC Registered DIMM or faster (minimum), 320GB or higher PC4-25600 3200MHz (recommended)
44+
45+
### **Storage**
46+
47+
It is recommended to mount 240 GB SSD with Raid 1 as a root volume `/` and then provide usable storage via different devices later mounted during installation. This may not be possible on your hardware, so alternatively all required storage may be allocated to the root volume.
48+
49+
<details>
50+
51+
<summary><strong>Minimum Requirements/Recommendations ⬇</strong> </summary>
52+
53+
**Minimum**: 5TB of SSD NVMe usable storage
54+
55+
**Recommended**:
56+
57+
* 2 x 240GB SSD with RAID 1 for OS Storage
58+
* 2 x NVMe devices as a 7.5TB RAID 0 (or 4x as RAID 10 array)
59+
60+
**Storage performance**: If mounted to root volume, the root volume must meet these requirements. If provisioned via RAID, the RAID array should meet these requirements:
61+
62+
**Sequential write sustained:**
63+
64+
* Minimum: 2,000 MBps
65+
* Recommended: 3,000 MBps
66+
67+
**Sequential read sustained:**
68+
69+
* Minimum: 3,000 MBps
70+
* Recommended: 6,200 MBps
71+
72+
**Random read, synchronous:**
73+
74+
* Minimum: 250,000 IOPS
75+
* Recommended: 1,000,000 IOPS
76+
77+
**Random read, AIO:**
78+
79+
* Minimum: 500,000 IOPS
80+
* Recommended: 1,000,000 IOPS
81+
82+
**Random write, synchronous:**
83+
84+
* Minimum: 100,000 IOPS
85+
* Recommended: 170,000 IOPS
86+
87+
Less than 200µs random read latency, average
88+
89+
</details>
90+
91+
{% hint style="success" %}
92+
**Note**: nodes must pass the Hedera performance test suite performed at installation time.
93+
{% endhint %}
5194

5295
### **Node Operating System:**
5396

54-
* Linux
55-
* Minimum kernel mainline versions (not distribution version)
56-
* 6.2.0
57-
* 6.1.2
58-
* 6.0.16
59-
* 5.15.86
60-
* Actively Supported Long-Term-Support (LTS) 64-bit Linux Distributions
61-
* Ubuntu LTS 22.04
62-
* Red Hat Enterprise Linux (RHEL) 8 and 9
63-
* Oracle Linux 8 and 9
97+
**Linux**
98+
99+
**Minimum kernel mainline versions (not distribution version)**
100+
101+
* 6.2.0
102+
* 6.1.2
103+
* 6.0.16
104+
* 5.15.86
105+
106+
**Actively Supported Long-Term-Support (LTS) 64-bit Linux Distributions**
64107

65-
### **Node Software:**
108+
* Ubuntu LTS 22.04
109+
* Red Hat Enterprise Linux (RHEL) 8 and 9
110+
* Oracle Linux 8 and 9
111+
112+
<details>
113+
114+
<summary><strong>Node Software ⬇</strong> </summary>
66115

67116
* Docker Engine (`docker-ce` version 20.10.6)
68117
* Deployed with root privileges
69118
* Privileged container support enabled (optional)
70119
* If privileged container support is disabled then host machine must run the Havege Daemon
71-
* Docker Compose (`docker-compose` version 1.29.2)
120+
121+
- Docker Compose (`docker-compose` version 1.29.2)
122+
72123
* IPTables Support (`linux-kernel` version 3.10+)
73-
* Havege Daemon (`haveged` version 1.9.14)
124+
125+
- Havege Daemon (`haveged` version 1.9.14)
74126
* If privileged container support is enabled then this requirement is optional
127+
75128
* HashDeep Utilities (`hashdeep` version 4.4)
76129
* Required for update integrity validation
77-
* Bindplane Collector (`bindplane-collector` version 4+)
130+
131+
- Bindplane Collector (`bindplane-collector` version 4+)
78132
* Required for node software log monitoring
133+
79134
* JQ CLI (`jq` version 1.5+)
80135
* Required dependency for the Node Management Tools
81-
* GNU CoreUtils (`coreutils` version 8.00+)
136+
137+
- GNU CoreUtils (`coreutils` version 8.00+)
82138
* Required dependency for the Node Management Tools
139+
83140
* cURL CLI (`curl` version 7.58.0+)
84141
* Required dependency for the Node Management Tools
85-
* InCron Daemon (`incron` version 0.5.12+)
142+
143+
- InCron Daemon (`incron` version 0.5.12+)
86144
* Required dependency for the Node Management Tools
87145
* Required for automated network upgrade
146+
88147
* Rsync CLI (`rsync` version 3.0.0+)
89148
* Required dependency for the Node Management Tools
90149
* Required for automated network upgrade
91-
* Node Management Tools (`node-mgmt-tools` version 0.1.0+)
150+
151+
- Node Management Tools (`node-mgmt-tools` version 0.1.0+)
92152
* Updates deployed via the node upgrade process
93153
* Must be installed at the following path: `/opt/hgcapp/node-mgmt-tools`
94154
* The path must be writable and executable by the `hgcadmin` user account
95155

156+
</details>
157+
96158
### **System User Accounts:**
97159

98-
* _**Node Software Account (mandatory)**_
99-
* User Specification
100-
* Name: `hedera`
101-
* Unix UID: `2000`
102-
* Group Membership
103-
* Primary: `hedera`
104-
* Secondary: `admin` or `wheel` _(depending on Linux distribution)_
105-
* Permissions:
106-
* Read, Write, and Execute Access to the entire `/opt/hgcapp` folder tree
107-
* Group Specification
108-
* Name: `hedera`
109-
* Unix GID: `2000`
160+
#### _**Node Software Account (mandatory)**_
161+
162+
**User Specification**
163+
164+
* Name: `hedera`
165+
* Unix UID: `2000`
166+
* Group Membership
167+
* Primary: `hedera`
168+
* Secondary: `admin` or `wheel` _(depending on Linux distribution)_
169+
* Permissions:
170+
* Read, Write, and Execute Access to the entire `/opt/hgcapp` folder tree
171+
* Group Specification
172+
* Name: `hedera`
173+
* Unix GID: `2000`
110174

111175
{% hint style="info" %}
112176
**Note:** Reference Configurations available in Appendices B, C, D
@@ -124,12 +188,15 @@ Access to the node via public APIs must be mediated by an in-line proxy. Below a
124188

125189
### Network Connectivity
126190

127-
Node Connectivity
191+
<details>
192+
193+
<summary><strong>Node Connectivity ⬇</strong> </summary>
128194

129195
* 1Gbps internet connectivity – sustained (not burstable)
130196
* Unmetered preferred
131197
* Deployed with firewalled access to other mainnet consensus nodes
132-
* Node deployed in dedicated (isolated) DMZ network
198+
199+
- Node deployed in dedicated (isolated) DMZ network
133200
* Static IP (FQDN is not supported)
134201
* TCP Port 50111 open to 0.0.0.0/0
135202
* TCP Port 50211 open to 0.0.0.0/0
@@ -138,18 +205,33 @@ Node Connectivity
138205
* TCP Port 443 open egress to 0.0.0.0/0 (for OS package repository connectivity)
139206
* UDP Port 123 open ingress and egress to 0.0.0.0/0 (for NTP pool synchronization of system time)
140207

141-
Proxy Connectivity
208+
</details>
209+
210+
<details>
211+
212+
<summary><strong>Proxy Connectivity ⬇</strong> </summary>
142213

143214
* Static IP address (FQDN not supported)
144-
* 200Mb/s internet connectivity
215+
216+
- 200Mb/s internet connectivity
217+
145218
* TCP Port 80 open egress to 0.0.0.0/0 (for OS package repository connectivity)
146-
* TCP Port 443 open egress to 0.0.0.0/0 (for OS package repository connectivity)
219+
220+
- TCP Port 443 open egress to 0.0.0.0/0 (for OS package repository connectivity)
221+
147222
* TCP Port 50211 open to 0.0.0.0/0
148-
* TCP Port 50212 open to 0.0.0.0/0
149223

150-
Interface Bonding (optional)
224+
- TCP Port 50212 open to 0.0.0.0/0
225+
226+
</details>
227+
228+
<details>
229+
230+
<summary><strong>Interface Bonding (optional) ⬇</strong> </summary>
231+
232+
If using interface bonding, note that mutual TLS is in use, and Layer 3 Policy Based Routing (PBR) with dual-pathways is not supported. Only Layer 2 interface bonding using mode 1 (autonomous ports using active-backup) or mode 4 (LACP 802.3ad active/active) is supported.
151233

152-
* If using interface bonding, note that mutual TLS is in use, and Layer 3 Policy Based Routing (PBR) with dual-pathways is not supported. Only Layer 2 interface bonding using mode 1 (autonomous ports using active-backup) or mode 4 (LACP 802.3ad active/active) is supported.
234+
</details>
153235

154236
### Hosting
155237

0 commit comments

Comments
 (0)