Lotus systemd service 有问题

1,lotus-daemon.service

  • 编译二进制文件
# make install
install -C ./lotus /usr/local/bin/lotus
install -C ./lotus-storage-miner /usr/local/bin/lotus-storage-miner
install -C ./lotus-seal-worker /usr/local/bin/lotus-seal-worker
  • 创建服务
# make install-services
install -C ./lotus /usr/local/bin/lotus
install -C ./lotus-storage-miner /usr/local/bin/lotus-storage-miner
install -C ./lotus-seal-worker /usr/local/bin/lotus-seal-worker
mkdir -p /usr/local/lib/systemd/system
mkdir -p /var/log/lotus
install -C -m 0644 ./scripts/lotus-daemon.service /usr/local/lib/systemd/system/lotus-daemon.service
install -C -m 0644 ./scripts/lotus-miner.service /usr/local/lib/systemd/system/lotus-miner.service
systemctl daemon-reload

lotus-daemon and lotus-miner services installed. Don't forget to 'systemctl enable lotus-daemon|lotus-miner' for it to be enabled on startup.
  • 查看创建的服务
# cat /usr/local/lib/systemd/system/lotus-daemon.service
[Unit]
Description=Lotus Daemon
After=network-online.target
Requires=network-online.target

[Service]
Environment=GOLOG_FILE="/var/log/lotus/daemon.log"
Environment=GOLOG_LOG_FMT="json"
ExecStart=/usr/local/bin/lotus daemon
Restart=always
RestartSec=10

MemoryAccounting=true
MemoryHigh=8G
MemoryMax=10G
LimitNOFILE=8192:10240

[Install]
WantedBy=multiuser.target
  • 修改环境变量
Environment=GOLOG_FILE="/storage/lotus.log"
Environment=GOLOG_LOG_FMT="json"
Environment=FIL_PROOFS_PARAMETER_CACHE="/storage/filecoin-proof-parameters-v27"
Environment=LOTUS_PATH="/storage/lotuswork/lotus"
Environment=TMPDIR="/storage/lotuswork/tmpdir"
Environment=IPFS_GATEWAY="//proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/"
# systemctl daemon-reload
# systemctl enable lotus-daemon.service
# systemctl start lotus-daemon.service
# systemctl status lotus-daemon.service
  • 运行报错
# lotus net peers
2020-07-08T06:33:56.111Z	WARN	main	lotus/main.go:81	could not get API info:
    github.com/filecoin-project/lotus/cli.GetRawAPI
        /storage/master/lotus/cli/cmd.go:140
  - could not get api endpoint:
    github.com/filecoin-project/lotus/cli.GetAPIInfo
        /storage/master/lotus/cli/cmd.go:123
  - API not running (no endpoint)
  • 添加环境变量
  • vim .bashrc
# lotus
export LOTUS_PATH=/storage/lotuswork/lotus
# source .bashrc
# lotus net peers
QmTd6UvR47vUidRNZ1ZKXHrAFhqTJAD27rKL9XYghEKgKX, [/ip4/147.75.67.199/tcp/4001]
12D3KooWT2S5yVjmBnycMoaRbcAPG4z7GA8NoEeL9Mv3g9PN99Sm, [/ip4/182.136.75.60/tcp/37601]
12D3KooWSFxVdpzN2LjoeXqNeeJiqGATdBdFKtHxTn6sMsuBAoa6, [/ip4/101.200.55.118/tcp/34721]
  • 需要添加环境变量
# lotus
export LOTUS_PATH=/storage/lotuswork/lotus
export LOTUS_STORAGE_PATH=/storage/lotuswork/lotusstorage
export WORKER_PATH=/storage/lotuswork/lotusworker
export TMPDIR=/storage/lotuswork/tmpdir

# parameters
export FIL_PROOFS_PARAMETER_CACHE=/storage/filecoin-proof-parameters-v27
export IPFS_GATEWAY=https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/
root@ubuntu02:~# echo $IPFS_GATEWAY

2,lotus-miner.service

  • vim /usr/local/lib/systemd/system/lotus-miner.service
[Unit]
Description=Lotus Storage Miner
After=network.target
After=lotus-daemon.service
Requires=lotus-daemon.service

[Service]
ExecStart=/usr/local/bin/lotus-storage-miner run

Environment=GOLOG_FILE="/storage/miner.log"
Environment=GOLOG_LOG_FMT="json"

Environment=LOTUS_PATH="/storage/lotuswork/lotus"
Environment=LOTUS_STORAGE_PATH="/storage/lotuswork/lotusstorage"
Environment=WORKER_PATH="/storage/lotuswork/lotusworker"
Environment=TMPDIR="/storage/lotuswork/tmpdir"

Environment=FIL_PROOFS_PARAMETER_CACHE="/storage/filecoin-proof-parameters-v27"
Environment=IPFS_GATEWAY="https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/"

Environment=RUST_LOG="trace"
Environment=RUST_BACKTRACE="full"

Environment=FIL_PROOFS_USE_GPU_COLUMN_BUILDER="1"
Environment=FIL_PROOFS_USE_GPU_TREE_BUILDER="1"

Environment=FIL_PROOFS_MAXIMIZE_CACHING="1"

LimitNOFILE=327680
LimitNOFILESoft=245760
Restart=always
RestartSec=30

[Install]
WantedBy=multiuser.target
# systemctl daemon-reload
# systemctl enable lotus-miner.service
# systemctl start lotus-miner.service
# systemctl status lotus-miner.service

参考:
1.Use Lotus with systemd

猜你喜欢

转载自blog.csdn.net/u010953692/article/details/107176953
今日推荐