2018年2月18日日曜日

リグの安定運用のための cron

こんにちはドリ助です。
私のリグには7枚の玄人志向の GPU が刺さっているのですが、7枚中1枚の GPU が外れの GPU らしく、たまに確認するとその1枚だけ動いていないことがあります。再起動するとまたちゃんと動くので、壊れているというわけではないのですが、当たり外れはどうにもならないですね。
ただ、このままだと毎日リグがちゃんと動いているのを確認して、動いていないときは再起動をかけてあげないと6枚で動かしている時間が長くなり、思った通りの運用ができません。
また、毎日リグを確認して動いているかどうか確かめるのは正直面倒です。理想は GPU が一枚動かなくなったのを検知したら、勝手に再起動して復旧するのが理想です。
ただまぁそこまでするのも大変そうだったので、1日1回勝手に再起動してくれれば1日5分ほど動いていない時間ができますが、ほぼ7枚フルで動くかなと思い、1日1回再起動するように設定することにします。

cron について

1日1回なんかしてほしいというものを探していたら、cron というものを見つけたのでこれで設定することにします。
以下は引用です

cron とは

cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。特に、バックアップなどは、システムへの負荷が大きいため、通常は、ユーザからのアクセスが少ない、深夜や早朝に行なわれます。
このように、定期的に実行されるジョブは、crond というデーモンによって、自動的に行なうように管理することができます。そこで、今回は、cron の設定を行なうために必要なコマンドや、設定ファイルについて説明していきたいと思います。

cron の設定方法

1日1回再起動すればいいと考えていましたが、minestop というコマンドを使えばリグ自体を再起動しなくても GPU のみを再起動すできるようなので一日一回 minestop コマンドが動くようにします。
以下のコマンドを打って cron のエディタを開きます。
# crontab -e
cron の設定は以下のように書けばいいので
分 時 日 月 曜日 <実行コマンド>
実際に書く内容は以下になります。
0 10 * * * minestop
この意味は毎日 10 時に minestop コマンドを実行するという意味です。
これで無事毎日 10 時に再起動するようになりました。 実際にこれを使って運用を始めましたが、たまに確認しても大体の時間フルで動いているようです。たまに6枚になっているようですが、次の日には復活してるようなので許容範囲かなと。
以上です。

0 件のコメント:

コメントを投稿