【障害報告】 2020.2.15, 2.20発生:ジョブスケジューラ障害(5/27更新)

2020.2.20

 以下の通り、ジョブの投入、削除、実行順序などの管理を行なっている「ジョブスケジューラ」に障害が発生しました。ジョブスケジューラは復旧しておりますが、再発防止のための修正は年度末メンテナンス頃となる見通しです。

1.期間

 2020年2月15日(土) 7:03頃 から 11:50頃
 2020年2月20日(木) 10:16頃 から 10:22頃

2.影響

 上記時間帯にログインノードからジョブの投入・確認ができなくなりました。なお、既に実行されていたジョブに関しましては影響はなく、未使用のポイントについても順次返却が行われました。

3.原因と回避策

 ジョブスケジューラが動作する、2台で冗長化されたホスト jobcon0, jobcon1 で、そのマスターデーモンである sge_qmaster が複数回クラッシュしました。クラッシュ後、スケジューラはフェイルオーバーされ、自動復帰致しました。

 多数のタスクからなるアレイジョブの投入を行うとジョブスケジューラのマスターデーモンがクラッシュしてしまうことがわかりました。また、本障害の調査中に比較的タスク数の少ないアレイジョブでも、文字数の制約による別の問題により、ジョブが投入できない場合があることが発覚しました。どちらも原因は特定できており、年度末メンテナンス時に修正できるよう作業中です。(5/27更新)修正を行いました。下記の対応は不要です。

 対策が完了するまでの間はタスク数を以下の表を目安に投入してください。シェルスクリプトの中でfor等による繰り返しを行うことによるタスク数の削減や、分割して投入することもご検討ください。

タスク番号の平均桁数 最大タスク数のめやす
3桁 115
4桁 92
5桁 75

なお、実行時間やその他の条件により、上記タスク数でも実行できない場合があります。Unable to run job: string is longer than 512, this is not allowed for object names.というエラーメッセージが出力された際には、タスク数をさらに削減する必要があります。