systemdサービススクリプト改修手順
systemdサービススクリプト改修手順 (2021/5/30以前からプール運営されている方向け)

1. ノードを停止する。

1
sudo systemctl stop cardano-node
Copied!
tmux lsを実行し「no server running on~」になるかもしくは「cnode」が無いことを確認してください

2. ノード起動スクリプトを再作成する。

全行をコピーしコマンドラインに送信します。
ポート番号を6000から任意のポートに変更している場合は、個別に修正してください
リレーノード1
ブロックプロデューサーノード
1
cat > $NODE_HOME/startRelayNode1.sh << EOF
2
#!/bin/bash
3
DIRECTORY=$NODE_HOME
4
PORT=6000
5
HOSTADDR=0.0.0.0
6
TOPOLOGY=\${DIRECTORY}/${NODE_CONFIG}-topology.json
7
DB_PATH=\${DIRECTORY}/db
8
SOCKET_PATH=\${DIRECTORY}/db/socket
9
CONFIG=\${DIRECTORY}/${NODE_CONFIG}-config.json
10
/usr/local/bin/cardano-node run --topology \${TOPOLOGY} --database-path \${DB_PATH} --socket-path \${SOCKET_PATH} --host-addr \${HOSTADDR} --port \${PORT} --config \${CONFIG}
11
EOF
Copied!
1
cat > $NODE_HOME/startBlockProducingNode.sh << EOF
2
#!/bin/bash
3
DIRECTORY=$NODE_HOME
4
PORT=6000
5
HOSTADDR=0.0.0.0
6
TOPOLOGY=\${DIRECTORY}/${NODE_CONFIG}-topology.json
7
DB_PATH=\${DIRECTORY}/db
8
SOCKET_PATH=\${DIRECTORY}/db/socket
9
CONFIG=\${DIRECTORY}/${NODE_CONFIG}-config.json
10
KES=\${DIRECTORY}/kes.skey
11
VRF=\${DIRECTORY}/vrf.skey
12
CERT=\${DIRECTORY}/node.cert
13
/usr/local/bin/cardano-node run --topology \${TOPOLOGY} --database-path \${DB_PATH} --socket-path \${SOCKET_PATH} --host-addr \${HOSTADDR} --port \${PORT} --config \${CONFIG} --shelley-kes-key \${KES} --shelley-vrf-key \${VRF} --shelley-operational-certificate \${CERT}
14
EOF
Copied!

3. サービスファイルを再構成する。

3-1. 既存のサービスファイルを無効化する

1
sudo systemctl disable cardano-node
Copied!

3-2. サービスファイルを再作成する

リレーノード1
ブロックプロデューサーノード
1
cat > $NODE_HOME/cardano-node.service << EOF
2
# The Cardano node service (part of systemd)
3
# file: /etc/systemd/system/cardano-node.service
4
5
[Unit]
6
Description = Cardano node service
7
Wants = network-online.target
8
After = network-online.target
9
10
[Service]
11
User = ${USER}
12
Type = simple
13
WorkingDirectory= ${NODE_HOME}
14
ExecStart = /bin/bash -c '${NODE_HOME}/startRelayNode1.sh'
15
KillSignal=SIGINT
16
RestartKillSignal=SIGINT
17
TimeoutStopSec=2
18
LimitNOFILE=32768
19
Restart=always
20
RestartSec=5
21
SyslogIdentifier=cardano-node
22
23
[Install]
24
WantedBy = multi-user.target
25
EOF
Copied!
1
cat > $NODE_HOME/cardano-node.service << EOF
2
# The Cardano node service (part of systemd)
3
# file: /etc/systemd/system/cardano-node.service
4
5
[Unit]
6
Description = Cardano node service
7
Wants = network-online.target
8
After = network-online.target
9
10
[Service]
11
User = ${USER}
12
Type = simple
13
WorkingDirectory= ${NODE_HOME}
14
ExecStart = /bin/bash -c '${NODE_HOME}/startBlockProducingNode.sh'
15
KillSignal=SIGINT
16
RestartKillSignal=SIGINT
17
TimeoutStopSec=2
18
LimitNOFILE=32768
19
Restart=always
20
RestartSec=5
21
SyslogIdentifier=cardano-node
22
23
[Install]
24
WantedBy = multi-user.target
25
EOF
Copied!
/etc/systemd/systemにユニットファイルをコピーして、権限を付与します。
1
sudo cp $NODE_HOME/cardano-node.service /etc/systemd/system/cardano-node.service
Copied!
1
sudo chmod 644 /etc/systemd/system/cardano-node.service
Copied!
次のコマンドを実行して、OS起動時にサービスの自動起動を有効にします。
1
sudo systemctl daemon-reload
2
sudo systemctl enable cardano-node
3
sudo systemctl start cardano-node
Copied!
ログモニターを表示し、ログが流れるか確認する
1
journalctl --unit=cardano-node --follow
Copied!
gliveviewを起動し、ノード状況を確認する
1
cd $NODE_HOME/scripts
2
./gLiveView.sh
Copied!
以下は、systemdを有効活用するためのコマンドです。 必要に応じで実行するようにし、一連の流れで実行しないでください
****⛓ システム起動後に、ログモニターを表示するコマンド
1
journalctl -u cardano-node -f
Copied!
コマンド入力に戻る場合は「Ctrl+C」(この場合ノードは終了しません)
スクリプトへのパスを通し、任意の単語で起動出来るようにする。
1
echo alias cnode='"journalctl -u cardano-node -f"' >> $HOME/.bashrc
2
source $HOME/.bashrc
Copied!
単語を入力するだけで、起動状態(ログ)を確認できます。 cnode

🔄 ノードサービスを再起動するコマンド

1
sudo systemctl reload-or-restart cardano-node
Copied!

🛑 ノードサービスを停止するコマンド

1
sudo systemctl stop cardano-node
Copied!

🗄 ログのフィルタリング

昨日のログ
1
journalctl --unit=cardano-node --since=yesterday
Copied!
コマンド入力に戻る場合は「Ctrl+C」(この場合ノードは終了しません)
今日のログ
1
journalctl --unit=cardano-node --since=today
Copied!
コマンド入力に戻る場合は「Ctrl+C」(この場合ノードは終了しません)
期間指定
1
journalctl --unit=cardano-node --since='2020-07-29 00:00:00' --until='2020-07-29 12:00:00'
Copied!
コマンド入力に戻る場合は「Ctrl+C」(この場合ノードは終了しません)
最終更新 4mo ago