ファイル システムとスナップショット領域のサイズの不一致に対処する方法
この記事では、ファイル システムとスナップショット領域のサイズが一致しない場合の対処方法を、具体的な手順に焦点を当てて紹介します。この記事の内容はコンパクトなので、皆さんに何かを得ることができれば幸いです。
ファイル システムとスナップショットのスペース サイズが一致しないのはなぜですか?
あるユーザーから相談を受けたところ、ECS インスタンス内のファイルを削除してスナップショットを取得してもスナップショットの容量が減らないことがわかりました。この現象の理由は、スナップショットの原理と、ファイル システム、ディスク、スナップショットの関係に関係しています。つまり、データ ストレージ ブロック (Block) が書き込まれている限り、データ ブロックは削除されます。ディスク内の関連ファイルが削除されている場合でもスナップショットに記録されるため、スナップショットはディスクよりも多くのスペースを占有します。ファイル システムでのいわゆる削除は、削除する必要があるファイルのヘッダーにマークを付けて、この領域が使用可能であることをユーザーに知らせるだけであり、ディスク自体が占有する領域は減少しません。
ファイル システムとスナップショットのスペース サイズが一致しないのはなぜですか?
ユーザーがインスタンス内で見るのはディスク (EBS) であり、ディスク パーティション上に作成されるのはファイル システム (ファイル システム) です。ファイル システムはディスク領域の管理を担当し、その操作は最終的にディスク I/O 要求に変換されます。 EBS は、ブロックのステータス (ディスクの論理ブロック アドレスがブロック ストレージによって同じサイズのブロックに分割されていることを指します) を記録し、ダーティ データをオンデマンドで OSS にコピーします。これは、スナップショットを作成するプロセスです。
次の理由により、ファイル システムの領域がスナップショットのサイズと一致しない可能性があります。
ファイル システム自体のメタデータがディスク領域を占有します。
ファイル システムを作成するプロセスでは、大量のブロックが書き込まれます。特に、Windows の低速フォーマットでは大量のダーティ ブロックが書き込まれますが、高速フォーマットを使用すると、書き込まれるブロックの数を減らすことができます。
オーバーヘッドを削減するために、ファイル システムは削除時にファイルを内部的にマークするだけですが、EBS はこの削除命令を認識せず、ブロックはまだ割り当てられているため、この部分は引き続きスナップショットに含まれます。 、その結果、「スナップショットはファイル システムよりも大きいです」という結果になります。
Virtio-block、Xen の Block-front、およびその他のモジュールは、TRIM 命令 (LBA 上の特定のデータを使用しなくなり削除できるように促す IO 命令) をサポートしていないため、ディスクはデータを削除できることを認識できません。
スナップショット作成の原理
スナップショット作成の原理を次の図に示します。
手順:
ディスク LBA (論理ブロック アドレス) をブロックに分割します。割り当てられていないものは空ブロックと呼ばれ、図の小さな白いボックスで表されます。
ブロックが書き込まれている限り(割り当てられ、空のブロックではなくなる)、ブロックは測定に参加します。
ディスクの最初のスナップショットはボリューム全体であり、空のブロックはコピーされません。
ディスクの後続のスナップショットは増分スナップショットであり、前のスナップショット以降の増分ダーティ データをコピーするため、同じブロックの異なるスナップショットに複数のバージョンが存在する可能性があります (図では異なる色で示されています)。
#スナップショットの測定方法
上図に示すように、スナップショットには 11 個のブロックがあります。ディスク T2 には 9 ブロックのうちさらに 2 ブロックがあります。 単一ディスクのすべてのスナップショットを全体として測定します。 割り当てられたブロックのみが測定されます。異なる時点の同じバージョンのブロックは 1 回だけカウントされます。 ブロックの異なるバージョンは N 倍のスペースを占有します。スナップショット削除の原理
スナップショット削除の原理を次の図に示します。 説明: 削除されたスナップショットのすべてのブロックをオフラインで分析し、他のスナップショットによって参照されていないデータを削除します。 S1 を削除した後、残りのスナップショットには 8 ブロック (S0 から 6 つ、S2 から 2 つ) ではなく、合計 10 ブロック (S0 から 6 つ、S1 によって生成されたダーティ データ 2 つ、S2 から 2 つを含む) が含まれます。 )。「データ書き込み操作」の正確な定義
まず概念、基礎となる分布を明確にします。従来のストレージ システムでは、「データ書き込み操作」とは、ユーザーが書き込むビジネス データを意味するだけでなく、ディスクのフォーマットなどの一連の I/O 操作も含まれます。 ユーザーがディスクを入手した後、通常に使用できるようにするには、フォーマットする必要があります。フォーマットの本質は、ファイル システムを確立するプロセスです。パーティションまたはディスクをファイル システムとして使用する前に、パーティションまたはディスクを初期化し、データ構造をディスクに記録する必要があります。このプロセスはファイル システムの確立と呼ばれます。 したがって、ディスク上にファイル システムを確立するということは、ディスクにデータを書き込むことを意味します。ファイル システムが異なれば、フォーマット時のファイル サイズも異なります。詳細は次のとおりです。 Windows システムのフォーマットは、高速フォーマットと通常フォーマットに分かれています。クイック フォーマットは、ファイル システムをパーティションに割り当て、ディレクトリ テーブルを書き換えるだけです。
通常のフォーマットは、上記の作業を実行するだけでなく、パーティションをセクタごとにスキャンして不良セクタを特定し、マークします。
したがって、通常のフォーマット操作はディスクの空のブロックを埋めることになり、これはディスク全体に書き込むことと同じになります。この場合、最初の完全なスナップショットのサイズはほぼディスク容量になります。クイック フォーマットが占有する実際のスペースは比較的小さいです。
Linux システムのフォーマットは、ファイル システムを確立するプロセスでもあります。したがって、ディスクがフォーマットされたばかりで、ユーザーがビジネス データを書き込んでいない場合、最初のスナップショットにも、さまざまなファイル システム形式に応じて一定の容量が含まれます。
以上がファイル システムとスナップショット領域のサイズの不一致に対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

nginと同様に、APSChedulerタイミングタスクをサービスとして構成する場合、APSChedulerタイミングタスクをMACOSプラットフォームでサービスとして構成します...

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

Linux Systemsに付属するPythonインタープリターを削除する問題に関して、多くのLinuxディストリビューションは、インストール時にPythonインタープリターをプリインストールし、パッケージマネージャーを使用しません...

web.xmlファイルを開くには、次の方法を使用できます。テキストエディター(メモ帳やテキストエディットなど)を使用して、統合開発環境(EclipseやNetBeansなど)を使用してコマンドを編集できます(Windows:Notepad web.xml; Mac/Linux:Open -A Textedit Web.xml)

Linuxは、サーバー管理、組み込みシステム、デスクトップ環境として最適です。 1)サーバー管理では、LinuxはWebサイト、データベース、アプリケーションをホストするために使用され、安定性と信頼性を提供します。 2)組み込みシステムでは、Linuxは柔軟性と安定性のため、スマートホームおよび自動車電子システムで広く使用されています。 3)デスクトップ環境では、Linuxは豊富なアプリケーションと効率的なパフォーマンスを提供します。

DebianLinuxは、その安定性とセキュリティで知られており、サーバー、開発、デスクトップ環境で広く使用されています。現在、DebianとHadoopとの直接的な互換性に関する公式の指示が不足していますが、この記事では、DebianシステムにHadoopを展開する方法について説明します。 Debianシステムの要件:Hadoop構成を開始する前に、DebianシステムがHadoopの最小動作要件を満たしていることを確認してください。これには、必要なJavaランタイム環境(JRE)とHadoopパッケージのインストールが含まれます。 Hadoop展開手順:Hadoopをダウンロードして解凍:公式ApachehadoopのWebサイトから必要なHadoopバージョンをダウンロードして解決します
