ホームページ  >  記事  >  運用・保守  >  オープンソース ツール Extundelete を使用して、誤って削除したデータを迅速に復元する方法

オープンソース ツール Extundelete を使用して、誤って削除したデータを迅速に復元する方法

坏嘻嘻
坏嘻嘻オリジナル
2018-09-19 13:43:252346ブラウズ

この記事の内容は、オープンソース ツール Extundelete を使用して、誤って削除されたデータを迅速に回復する方法に関するものです。必要な方は参考にしていただければ幸いです。

ファイルを誤って削除した後にデータを復元する方法

日常の使用では、必然的にデータが誤って削除されることがあります。この時点でデータを迅速かつ効果的に復元するにはどうすればよいでしょうか。 Alibaba Cloud 上のデータを復元するには、Alibaba Cloud コンソールを使用したバックアップされたスナップショットのロールバック、カスタム イメージのリカバリなど、さまざまな方法があります。

ビジネスの負荷分散と高可用性を実現するには、複数の ECS を購入します。

オブジェクト ストレージ OSS (オブジェクト ストレージ サービス) を使用して、静的な Web ページや大量の画像、ビデオ、その他の重要なデータを保存します。

このドキュメントでは、主に CentOS7 オペレーティング システムを例として使用し、オープン ソース ツール Extundelete を使用して、誤って削除したデータを迅速に復元する方法を紹介します。

Linux には、debugfs、R-Linux、ext3grep、extundelete などのオープン ソース データ回復ツールが多数あります。これら 2 つのツールの回復原理は、より一般的に使用されます。基本的には同じですが、extundelete の方が強力です。

Extundelete は、Linux ベースのオープンソース データ回復ソフトウェアです。 Alibaba Cloud のクラウド サーバーを使用する場合、データを誤って削除してしまった場合、Linux システムには Windows システムのごみ箱に似た機能がないため、このツールをすばやく簡単にインストールできます。

Extundelete は、ログと組み合わせた i ノード情報を使用して、必要なデータを検索して回復するために i ノードのブロックの場所をクエリできます。このツールの最も強力な点は、ext3/ext4 デュアルフォーマット パーティションの回復をサポートしていることです。ディスク全体のリカバリ機能は比較的強力です。

データを誤って削除した後、最初に行うことは、削除されたデータが存在するディスクまたはディスク パーティションをアンインストールすることです。位置した。 。ファイルを削除した後、ファイルの inode ノードのセクター ポインタのみがクリアされ、実際のファイルはディスクにまだ保存されているため、ディスクが読み取り/書き込みモードでマウントされている場合、これらの削除されたファイルのデータ ブロックが残る可能性があります。オペレーティング システムがデータを再割り当てし、これらのデータ ブロックが新しいデータで上書きされると、データは実際に失われ、回復ツールは回復できなくなります。したがって、ディスクを読み取り専用モードでマウントすると、データ ブロック内のデータが上書きされるリスクを最小限に抑え、データ回復が成功する可能性が高まります。

注: 実際のオンライン回復プロセス中は、誤って削除したファイルが存在するハードディスクに extundelete をインストールしないでください。これにより、復元する必要のあるデータが完全に上書きされる可能性があります。操作の前にスナップショットのバックアップを作成します。

対象となる対象ディスク上のファイルを誤って削除し、ディスクへの書き込み等の操作を行っていないユーザー

Web サイトへのアクセスが少なく、ECS インスタンスの数が少ないユーザー

使用方法インストールするソフトウェアとバージョン: e2fsprogs-devel e2fsprogs gcc-c make (コンパイラなど) Extundelete-0.2.4

注: extundelete を実行するには libext2fs バージョン 1.39 以降が必要ですが、ext4 をサポートするには、e2fsprogs バージョン 1.41 以降が必要です (コマンド「dumpe2fs」を実行して実行し、出力されたバージョンを記録します)

注: 上記のバージョンは、ドキュメントが作成されたときのソフトウェアのバージョンです。ダウンロードしたバージョンは異なる場合があります。

extundelete ツールをデプロイします

wget  http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
yum -y install  bzip2  e2fsprogs-devel  e2fsprogs  gcc-c++  make    #安装相关依赖和库
tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4                                #进入程序目录
./configure                                         #如下图表示安装成功
make && make install
この時点で、extundelete 実行可能ファイルとそれに対応するパスが表示されます。実際、以下に示すように、デフォルトのファイルは usr/local/bin にインストールされており、次のデモは usr/local/bin ディレクトリにあります。

extundelete を使用してデータを誤って削除してから回復するプロセスをシミュレートします

1. ECS の既存のディスクと利用可能なパーティションを確認し、/dev/vdb のパーティションとフォーマットを行いますが、これは対象外です。ここでは、ディスク パーティションのフォーマット方法を紹介します。方法がわからない場合は、この文書をクリックして操作方法「データ ディスクのフォーマットとマウント」を参照してください。

fdisk -l

2. パーティション分割されたディスクを /zhuyun ディレクトリにマウントし、/zhuyun の下に新しいテスト ファイル hello を作成し、test を書き込みます。

mkdir /zhuyun                                #新建zhuyun目录
mount /dev/vdb1 /zhuyun                      #将磁盘挂载到zhuyun目录下
echo test > hello                            #写入测试文件

3. ファイルの MD5 値を記録します。md5sum コマンドは、削除前と復元後の 2 つのファイルの md5 値を生成および確認するために使用されます。

md5sum hello

4. hello ファイルの削除をシミュレートします。

rm -rf hello
cd ~
fuser -k /zhuyun                     #结束使用某分区的进程树(确认没有资源占用的话,可以跳过此步)

5. データ ディスクをアンマウントします。

umount /dev/vdb1                     #任何的文件恢复工具,在使用前,均要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用

6. Extundelete ツールを使用してファイルを回復します。

extundelete --inode 2 /dev/vdb1      #为查找某i节点中的内容,使用2则说明为整个分区搜索,如果需要进入目录搜索,只须要指定目录I节点即可。这是可以看到删除的文件名和inode
/usr/local/bin/extundelete  --restore-inode 12  /dev/vdb1    #恢复删除的文件

このとき、コマンドを実行したディレクトリと同じ階層にRECOVERED_FILESディレクトリが表示されますので、復元されているか確認してください。

前後 2 つのファイルの md5 値を確認します。同じことは、回復が成功したことを示しています。

注:

--restore-inode 12                  # --restore-inode 按指定的I节点恢复
--extundelete --restore-all         # --restore-all   全部恢复

以上がオープンソース ツール Extundelete を使用して、誤って削除したデータを迅速に復元する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。