「ディスクのクローン」の版間の差分
(同期) |
(→ddrescue を使う: 情報を更新) |
||
28行目: | 28行目: | ||
=== ddrescue を使う === |
=== ddrescue を使う === |
||
+ | 可能であれば、ディスクからのデータリカバリは、ネイティブインターフェイスを使用して実行する必要があります。SATA または古いドライブの場合は IDE です。USB アダプターを使用すると、結果が異なる場合があります。 |
||
− | {{pkg|ddrescue}} は、データの複製と復元のために設計されたツールです。あるファイルやブロックデバイス(ハードディスクや cdrom など)から別のデバイスにデータをコピーし、読み取りエラーが発生した場合は、無事な部分を最初に救い出すようにして、復元データを最大化します。 |
||
+ | |||
+ | GNU {{Pkg|ddrescue}} は、読み取りエラーを無視できるデータ回復ツールです。''ddrescue'' は、あるデバイスから別のデバイスにデータをコピーするために両方を使用できることを除いて、dd とはまったく関係がありません。主な違いは、''ddrescue'' は洗練されたアルゴリズムを使用して故障したドライブからデータをコピーし、追加の損傷を可能な限り少なくすることです。詳細は [https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html ddrescue マニュアル] を参照してください。 |
||
故障したり死にかけているドライブのクローンを作るには、''ddrescue'' を2回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを {{ic|rescue.map}} にマッピングします。 |
故障したり死にかけているドライブのクローンを作るには、''ddrescue'' を2回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを {{ic|rescue.map}} にマッピングします。 |
||
− | # ddrescue -n /dev/sd''X'' /dev/sd''Y'' rescue.map |
+ | # ddrescue --force -n /dev/sd''X'' /dev/sd''Y'' rescue.map |
− | ここで{{ic|''X''}} は |
+ | ここで {{ic|''X''}} はソースのパーティションであり、{{ic|''Y''}} はコピー先の [[デバイスファイル#ブロックデバイス|ブロックデバイス]] のパーティションレターです。 |
2回目では、不良ブロックだけをコピーして、ソースからの読み込みを3回試してからあきらめます。 |
2回目では、不良ブロックだけをコピーして、ソースからの読み込みを3回試してからあきらめます。 |
||
− | # ddrescue -d -r3 /dev/sd''X'' /dev/sd''Y'' rescue.map |
+ | # ddrescue --force -d -r3 -n /dev/sd''X'' /dev/sd''Y'' rescue.map |
+ | |||
+ | 状況によっては、特定のセクタを読み取ろうとしているときに、ディスク コントローラまたは USB アダプタがロックすることがあります。{{ic|-i}} オプションを使用して、''ddrescue'' にその位置の後で読み取りを開始するように指示できます。 |
||
− | + | これで、ファイルシステムの破損をチェックし、新しいドライブをマウントできます。 |
|
# fsck -f /dev/sd''Y'' |
# fsck -f /dev/sd''Y'' |
2023年3月7日 (火) 20:14時点における版
ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。バックアップやリカバリ用に他のコンピューターにドライブをコピーするのに役立ちます。
目次
ブロックレベルのクローニング
dd を使う
dd#ディスクの複製と復元を参照してください。
ddrescue を使う
可能であれば、ディスクからのデータリカバリは、ネイティブインターフェイスを使用して実行する必要があります。SATA または古いドライブの場合は IDE です。USB アダプターを使用すると、結果が異なる場合があります。
GNU ddrescue は、読み取りエラーを無視できるデータ回復ツールです。ddrescue は、あるデバイスから別のデバイスにデータをコピーするために両方を使用できることを除いて、dd とはまったく関係がありません。主な違いは、ddrescue は洗練されたアルゴリズムを使用して故障したドライブからデータをコピーし、追加の損傷を可能な限り少なくすることです。詳細は ddrescue マニュアル を参照してください。
故障したり死にかけているドライブのクローンを作るには、ddrescue を2回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを rescue.map
にマッピングします。
# ddrescue --force -n /dev/sdX /dev/sdY rescue.map
ここで X
はソースのパーティションであり、Y
はコピー先の ブロックデバイス のパーティションレターです。
2回目では、不良ブロックだけをコピーして、ソースからの読み込みを3回試してからあきらめます。
# ddrescue --force -d -r3 -n /dev/sdX /dev/sdY rescue.map
状況によっては、特定のセクタを読み取ろうとしているときに、ディスク コントローラまたは USB アダプタがロックすることがあります。-i
オプションを使用して、ddrescue にその位置の後で読み取りを開始するように指示できます。
これで、ファイルシステムの破損をチェックし、新しいドライブをマウントできます。
# fsck -f /dev/sdY
ファイルシステムのクローン
e2image を使う
e2image は e2fsprogs にデバッグ用として含まれているツールです。使用ブロックのみをコピーして効率的に ext2, ext3, ext4 パーティションをコピーできます。e2image が使えるのは ext2, ext3, ext4 ファイルシステムだけです。未使用ブロックはコピーされないため、削除したファイルを復元するのには役に立ちません。
e2image を使って、物理ディスク /dev/sda
の1番目のパーティションを物理ディスク /dev/sdb
の1番目のパーティションに複製するには:
# e2image -ra -p /dev/sda1 /dev/sdb1
汎用性の高いクローニングソリューション
以下のアプリケーションはファイルシステム全体をバックアップして、故障したときに簡単に復元することができます。ほとんどが Live CD や USB ドライブとして使えます。1つまたは複数の特定の時点での完全なシステムイメージが含まれており、既存の良い設定を記録するときによく使われます。これらの比較については Wikipedia:Comparison of disk cloning software を参照してください。
完全なシステムバックアップを作成できる他のアプリケーションについてはバックアッププログラムを参照してください。
- Arch Backup — シンプルな設定を使用する平凡なバックアップスクリプト。
- 圧縮方法を設定可能。
- 複数の場所にバックアップ。
- Clonezilla — 障害復旧、ディスククローン、ディスクイメージング、デプロイメントソリューション。
- 完全なバックアップとリカバリソリューション:ブートセクタ、ブートローダ、パーティションテーブルを含むドライブ全体のイメージと復元が可能です。
- BIOS と UEFI、MBR と GPT をサポートします。
- ライブ CD, USB フラッシュドライブ, PXE サーバーから起動。
- ほとんどのファイルシステム (ext2-3-4、reiserfs、reiser4、xfs、jfs、btrfs、f2fs、FAT12-16-32、NTFS、HFS+、UFS など) と LVM2 をサポート。
- Partclone (デフォルト)、Partimage (オプション)、ntfsclone (オプション) を使用する場合は空き領域を認識し、それ以外の場合は dd にフォールバックしてブロックレベルのコピーを行います (dm-crypt/LUKS コンテナー、サポートされていないファイルシステムなど。)
- さまざまな形式 (zstd を含む) とレベルのマルチスレッド圧縮をサポート。
- バックアップの暗号化をサポート。
- 多数のマシンを一度にリストアするマルチキャストサーバー。
- Arch Linux のインストールメディアに同梱されています。
- Deepin Clone — Deepin によるバックアップとリストアのツール。ディスクまたはパーティションのクローン作成、バックアップ、リストアをサポートします。
- FSArchiver — 安全で柔軟性のあるファイルシステムバックアップ・デプロイメントツール
- 基本的なファイル属性をサポート (パーミッション, 所有者, ...)。
- ひとつのアーカイブで複数のファイルシステムをサポート。
- (SELinux によって使われる)拡張属性のサポート。
- 全ての Linux ファイルシステムで共通のファイルシステム属性をサポート (ラベル, uuid, ブロックサイズ)。
- NTFSファイルシステム をサポート(Windowsパーティションの柔軟なクローンを作成する機能)。
- アーカイブに書き込まれたデータのチェックサムを作成 (ヘッダ, データブロック, ファイル全体)。
- 破損しているアーカイブの復旧ができます (作業ファイルをスキップ)。
- lzo, gzip, bzip2, lzma のマルチスレッド圧縮。
- 巨大なアーカイブを複数のファイルに分割することでファイルの最大容量を固定することができます。
- パスワードによるアーカイブの暗号化。OpenSSL の libcrypto による blowfish を使用。
- マウントされている root ファイルシステムのバックアップのサポート (
-A
オプション)。 - System Rescue CDに同梱されています。
- Mondo Rescue — バックアップメディアを作成する障害復旧ソリューション。損害を受けたシステムを再配置することができます。
- イメージベースのバックアップ。Linux/Windows をサポート。
- 圧縮率は調整可能。
- ライブ環境をバックアップできます (システムを止める必要がありません)。
- イメージを多数のファイルに分割可能。
- Live CD で起動することで完全なリストアが出来ます。
- NFS, CD, テープドライブなどのメディアからバックアップ・リストアできます。
- バックアップの検証ができます。
- Partclone — 使用しているブロックだけを考慮してパーティションをバックアップ・リストアできるツール。
- ext2, ext3, ext4, hfs+, reiserfs, reiser4, btrfs, vmfs3, vmfs5, xfs, jfs, ufs, ntfs, fat(12/16/32), exfat, f2fs, nilfs をサポート。
- 特別な機能 (圧縮、暗号化など) をスクリプト化するためのパイプ、標準入力、および標準出力をサポートします。
- レスキューモードでは、不良ブロックをスキップして正常なブロックのみをバックアップしようとします。ソース デバイスから GNU Ddrescue ドメイン ログ ファイルを作成するオプション。
- ncurses インターフェイスが利用可能。
- バックアップされたすべてのブロックは、crc32 でチェックサムされます。
- Arch Linux インストール メディアに含まれています。
- Partimage — Linux/UNIX 環境向けの ncurses ディスク複製ユーティリティ。
- ライブ CD が存在します。
- Linux, Windows, macOS の最も一般的なファイルシステムをサポート。
- 圧縮。
- Samba/NFS を使用してネットワーク経由で保存したり複数の CD や DVD に保存できます。
- 開発は停止して FSArchiver に移っています。
- J7Z — Linux 向けの JavaによるGUIでデータの圧縮やバックアップを楽にします。7z, BZip2, Zip, GZip, Tar アーカイブを作成することができます。
- 既存のアーカイブを素早くアップデート。
- 複数のフォルダを一つのストレージにバックアップ。
- 保護されたアーカイブを作成・展開。
- アーカイブのプロファイル・リストを使うことで負担を軽減。
- http://j7z.xavion.name/ || j7zAUR
- Redo Backup and Recovery — Linux CD ブータブルイメージから実行できるバックアップ・障害復旧アプリケーション。
- System Tar & Restore — tar を使ったシステムのバックアップとリストア、または rsync による転送。
- GUIおよびCLIインターフェース。
- .tar.gz, .tar.bz2, .tar.xz, .tar アーカイブを作成。
- openssl / gpg 暗号化をサポート。
- rsync を使って実行中のシステムを転送。
- Grub2, Syslinux, EFISTUB/efibootmgr, Systemd/bootctl をサポート。