ちょっとした絵文字がどれほどの問題を引き起こす可能性があるでしょうか?それは考えられないでしょう。この絵文字は、アメリカの古典的なテレビ シリーズ「フレンズ」(「シックス」としても知られています)の第 9 シーズンの第 20 話から来ています。ジェニファー・アニストン演じるレイチェルは、メロドラマ・パーティーが屋上で開催されると聞き、すぐに歓声を上げました。サイズはわずか 1.6 MB ですが、ネチズンの間で非常に人気があるため、Discourse と呼ばれるソーシャル プラットフォームで 246,173 回使用されています。
使用されるたびに繰り返しバックアップが行われ、最終的には 377 GB の冗長バックアップと 240,000 を超えるハード リンクが形成され、Linux ファイル システムの容量制限を直接突破し、バックアップ メカニズムが失敗します。

Discourse は、オープン ソース ソフトウェア プロジェクトとして、22,000 を超えるオンライン コミュニティに技術サポートを提供しています。リアルタイムチャット機能では、絵文字やGIFアニメーションの挿入をサポートしています。
ただし、特別な「安全なアップロード」メカニズムがあります。プライベート メッセージからパブリック投稿への転送など、さまざまなセキュリティ シナリオ間でファイルを移動すると、システムはランダムな SHA1 暗号化値を使用して新しいコピーを生成します。ファイルはまったく変更されていませんが、Discourse はそれを新しいファイルとして扱います。
したがって、人気のある画像や絵文字が投稿、転送、プライベート メッセージで継続的に拡散されると、そのたびに新しいコピーが生成されます。

実際、Discourse は、重複ファイルによって圧倒されるという問題を以前から認識していました。最初の解決策は、ファイルのハッシュ値を通じて元のファイルを追跡することでした。バックアップする場合、アップロードされたファイルはハッシュ値ごとにグループ化されます。各グループの最初のファイルのみがダウンロードされ、重複したファイルにはハード リンクが作成されます。
見た目は良くてエレガントですが、Discourse Linux システムは最も一般的で最も古いものを使用しています。ext4 ファイル システムは、最大 16 TB の単一ファイルと 1EB ファイル システムをサポートしますが、各ファイルで許可されるハード リンクは最大 65,000 個のみです。
したがって、Discourse ソリューションでは、240,000 を超える重複ファイルを 1 回だけダウンロードすることはできません。上限に達した後、最初のダウンロードに加えて、システムは約 181,000 件の追加のバックアップ ダウンロードも実行しました。
つまり、システムをクラッシュさせるのは、巨大なバックアップ ファイルではなく、異常な数のハード リンクです。

幸いなことに、言説はついに完璧な解決策を見つけました。アイデアはハードリンクを作成することでした。ただし、ファイル システムが「リンクが多すぎます」という EMLINK エラー メッセージを表示すると、対応するファイルをローカルにコピーし、新しいファイルを「マスター ファイル」として設定します。これに基づいて、リンク制限に再び達するまでハード リンクの作成が続けられました。
Discourse は、この新しい対策がすべてのファイル システムで機能し、追加の構成が必要ないことに非常に満足しています。
ファイル システムを変更できない限り、これはまったく問題ありません。

最後に、ディスコースも冗談を言いました。ジェニファー・アニストンもサーバーのストレスをテストできることがわかりました。
