1. What are the configuration requirements of the ETH client?
ETH archive nodes do not have very high requirements for network and CPU, but mainly for storage. Using Geth and Nethermind clients to synchronize archive nodes requires more than 12T of disk space, while the Erigon client only needs a 4T hard drive. Heixiazi currently uses Kaixia CD6 8T solid-state drive. If there are no performance requirements, it is also possible to use a mechanical hard drive, but the synchronization time will be much slower, and it may take more than ten days to complete the construction of the archive node.
Heixiazi has currently used 2 machines with different configurations to run the ETH archive node, and there were no problems. The machine configuration is as follows, you can use it as a reference
Main machine
Motherboard Z790ProArt
CPU 13900K
Memory 128G Hynix DDR5
System hard disk PM9A1 1T
Storage hard drive Kaixia CD6 7.68T
Backup hard drive Seagate 8T mechanical hard drive
Backup machine
Motherboard GALAXY B450M
CPU AMD 3600
Memory 32G ADATA DDR4
System hard drive Samsung 870evo 250G
Storage hard drive Seagate 8T mechanical hard drive
2. Why use VMware to build?
The main reason is that the weather was too hot some time ago. Heixiazi's I9 host has been running 24 hours a day for a long time, and he forgot to turn on the air conditioner, causing the hot fried chicken glass to shatter all over the floor. Because the erigon client and teku client will use up the number of CPU cores. Whether you use 13900k or amd 3600, the CPU will be fully occupied, and the heat and power consumption will be terrible.
According to Heixiazi's experience, there is not much difference in the synchronization speed between 13900k and amd 3600. As long as a solid-state drive is used, it will not lag behind by too many blocks. When the network speed is good, it will basically only lag behind by a few blocks. .
Therefore, using virtual machines can save electricity bills and control heat. At the same time, vmWare virtual machine files can also be quickly migrated and copied. It is also more convenient when upgrading and debugging erigon and teku clients, and security is guaranteed. Even if they are hacked, Just that the virtual machine is hacked will not involve a host being hacked.
To sum up, it is: safe, worry-free and energy-saving.
3. Overview of the construction process
1. Create an Ubuntu virtual machine. I am using Ubuntu 22.04 version. I have also tried centos. The default software on centos is too old and has poor compatibility with PC motherboards. It is not recommended.
2. Mount the physical hard disk
3. Download and install the ETH execution client erigon
4. Execute erigon client to synchronize block data
5. Download and install the ETH consensus client teku
6. Execute teku client to synchronize block data after eth2.0
4. Detailed records of the construction process
The construction process is as follows
1. Create an Ubuntu virtual machine. I believe everyone knows this, so I will omit it. .
2. Mount the physical hard disk
2.1 Click to add a hard disk in the virtual machine settings

2.2 If it is a mechanical hard drive or SATA solid state, choose SATA. If it is an m2 SSD, choose NVME.

In the next step, choose to use a physical hard disk. After completion, you can start the computer.

2.3 Mount the hard disk after booting. The relevant operation commands are as follows
// Check the hard disk available on the machine
fdisk -l
//Create a hard disk mounting directory
mkdir /mnt/data
//Mount the hard disk. Note that if it is a new hard disk, it needs to be formatted into ext4 format (mkfs -t ext4 /dev/nvme0n2)
sudo mount -t ext4 /dev/nvme0n2 /mnt/data
If possible, you can set it to automatically mount at startup.
3. Download and install the ETH execution client erigon
3.1 Create a directory to store the erigon client. Black Blind Man likes to place it in the /home/wwwroot directory.
mkdir -p /home/wwwroot/erigon
cd /home/wwwroot/erigon

3.2 Download the erigon client source code and compile it. Note that the golang environment, gcc and g++ need to be installed here.
3.3 编译源码,生成erigon客户端,这里耗时会有点就,要下载很多依赖包,如果中途有报错可以多尝试几次编译完后大概是这个样子3.4 运行erigon客户端,开始同步数据,大概要下载320G的数据包,下载下来后还会进行解压和数据还原,一共有15阶段,15个阶段全部完成eth归档节点就搭建好了./build/bin/erigon --datadir=/mnt/data/erigon

The client continues to run

Summarize
As long as you wait patiently for the above steps, you can complete half of the operation of setting up an eth node. When the erigon client data is synchronized to near ETH2.0, you need to install the teku consensus client to synchronize the data after ETH2.0. The synchronization speed This Heixiazi low-end machine took about 12 days to complete when using a mechanical hard drive, and about 1 week when using a high-end machine.
PS: The article on installing the teku client will be published later. Friends who are interested can start building it themselves.