【エンジニアの悪夢】日本HPE、京大スパコンのデータ77TBをLOST、全面謝罪▶理由を読んだ皆さん「インタプリタ怖い」「胃が痛くなる」

これは怖い…。自分現役の頃、Backupは世代管理してたけどなぁ。最近はやらないのかな…。 余談:実はtogetterも排他処理がないので同じまとめに対してうっかり複数編集窓を開いて変な上書きすることが…^^;
104
前へ 1 ・・ 4 5 次へ

対策は?

対策はやっぱオブジェクトストレージで世代管理が鉄板ですかね…?

はけた@できるExcel2021 @excelspeedup

シェルスクリプトのfindも超怖いんですね。 何も考えずに使ってましたが、気を付けないと。

2021-12-29 09:47:39
風柳 @furyutei

@excelspeedup findというより-execとかxargs使って検索結果を使ってなにかする場合に気をつけないとってことですよね

2021-12-29 09:50:51
はけた@できるExcel2021 @excelspeedup

@furyutei はい。 xargsとかに予想外の値が来る可能性もあり得ることを想定しておかないとということですね。 とはいえ、想定したところで、どういう対策があり得るのかはわかりませんが・・・。

2021-12-29 09:57:22
風柳 @furyutei

@excelspeedup 難しいですよね… 今回の場合 find $LOGPATH -type f -mtime +10 -delete みたいなことをやっていて、$LOGPATHが未定義だった(結果としてカレントディレクトリである/LARGE0以下が処理対象となった)…ということでしょうか これなら一応 twitter.com/furyutei/statu… で予防は可能…?

2021-12-29 10:25:57
風柳 @furyutei

あわせて冒頭に set -euo pipefail と書いておくこと、と📝 ashishb.net/all/the-first-… setのオプションの意味は -e : コマンドでエラーが発生したらスクリプト終了 -u : 未定義変数が使用されたらスクリプト終了 -o pipefail : パイプ実行でエラー発生時、最初に失敗したコマンドの終了ステータスを返す

2021-12-29 10:04:58
はけた@できるExcel2021 @excelspeedup

@furyutei そういうパターンだとすると、カレントディレクトリを無害な場所に動かしておくと、少しは被害を軽減できるのかもしれませんね。

2021-12-29 11:14:40
Yusuke Nojima @nojima

読んでるだけで胃が痛くなるな……。 とりあえず set -u をすべてのシェルスクリプトに書くようにルール化しよう。 iimc.kyoto-u.ac.jp/services/comp/…

2021-12-29 00:17:09
那賀 樹一郎 Kiichiro-Kyle NAKA @knaka

これ、全体をアトミックにデプロイしていれば防げたかというと、プロセス(atomicity とか考えていない)が既に走っているわけだから、必ずしもそうではなさそうなんだよな。もっと詳細聞きたい // Lustre ファイルシステムのファイル消失について iimc.kyoto-u.ac.jp/services/comp/…

2021-12-29 08:11:15
那賀 樹一郎 Kiichiro-Kyle NAKA @knaka

そういうことか。でも本件はそうだが、たとえば同一パスでも内容が更新された設定ファイルだけが古い内容のスクリプトに遅れて読み込まれたりすると怖いので、やはりデプロイ時には止めておくのが吉か // Tips: 実行中のシェルスクリプトを書きかえるときには - Qiita qiita.com/kitsuyui/items…

2021-12-29 08:33:10
那賀 樹一郎 Kiichiro-Kyle NAKA @knaka

もちろん多重起動も禁止でね。罠多いよな // シェルスクリプト多重起動の防止(flock(2) を用い、極力可搬に) - Qiita qiita.com/knaka/items/58…

2021-12-29 09:00:10
ちゅん🐤 @KotorinChunChun

バックアップストレージと間違えてメインストレージのデータ消しちゃったって状況は分かるんだけど、復元できなくなったのは古いファイルなんだよね > 2021 年 12 月 3 日 17 時 32 分以降、更新がなかったファイル つまり、多段バックアップをしていなかったということになるのか・・・? twitter.com/KotorinChunChu…

2021-12-29 10:52:39
ちゅん🐥えくせるちゅんちゅん @KotorinChunChun

ほーう。バックアッププログラムの適用ミスか。バックアップって単純に見えてミスると本末転倒なことになるから、本当に。本当に。慎重にやらないとなんだよね。私も100TBの・・略 スーパーコンピュータシステムのファイル消失のお詫び | お知らせ | 京都大学情報環境機構 iimc.kyoto-u.ac.jp/ja/whatsnew/in…

2021-12-28 23:15:14
風柳 @furyutei

@KotorinChunChun >バックアップストレージと間違えてメインストレージのデータ消しちゃった ではなく、ログディレクトリを指定するはずが(環境変数が空だったため)カレントディレクトリと解釈されて(カレントディレクトリがメインストレージ:/LARGE0だったので)そこの10日以上前のファイルを消したみたいですね

2021-12-29 11:06:12
gonsuke777 @ora_gonsuke777

以前のファストサーバを彷彿とさせるデータの誤削除事故。「100%責任」って言い切るの凄い……。バックアップをテープデバイスとかオブジェクトストレージとか、ファイルシステムじゃないとこに取っておくのが安全だよなぁ。 彡(゚)(゚) iimc.kyoto-u.ac.jp/services/comp/…

2021-12-29 07:21:49
松鹿 @matsujika

うぎゃあ 人類にはTypeScriptみたいなアルトシェルスクリプトが必要かもね iimc.kyoto-u.ac.jp/services/comp/…

2021-12-29 00:51:18
しーげっちは自分で描いた絵を動かしたい @seagetch

京大のスパコンのファイル消失の件、そもそもlustreの運用自体がわりとニッチでノウハウが偏りそうだし、エラー見るとblue-greenデプロイができるように(次から)頑張るくらいしか解がないのかもしれない… iimc.kyoto-u.ac.jp/services/comp/…

2021-12-29 11:36:08

Piro/結城洋志さんの解説連ツイ

Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

Piro/結城洋志 Tree Style Tab等Firefoxアドオンを作ったり「ITエンジニア1年生のためのまんがでわかるLinux」を日経ソフトウエア誌で連載したり。「数学ガール」の結城浩先生は別人です。青バッジはTweetDeck用。https://t.co/k9rUtG6zV7 @piro_or_mokei

https://t.co/yxk8aIZCUy

Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

大量ファイルの消失事故事例。シェルスクリプト製の重いタスクが走ってる最中に、そのスクリプトを更新した結果、(bashの「実行中のスクリプトが書き換わった場合、書き換え後の内容で処理が継続される」仕様 qiita.com/kitsuyui/items… のために)想定外のファイルがごっそり消えたという。恐ろしい。 twitter.com/nekoruri/statu…

2021-12-29 02:27:40
Aki@めもおきば @nekoruri

こんな短い恐怖文書めったにない / “Lustre ファイルシステムのファイル消失について | 日本ヒューレット・パッカード合同会社” htn.to/2cZ1noXwiR

2021-12-29 02:15:55
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

継続位置はバイト数単位で決まるようで、例えば #!/bin/bash sleep 30 echo OK というスクリプトを実行中に #!/bin/bash : sleep 30 echo OK と書き換えると、30秒後に「echo」からでなく「0」の位置から実行が再開されるのだけど、「0: command not found」と言われるだけで、そのまま処理は続く。

2021-12-29 02:43:58
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

この例では、 set -e してあれば「0: command not found」の時点で実行が止まるけど、不幸にも編集後の内容がそのまま何のエラーにもならず実行できてしまった場合、防衛策としては機能しないことになる。

2021-12-29 02:50:25
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

github.com/bminor/bash GNU bashのソースの非公式ミラーがあったので、「スクリプトが読み込み中に書き換わったら実行を止める」みたいなオプションないのかなと思って見てみたけど、特にそういうのはなさそうかな……

2021-12-29 03:25:00
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

最初に参照したQiitaの記事にあるとおり、inodeが変わるようにすれば大丈夫らしいけど、いちいちやってられなそうだし、突き詰めると 「実行中のスクリプトは書き換えるな」 「書き換えるならその前に止めろ」 しか言えないかなあ。

2021-12-29 03:27:51
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

本番環境でやらかしちゃった人アドカレ qiita.com/advent-calenda… の閉幕後に特大級の物を見てしまって、ため息しかでないや

2021-12-29 03:29:36
Piro🎉"シス管系女子"シリーズ累計5万部突破!!🎉 @piro_or

実行中である可能性があるシェルスクリプトに新しい内容を上書きする際、cpではなく、実質的にその上位互換として使えるrsyncを使うと、inodeが変わるので安全とのこと。そういうやり方もあるんだ! twitter.com/nekoruri/statu…

2021-12-29 03:58:06
Aki@めもおきば @nekoruri

たとえばcpではなくrsyncならば新しいinodeに書かれてから置換されるので、デフォルトそっちを使う癖を付ける、というのも一つの手。 pic.twitter.com/72jTbs6fRW twitter.com/piro_or/status…

2021-12-29 03:50:53
前へ 1 ・・ 4 5 次へ