パスワードを忘れた? アカウント作成
8037384 story
KDE

KDE、レポジトリを失いかける 58

ストーリー by reo
おおこわいこわい 部門より

ある Anonymous Coward 曰く、

今月 22 日、git.kde.org をホストしていた仮想マシンの障害により。たまたまリブートしていた 1 台を除く全てのリポジトリが消失したらしい (Me, my blog, and my Johnson の記事本の虫の記事より) 。

セキュリティアップデートのためサーバー本体を再起動した際に git.kde.org をホストしていた仮想マシンのファイルシステムが破損してしまい、git.kde.org の復帰後そのままミラーサーバーに適用されてしまったという事らしい。仮想マシンのシャットダウン自体は特に問題なく行われ、破損の原因は不明。ファイルシステムのエラーの蓄積が原因の可能性もあるとのこと。ミラーリングシステムは約 20 分毎に同期を行うようになっており、git.kde.org の復帰後、程なくミラーサーバは破損したプロジェクトファイルを取得、それローカルに適用したことで、結果的に全てのミラーサーバのリポジトリが消失してしまった。

幸運にも、前日に projects.kde.org のシステムの移行のために立ち上げられた 1 台のサーバが、ミラーリングする予定の時間にリブートされており同期が行われなず、このサーバに完全なリポジトリが保存されていたため復旧することが出来たとのこと。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by iwakuralain (33086) on 2013年03月29日 12時48分 (#2352741)

    と思うのは少数派なんだろうか

    • by Anonymous Coward on 2013年03月29日 13時05分 (#2352770)

      少なくとも、「単にミラーしてたから安心」と思っていた訳じゃなくて

      バグの原因は設計上の欠陥だ。git.kde.orgは常に信頼できる一次ソースであるという前提。この前提の理由は明白だ。git.kde.orgはしっかりと管理されており、プッシュされたコードはすべて妥当性を検証するよう独自のフックをかましていたのだ。常に正しいと仮定することは妥当な決定だった。

      そして、ミラーリングシステムは、それほどの時間差なく、git.kde.orgと全く同じように振る舞うべく設定されていた。これはgitレポジトリのコードのみならず、管理上の多くのメタデータまでにも適用される。同期はおよそ20分ごとに発生し、ミラーリングシステムはanongitをgit.kde.orgと全く同じようにみせかけ、一次ソースが死んでいたり交換されたりしたならば、ミラーからレポジトリを同期するように設計されていた。

      我々は、サーバーがディスクを紛失したり、あるいはサーバー自体が塵になったり、VMのファイルシステムが完全に消失した場合には備えていたものの、ファイルシステムの障害には備えていなかった。この障害の具合が、ミラーリングシステムに予期せぬ問題を引き起こしたのだ。

      と一応の対策はしていた訳です(それをバックアップだとも言っていない)。

      それでは、耐障害性が足りず、今回の問題につながってしまったと。

      ファーストサーバーもこんな感じだったのかな。

      親コメント
    • テープも一世代しか残さなければ同じなんだが
      みんなわかってくれないorz

      #バックアップの最低用件は取得したデータが正しいこと

      親コメント
    • 2ちゃんのなれる!SEスレ見てても思ったのだけど。
      ネットワーク屋の言うバックアップは、待機系という意味なんだよね。
      で、ストレージ屋が待機系と言ったら、それはリダンダンシーであって
      バックアップではないと。そこを判って欲しいんだよなあ。

      失うと大変なデータはテープ、光学メディア、この際USBメモリでもいいから、
      別メディアに「バックアップ」してもらいたいものです。

      親コメント
    • 数年前におなくなりになった当方のNASは、ミラーリングだけではなく、当然ちゃんとバックアップ設定をしていました……NASの中にあるフォルダに。
      どうして、こんな設定になったのだろう。

      ちなみに、ちゃんと外付けのHDDもあって、そっちにも、おなくなりになる1年ほど前の状態はバックアップされていたという不思議。
      --
      ¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
      親コメント
    • と思うのは少数派なんだろうか

      おそらく少数派じゃない? ミラーリングは物理的破壊に対するバックアップだから。

      親コメント
      • 俺もそう思う

        バックアップという言葉が示すものは、対象とレイヤによって意味するものが違う。
        サーバ機のHW障害に対するバックアップ対策として、別のサーバ機にデータをミラーリングするのは正しい。

        今回のKDEの問題は、ファイルシステム破損への対策がなかったこと。
        それに対して、世代バックアップも条件を満たせば解決策になるかもしれないけど、ミラーリングの前にデータの完全性を確認することでも対策としては正しい。
        逆に障害を想定し、それに対策したわけではないなら、何をやってもバックアップにはならない。
        テープに落とせばバックアップになる、と安易に思ってるのも困り者。

        --
        # mishimaは本田透先生を熱烈に応援しています
        親コメント
    • by Anonymous Coward

      確かに。
      「何でバックアップが無かったの?」
      「ミラーリングしてるから大丈夫だと思った」
      は、もう聞き飽きた。

    • by Anonymous Coward

      この場合のミラーリングってRAIDのことじゃなくて、負荷分散のためのミラーリングじゃないの?

      #バックアップくらい別に用意しとけよな

      • by Anonymous Coward on 2013年03月29日 20時47分 (#2353082)

        どうしてこうもリンク先すら読まない馬鹿ばかりなのか
        > (追記)
        > 以下のテキストは公開時より書き換えられてはいないが、我々のバックアップ方法や失敗原因などの詳細に関する疑問に答えるために追記した。もし以前にこの記事を読んで、「おい、なんでバックアップ取ってねーんだ」と思ったならば、追記を読むといい。
        > 当初公開した記事で説明し忘れたことがある。我々はレポジトリのtarballは持っている。tarballは数日おきに作成しているが、これは完璧なバックアップというわけではない。より詳しくは記事中で説明する。

        親コメント
  • 実例 (スコア:3, 参考になる)

    by Anonymous Coward on 2013年03月29日 12時23分 (#2352710)

    ミラーリングはバックアップじゃないという実例ですね。

    分かっていても時間や予算の関係でバックアップが取れない場合も。
    数百~1000台あるVMware Viewのデータストア(数十TB)とか。
    # サーバグレードじゃなくていいので作業前くらいSATAの安いHDDに取らせて貰えないかな……。

    • by Anonymous Coward

      時間と金をかけらんないからバックアップしない、
      ってのがよいケースもあるでしょう。
      あなたの環境や、KDEがどうなのかは知りませんが。
      別のコメントにもあるように、コピーを持ってる個人は
      山ほどいるわけだから最悪それでいいやとかいう方針
      だった可能性もあるのかな。

  • by racco (37699) on 2013年03月29日 12時32分 (#2352719)

    10日前のミラーがある

    多分、同様の人は探せばいくらでもいると思うが、、
    山ほど開発している人がいるわけで。

    • Re:うちに (スコア:2, すばらしい洞察)

      by Anonymous Coward on 2013年03月29日 12時50分 (#2352747)

      ミラーは山ほどあるだろうけど、ファイルの正統性を確認するのが大変そう。

      #異なるデータがあったときは多数決?

      親コメント
      • by Anonymous Coward

        そこだよなぁ
        毒入れされてないことを絶対的にどう保障する気なんだかと

      • by Anonymous Coward

        どこかの安定バージョンのアーカイブではハッシュ取ってるだろうから、
        そこからの差分でちまちま検証するしかないか。

        • by Anonymous Coward

          他のものなら大問題になっただろうけど、ソースコードはgit/hgなどのバージョン管理ソフトを使っていれば、「ダウンロードした状態」に戻すのは簡単じゃないかな。

        • by Anonymous Coward

          gitなんだからすべてのコミットには自動的にハッシュがついてるよ。P=NPを証明でもしない限り破るのは不可能。

    • by minet (45149) on 2013年03月29日 12時56分 (#2352757) 日記

      そりゃまあ、何処かの誰かが最近の完全コピーを持っている可能性は高かったと思うけど、
      公式にバックアップがなかったことが問題なのでは。

      親コメント
      • Re:うちに (スコア:4, 参考になる)

        by Anonymous Coward on 2013年03月30日 1時29分 (#2353250)

        リンク先にも書いてあるけど、公式にバックアップはあったよ。
        消失しかけたのは、問題が起きる直前のレポジトリ、常に多数の開発者によって変更が加えられるから。
        定期的なバックアップに差し替えるのはかなり手間がかかるって話。

        親コメント
    • by Anonymous Coward

      最近のバージョンだけならともかく、100日前のミラー、101日前のミラー、…と
      リポジトリを復旧できるほど「いくらでもいる」とは思えません。

      • by Anonymous Coward

        普通に分散バージョン管理システムを使ってたら、最新のバージョンだけじゃなくて過去の履歴も含めてローカルにコピーされてると思うのだけど。

  • by Anonymous Coward on 2013年03月29日 14時22分 (#2352838)

    http://jefferai.org/2013/03/24/screw-the-mirrors/ [jefferai.org]
    ・不完全ではあるがバックアップはあった
    ・リソースが少ないのでバックアップへどこまで投資すべきか
    ・30日分900Gが必要?ZFSのスナップショットでいく?

    • by Anonymous Coward on 2013年03月29日 14時27分 (#2352841)

      そうそう。重要な情報を追加。
      ファイルシステムの破損は2/22から始まっていたらしい。
      だから最低30日程度は前のバックアップが必要になるねって話。
      #セキュリティアップデートなかったらと考えると90日2.7Tくらいはほしいところなのかな。

      親コメント
    • by Anonymous Coward

      ZFS……NexentaStorがアップをはじめましたね。
      Solarisは、KDEを歓迎します(^o^)?

  • by Anonymous Coward on 2013年03月29日 11時56分 (#2352680)

    KDEもQt同様Gitoriousに移転しよう。

  • by Anonymous Coward on 2013年03月29日 12時07分 (#2352690)

    怖いもの見たさで喪失後の慌てぶりや対応ぶりを見てみたい気もする・・・

    # 「~障害により。たまたま~」 なんすかこれ?

  • by Anonymous Coward on 2013年03月29日 12時18分 (#2352702)

    手動でバックアップをとるのも大切なのね

    • by Anonymous Coward

      というより、「ただのミラーリングはバックアップたり得ない」ということかと。

      • by Anonymous Coward

        オフサイトコピーとスナップショットを取れ

  • by Anonymous Coward on 2013年03月29日 13時46分 (#2352815)

    もって他山の石とせよ。

    というわけで、みなさんの知っているバックアップの要件を教えてください。「こんな工夫をしていた」というアイディアなんかも。

    • Re:建設的に行こう (スコア:4, おもしろおかしい)

      by Anonymous Coward on 2013年03月29日 14時04分 (#2352828)

      書類.xls
      書類.xls.bak
      書類_バックアップ.xls
      ★書類最新版.xls
      書類(レビュー待ち).xls
      書類_sav.xls
      本当の最新版_書類.xls

      親コメント
    • by Anonymous Coward

      zip最強

      • Re:建設的に行こう (スコア:3, おもしろおかしい)

        by Anonymous Coward on 2013年03月29日 14時03分 (#2352827)
        最新版.zip
        最終版.zip
        納品版.zip
        完全版.zip
        親コメント
        • by Anonymous Coward

          それだとソートできない。{prefix}{date}{option}.zipでファイナルアンサー

          • by Anonymous Coward

            古今和歌集
            続古今和歌集
            新続古今和歌集

            昔の日本人も考えることは一緒か

        • by Anonymous Coward

          納品版よりタイムスタンプが新しいものがあると血の気が引きますな。
          特に「最新」とかの名前が付いてると。

  • by Anonymous Coward on 2013年03月29日 14時49分 (#2352859)

    まだなんとかなったんじゃないか、というのは素人考えかな?
    ミラーリングと違って、壊れた状態のデータをgit pushなんてできないから。

  • by Anonymous Coward on 2013年03月29日 19時39分 (#2353037)

    以前M$の鯖がクラッシュした時にLinuxを使っていたらこんな事故は起こらなかった。との多数のご指摘がありました。

    この組織もLinuxを使っていたらよかったのにね。

    • by Anonymous Coward

      ext2の頃は頻繁にファイルが消失していたから警戒していたので大きなトラブルがなかった。
      ext4になったら心配がなくなったので、緊張感がなくなり、かえってトラブルが増えた。

    • by Anonymous Coward

      microsoftがHyper-Vでlinuxをサポートしているご時世にそんなこと言われてもな。
      ホストサーバーがWindowsである可能性は無いわけでもない。

  • by Anonymous Coward on 2013年03月29日 19時43分 (#2353039)

    たまに消えて書きなおしたほうがコードの質が上がる気がするする。

    対策ってなんだ 振り向かないことさ

    • by Anonymous Coward

      リファクタリングの新しい手段としてクラッシュが追加されました。

typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...