「ディスクのクローン」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎dd を使う: 情報を更新)
 
(6人の利用者による、間の30版が非表示)
2行目: 2行目:
 
[[Category:システムリカバリ]]
 
[[Category:システムリカバリ]]
 
[[en:Disk cloning]]
 
[[en:Disk cloning]]
[[it:Disk Cloning]]
+
[[es:Disk cloning]]
[[ru:Disk cloning]]
+
[[pt:Disk cloning]]
  +
[[zh-hans:Disk cloning]]
[[tr:Disk_klonlama]]
 
  +
{{Related articles start}}
[[zh-cn:Disk cloning]]
 
  +
{{Related|バックアッププログラム}}
ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。[[バックアッププログラム|バックアップ]]や[[ファイルリカバリ|リカバリ]]用に他のコンピューターにドライブをコピーするのに役立ちます。
 
  +
{{Related|システムメンテナンス#バックアップ}}
  +
{{Related|Rsync によるフルシステムバックアップ}}
  +
{{Related articles end}}
  +
ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。[[バックアッププログラム|バックアップ]] や [[ファイルリカバリ|リカバリ]] 用に他のコンピューターにドライブをコピーするのに役立ちます。
   
  +
{{Note|論理セクタサイズが異なる [[Advanced Format|ドライブ]] 間のディスククローニングはお勧めしません。
== dd を使う ==
 
   
  +
* 論理セクタサイズが小さいドライブ (例:4096バイトから512バイト) への移行は、セクタ番号でパーティション境界を指定するため、パーティションテーブルの再作成が必要です。
dd コマンドはシンプルでありながら、多目的に使える強力なツールです。ファイルシステムのタイプやオペレーティングシステムとは関係なく、ブロックごとに、コピーを行うことができます。ライブ CD などの、ライブ環境から dd を使用すると便利です。
 
  +
* ファイルシステムのブロックサイズが対象ドライブの論理セクタサイズより小さいか、割り切れない場合、論理セクタサイズの大きいドライブ (例:512バイトから4096バイト) への移動ができない場合があります。
 
{{Warning|
 
* This paragraph used to contain several errors that misrepresented the inner workings of the dd command. I tried to fix them, but YMMV.
 
* As with any command of this type, you should be very cautious when using it; it can destroy data. Remember the order of input file ({{ic|1=if=}}) and output file ({{ic|1=of=}}) and do not reverse them! Always ensure that the destination drive or partition ({{ic|1=of=}}) is of equal or greater size than the source ({{ic|1=if=}}).
 
 
}}
 
}}
   
  +
{{Tip|時間の経過とともに [[ファイルシステム]] は新しい機能を取得し、[https://wiki.archlinux.org/index.php/File_systems#Create_a_file_system mkfs] ユーティリティはデフォルトを変更しますが、すべての新機能を再フォーマットせずに有効にできるわけではありません。したがって、データを新しいドライブに移動するときは、ブロックデバイスやファイルシステムのクローンを作成する代わりに、新しいファイルシステムを作成し、[[rsync#Full system backup|rsync]] などを使ってファイル (およびその属性、ACL、拡張属性など) のみをコピーすることを検討してください。}}
=== パーティションのクローン ===
 
   
  +
== ブロックレベルのクローニング ==
物理ディスク {{ic|/dev/sda}} のパーティション 1 を、物理ディスク {{ic|/dev/sdb}} のパーティション 1 に複製。
 
# dd if=/dev/sda1 of=/dev/sdb1 bs=512 conv=noerror,sync
 
   
  +
=== dd を使う ===
{{Warning|If output file {{ic|1=of=}} ({{ic|sdb1}} in the example) does not exist, dd will create a file with this name and will start filling up your root file system.}}
 
   
  +
[[dd#ディスクの複製と復元]] と [[Core utilities#dd の代替]] を参照してください。
=== ハードディスク全体のクローン ===
 
   
  +
=== ddrescue を使う ===
物理ディスク {{ic|/dev/sd''X''}} を物理ディスク {{ic|/dev/sdY}} に複製:
 
# dd if=/dev/sd''X'' of=/dev/sd''Y'' bs=512 conv=noerror,sync
 
   
  +
可能であれば、ディスクからのデータリカバリは、ネイティブインターフェイスを使用して実行する必要があります。SATA または古いドライブの場合は IDE です。USB アダプターを使用すると、結果が異なる場合があります。
このコマンドは MBR (とブートローダー)、全てのパーティション、UUID、データを含めディスクの全てを複製します。
 
* {{ic|noerror}} は読み取りエラーを全て無視して操作を続行します。dd のデフォルトの挙動ではエラーがあると dd は動作を停止します。
 
* {{ic|sync}} は読み取りエラーが存在した場合、入力ブロックをゼロで埋めるため、データのオフセットも同期します。
 
* {{ic|1=bs=512}} sets the block size to 512 bytes, the "classic" block size for hard drives. If and only if your hard drives have a 4K block size, you may use "4096" instead of "512". Also, please read the warning below, because there is more to this than just "block sizes" - it also influences how read errors propagate.
 
   
  +
GNU {{Pkg|ddrescue}} は、読み取りエラーを無視できるデータ回復ツールです。''ddrescue'' は、あるデバイスから別のデバイスにデータをコピーするために両方を使用できることを除いて、dd とはまったく関係がありません。主な違いは、''ddrescue'' は洗練されたアルゴリズムを使用して故障したドライブからデータをコピーし、追加の損傷を可能な限り少なくすることです。詳細は [https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html ddrescue マニュアル] を参照してください。
{{Warning|The block size you specify influences how read errors are handled. Read below.}}
 
   
  +
故障したり死にかけているドライブのクローンを作るには、''ddrescue'' を2回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを {{ic|rescue.map}} にマッピングします。
The dd utility technically has an "input block size" (IBS) and an "output block size" (OBS). When you set {{ic|bs}}, you effectively set both IBS and OBS. Normally, if your block size is, say, 1M, dd will read 1M bytes and write 1M bytes. But if a read error occurs, things will go wrong. Many people seem to think that dd will "fill up read errors with zeroes" if you use the {{ic|noerror,sync}} options, but this is not what happens. dd will, according to documentation, fill up the OBS to IBS size, which means adding zeroes at the end of the block. This means, for a disk, that effectively the whole 1M would become messed up because of a single 512 byte read error in the beginning of the read: ERROR6789 would become 678900000 instead of 000006789.
 
   
  +
# ddrescue --force -n /dev/sd''X'' /dev/sd''Y'' rescue.map
If you are positive that your disk does not contain any errors, you could proceed using a larger block size, which will increase the speed of your copying manifold. For example, changing bs from 512 to 64K changed copying speed from 35MB/s to 120MB/s on a simple Celeron 2.7GHz system. But keep in mind, that read errors on the source disk will end up as ''block errors'' on the destination disk, i.e. a single 512 bytes read error will mess up the whole 64k output block.
 
   
  +
ここで {{ic|''X''}} はソースのパーティションであり、{{ic|''Y''}} はコピー先の [[デバイスファイル#ブロックデバイス|ブロックデバイス]] のパーティションレターです。
{{Tip|If you would like to view dd progressing, you can send it a {{ic|USR1}} signal. {{ic|pidof dd}} will tell you the PID of dd, then use {{ic|kill -USR1}}. In one line: {{ic|kill -USR1 $(pidof dd)}}.}}
 
   
  +
2回目では、不良ブロックだけをコピーして、ソースからの読み込みを3回試してからあきらめます。
{{Note|
 
* To regain unique UUIDs of an Ext2/3/4 filesystem, use {{ic|tune2fs /dev/sd''XY'' -U random}} on every partitions.
 
* Partition table changes from dd are not registered by the kernel. To notify of changes without rebooting, use a utility like partprobe (part of GNU parted).
 
}}
 
   
  +
# ddrescue --force -d -r3 -n /dev/sd''X'' /dev/sd''Y'' rescue.map
=== MBR のバックアップ ===
 
   
  +
状況によっては、特定のセクタを読み取ろうとしているときに、ディスク コントローラまたは USB アダプタがロックすることがあります。{{ic|-i}} オプションを使用して、''ddrescue'' にその位置の後で読み取りを開始するように指示できます。
MBR はディスクの頭512バイトに保存されています。MBR は3つの構成部位から成ります:
 
   
  +
これで、ファイルシステムの破損をチェックし、新しいドライブをマウントできます。
# 最初の446バイトにはブートローダーが含まれます。
 
# 次の64バイトにはパーティションテーブルが含まれます (16バイトごとに4エントリ、1つのエントリに1つのプライマリパーティション)。
 
# 最後の2バイトには識別子が含まれます。
 
   
  +
# fsck -f /dev/sd''Y''
MBR を "mbr.img" ファイルに保存するには:
 
# dd if=/dev/sdX of=/path/to/mbr_file.img bs=512 count=1
 
   
  +
== ファイルシステムのクローン ==
リストアするには (be careful: this could destroy your existing partition table and with it access to all data on the disk):
 
# dd if=/path/to/mbr_file.img of=/dev/sdX
 
   
  +
=== e2image を使う ===
ブートローダーだけをリストアして、プライマリパーティションテーブルのエントリはそのままにしたい場合、MBR の最初の446バイトだけをリストアしてください:
 
# dd if=/path/to/mbr_file.img of=/dev/sdX bs=446 count=1
 
   
  +
''e2image'' は {{Pkg|e2fsprogs}} にデバッグ用として含まれているツールです。使用ブロックのみをコピーして効率的に ext2, ext3, ext4 パーティションをコピーできます。e2image が使えるのは ext2, ext3, ext4 ファイルシステムだけです。未使用ブロックはコピーされないため、削除したファイルを復元するのには役に立ちません。
パーティションテーブルだけをリストアするには、次のコマンドを使用します:
 
# dd if=/path/to/mbr_file.img of=/dev/sdX bs=1 skip=446 count=64
 
   
  +
e2image を使って、物理ディスク {{ic|/dev/sda}} の1番目のパーティションを物理ディスク {{ic|/dev/sdb}} の1番目のパーティションに複製するには:
完全な dd ディスクイメージから MBR を取得することもできます:
 
# dd if=/path/to/disk.img of=/path/to/mbr_file.img bs=512 count=1
 
   
  +
# e2image -ra -p /dev/sda1 /dev/sdb1
=== ディスクイメージの作成 ===
 
   
  +
{{Tip|[[GParted]]は ''e2image''を使って効率的に ext2/3/4 パーティションを複製します。}}
1. liveCD や liveUSB から起動。
 
   
  +
=== xfs_copy を使う ===
2. Make sure no partitions are mounted from the source hard drive.
 
   
  +
{{Pkg|xfsprogs}} の {{man|8|xfs_copy}} を使用すると、[[XFS]] ファイルシステムを 1 つ以上のブロックデバイスに並行してコピーできます。
3. Mount the external HD
 
   
  +
{{Note|デフォルトでは、''xfs_copy'' は新しいファイルシステム用に新しい [[UUID]] を生成します。同じ UUID のクローンを作成するには、{{ic|-d}} オプションを使用します。これにより、ディスク交換に​​適した複製ファイルシステムが作成されます。}}
4. Backup the drive.
 
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c > ''/path/to/backup.img.gz''
 
   
  +
{{Tip|XFS のクローンを複数のブロックデバイスに並行して作成するには、それらをすべて {{ic|xfs_copy}} コマンドに追加するだけです。}}
If necessary (e.g. when the format of the external HD is FAT32) split the disk image in volumes (see also split man pages).
 
   
  +
たとえば、{{ic|/dev/sda1}} 上のファイルシステムのクローンを {{ic|/dev/sdb1}} に作成するには、次のコマンドを実行します:
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c | split -a3 -b2G - ''/path/to/backup.img.gz''
 
   
  +
# xfs_copy /dev/sda1 /dev/sdb1
5. Save extra information about the drive geometry necessary in order to interpret the partition table stored within the image. The most important of which is the cylinder size.
 
# fdisk -l /dev/sd''X'' > ''/path/to/list_fdisk.info''
 
   
  +
== 汎用性の高いクローニングソリューション ==
{{Note|You may wish to use a block size ({{ic|1=bs=}}) that is equal to the amount of cache on the HD you are backing up. For example, {{ic|1=bs=8192K}} works for an 8MB cache. The 64K mentioned in this article is better than the default {{ic|1=bs=512}} bytes, but it will run faster with a larger {{ic|1=bs=}}.}}
 
   
  +
以下のアプリケーションはファイルシステム全体をバックアップして、故障したときに簡単に復元することができます。ほとんどが Live CD や USB ドライブとして使えます。1つまたは複数の特定の時点での完全なシステムイメージが含まれており、既存の良い設定を記録するときによく使われます。これらの比較については [[Wikipedia:Comparison of disk cloning software]] を参照してください。
=== システムのリストア ===
 
   
  +
完全なシステムバックアップを作成できる他のアプリケーションについては [[バックアッププログラム]] を参照してください。
システムをリストアするには:
 
# gunzip -c ''/path/to/backup.img.gz'' | dd of=/dev/sd''X''
 
 
もしくはイメージが複数のボリュームに分かれている場合:
 
# cat ''/path/to/backup.img.gz*'' | gunzip -c | dd of=/dev/sd''X''
 
 
=== 圧縮 ===
 
 
When you need to create the hard drive or a single partition compressed backup image file you must use compression tools which can do backup from a ''stdout'' and the ''dd'' command. Those compressed files cannot be mounted by the ''mount'' command but are useful to know how to create and restore them.
 
 
==== 7zip ====
 
 
Install the {{Pkg|p7zip}} package from the [[official repositories]].
 
This backup example will split the ''dd'' command output in the files by up to the 100 megabyte each:
 
# dd if=/dev/sd''XY'' | 7z a -v100m -t7z -si image-file.7z
 
 
Restore with 7zip:
 
# 7z x -so image-file.7z | dd of=/dev/sd''XY''
 
{{Note|7zip can split only the ''7z'' compression type files}}
 
 
==== Zip ====
 
 
Install the {{Pkg|zip}} package from the [[official repositories]], which contains ''zipsplit'' among other utilities for the management of zip archives.
 
It will create a file with "-" name inside the image-file.zip file which will contain data from the ''dd'' command output. To make a raw output of the file you can use the {{ic|-cp}} option with ''unzip'' in stdout for the ''dd'' command.
 
Backup:
 
# dd if=/dev/sd''XY'' | zip --compression-method bzip2 ''image-file.zip'' -
 
 
Restore:
 
# unzip -cp image-file.zip | dd of=/dev/sd''XY''
 
 
The ''zip'' tool cannot split files on the fly but you can use the {{ic|zipsplit}} utility on an already created file.
 
 
See also {{ic|man zip}} for more information.
 
 
==== Rar ====
 
 
Install the {{Aur|rar}} package from the [[AUR]].
 
 
{{Warning| The ''rar'' examples were made based on the manuals, please confirm!}}
 
 
This should do a backup and split the creating file on the fly in by up to 150 megabyte files each.
 
# dd if=/dev/sd''XY'' | rar a -v150m -si''image-file.rar''
 
 
This should restore
 
# unrar x -p ''image-file.rar'' | dd of=/dev/sd''XY''
 
 
or you can use the ''rar'' instead of the {{Pkg|unrar}} utility. The unrar utility is available in the official repositories and can be installed with {{ic|pacman -S unrar}}.
 
 
==== Bzip2 ====
 
 
Creation by using the ''dd'' is more safe and use to be error free:
 
 
{{hc|1=# dd if=/dev/sd''XY'' <nowiki>|</nowiki> bzip2 -f5 > ''compressedfile.bzip2''|2=
 
937016+0 records in
 
937016+0 records out
 
479752192 bytes (480 MB) copied, 94.7002 s, 5.1 MB/s
 
}}
 
 
And a safe way of restoring with combination of the ''dd'':
 
# bunzip2 -dc ''compressedfile.bzip2'' | dd of=/dev/sd''XY''
 
 
or
 
# bzcat ''compressedfile.bzip2'' | dd of=/dev/sd''XY''
 
 
{{Warning|Never ever use the {{ic|bzip2 -kdc ''imgage.bzip2'' > /dev/sd''XY''}} and {{ic|bzip2 -kc /dev/sd''XY'' > ''imgage.bzip2''}} methods for serious backup of partitions and disks. The errors might be due the end of the device or partition and the restore process gives also errors due the truncated end.
 
}}
 
   
  +
* {{App|Arch Backup|シンプルな設定を使用する平凡なバックアップスクリプト。
== cp を使う ==
 
  +
** 圧縮方法を設定可能。
  +
** 複数の場所にバックアップ。
  +
|https://github.com/p5n/archlinux-stuff/tree/master/arch-backup/|{{AUR|arch-backup}}}}
   
  +
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|障害復旧、ディスククローン、ディスクイメージング、デプロイメントソリューション。
The cp program can be used to clone a disk, one partition at a time. An advantage to using cp is that the filesystem type of the destination partition(s) may be the same or different than the source. For safety, perform the process from a live environment.
 
  +
** 完全なバックアップとリカバリソリューション:ブートセクタ、ブートローダ、パーティションテーブルを含むドライブ全体のイメージと復元が可能です。
  +
** 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 のインストールメディアに同梱されています。
  +
|https://clonezilla.org/|{{Pkg|clonezilla}}}}
   
  +
* {{App|Deepin Clone|Deepin によるバックアップとリストアのツール。ディスクまたはパーティションのクローン作成、バックアップ、リストアをサポートします。|https://www.deepin.org/en/original/deepin-clone/|{{Pkg|deepin-clone}}}}
{{Note|This method should not be considered in the same category as disk cloning on the level at which dd operates. Also, it has been reported that even with the '''-a''' flag, some extended attributes may not be copied. For better results, rsync or tar should be used.}}
 
   
  +
* {{App|FSArchiver|安全で柔軟性のあるファイルシステムバックアップ・デプロイメントツール
The basic procedure from a live environment will be:
 
  +
** 基本的なファイル属性をサポート (パーミッション, 所有者, ...)
* Create the new destination partition(s) using fdisk, cfdisk or other tools available in the live environment.
 
  +
** ひとつのアーカイブで複数のファイルシステムをサポート。
* Create a filesystem on each of the newly created partitions. Example:
 
  +
** (SELinux によって使われる)拡張属性のサポート。
# mkfs -t ext3 /dev/sd''XY''
 
  +
** 全ての Linux ファイルシステムで共通のファイルシステム属性をサポート (ラベル, uuid, ブロックサイズ)
* Mount the source and destination partitions. Example:
 
  +
** [https://www.fsarchiver.org/Cloning-ntfs NTFSファイルシステム] をサポート(Windows パーティションの柔軟なクローンを作成する機能)
# mount -t ext3 /dev/sd''XY'' ''/mnt/source''
 
  +
** アーカイブに書き込まれたデータのチェックサムを作成 (ヘッダ, データブロック、ファイル全体)
# mount -t ext3 /dev/sd''ZY'' ''/mnt/destination''
 
  +
** 破損しているアーカイブの復旧ができます (作業ファイルをスキップ)
* Copy the files from the source partition to the destination
 
  +
** lzo, gzip, bzip2, lzma のマルチスレッド圧縮。
# cp -a ''/path/to/source/*'' ''/path/to/destination''
 
  +
** 巨大なアーカイブを複数のファイルに分割することでファイルの最大容量を固定することができます。
'''-a''': preserve all attributes, never follow symbolic links and copy recursively
 
  +
** パスワードによるアーカイブの暗号化。[[OpenSSL]] の libcrypto による blowfish を使用。
* Change the mount points of the newly cloned partitions in {{ic|/etc/fstab}} accordingly
 
  +
** マウントされている root ファイルシステムのバックアップのサポート ({{ic|-A}} オプション)
* Finally, install the GRUB bootloader if necessary. (See [[GRUB]])
 
  +
** [https://www.sysresccd.org/Main_Page System Rescue CD] に同梱されています。
  +
|https://www.fsarchiver.org/|{{Pkg|fsarchiver}}}}
   
  +
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|バックアップメディアを作成する障害復旧ソリューション。損害を受けたシステムを再配置することができます。
== ディスククローンソフトウェア ==
 
  +
** イメージベースのバックアップ。Linux/Windows をサポート。
  +
** 圧縮率は調整可能。
  +
** ライブ環境をバックアップできます (システムを止める必要がありません)。
  +
** イメージを多数のファイルに分割可能。
  +
** Live CD で起動することで完全なリストアが出来ます。
  +
** NFS, CD, テープドライブなどのメディアからバックアップ・リストアできます。
  +
** バックアップの検証ができます。
  +
|http://www.mondorescue.org/|{{AUR|mondo}}}}
   
  +
* {{App|[[Partclone]]|使用しているブロックだけを考慮してパーティションをバックアップ・リストアできるツール。
=== Arch でディスククローン ===
 
  +
** 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 インストール メディアに含まれています。
  +
|https://partclone.org/|{{Pkg|partclone}}}}
   
  +
* {{App|[[Wikipedia:Partimage|Partimage]]|Linux/UNIX 環境向けの ''ncurses'' ディスク複製ユーティリティ。
* [[Partclone]] にはパーティション上の使用されているブロックを保存・復旧するためのユーティリティが入っており ext2, ext3, ext4, hfs+, reiserfs, reiser4, btrfs, vmfs3, vmfs5, xfs, jfs, ufs, ntfs, fat(12/16/32), exfat がサポートされています。オプションで、ncurses インターフェイスを使うこともできます。Partclone は community リポジトリからインストールできます。
 
  +
** ライブ CD が存在します。
* [http://www.partimage.org/ Partimage], an ncurses program, is available in the community repos. Partimage does not currently support ext4 or btrfs filesystems. NTFS is experimental.
 
  +
** Linux, Windows, macOS の最も一般的なファイルシステムをサポート。
  +
** 圧縮
  +
** Samba/NFS を使用してネットワーク経由で保存したり複数の CD や DVD に保存できます。
  +
** 開発は停止して FSArchiver に移っています。
  +
|http://www.partimage.org|{{Pkg|partimage}}}}
   
  +
* {{App|J7Z|Linux 向けの Java による GUI でデータの圧縮やバックアップを楽にします。7z, BZip2, Zip, GZip, Tar アーカイブを作成することができます。
=== Arch の外からディスククローン ===
 
  +
** 既存のアーカイブを素早くアップデート。
  +
** 複数のフォルダを一つのストレージにバックアップ。
  +
** 保護されたアーカイブを作成・展開。
  +
** アーカイブのプロファイル・リストを使うことで負担を軽減。
  +
|http://j7z.xavion.name/|{{AUR|j7z}}}}
   
  +
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|Linux CD ブータブルイメージから実行できるバックアップ・障害復旧アプリケーション。
If you wish to backup or propagate your Arch install root, you are probably better off booting into something else and clone the partition from there. Some suggestions:
 
  +
** ディスクパーティションのベアメタルバックアップとリカバリができます。
  +
** バックエンドとして [http://www.xpud.org/ xPUD] と [[Partclone]] を使用。
  +
|http://www.redobackup.org/|}}
   
  +
* {{App|System Tar & Restore|tar を使ったシステムのバックアップとリストア、または rsync による転送。
* [http://partedmagic.com/doku.php?id=start PartedMagic] has a very nice live cd/usb with PartImage and other recovery tools.
 
  +
** GUIおよびCLIインターフェース。
* [http://www.mondorescue.org/ Mindi] is a linux distribution specifically for disk clone backup. It comes with its own cloning program, Mondo Rescue.
 
  +
** ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'', ''.tar'' アーカイブを作成。
* [[wikipedia:Acronis_True_Image|Acronis True Image]] is a commercial disk cloner for Windows. It allows you to create a live (from within Windows), so you do not need a working Windows install on the actual machine to use it. After registration of the Acronis software on their website, you will be able to download a Linux based Live cd and/or plugins for BartPE for creation of the Windows based live cd. It can also create a WinPE Live CD based on Windows. The created ISO Live CD image by Acronis doesn't have the [http://www.syslinux.org/wiki/index.php/Isohybrid hybrid boot] ability and cannot be written to USB storage as a raw file.
 
  +
** openssl / gpg 暗号化をサポート。
* [http://www.fsarchiver.org/Main_Page FSArchiver] allows you to save the contents of a file system to a compressed archive file. Can be found on the [http://www.sysresccd.org/Main_Page System Rescue CD].
 
  +
** rsync を使って実行中のシステムを転送。
* [http://clonezilla.org/ Clonezilla] is an enhanced partition imager which can also restore entire disks as well as partitions. Clonezilla is included on the Arch Linux installation media.
 
  +
** Grub2, Syslinux, EFISTUB/efibootmgr, Systemd/bootctl をサポート。
* [http://redobackup.org/ Redo Backup and Recovery ] is a Live CD featuring a graphical front-end to partclone.
 
  +
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}
   
 
== 参照 ==
 
== 参照 ==

2023年11月11日 (土) 04:40時点における最新版

関連記事

ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。バックアップリカバリ 用に他のコンピューターにドライブをコピーするのに役立ちます。

ノート: 論理セクタサイズが異なる ドライブ 間のディスククローニングはお勧めしません。
  • 論理セクタサイズが小さいドライブ (例:4096バイトから512バイト) への移行は、セクタ番号でパーティション境界を指定するため、パーティションテーブルの再作成が必要です。
  • ファイルシステムのブロックサイズが対象ドライブの論理セクタサイズより小さいか、割り切れない場合、論理セクタサイズの大きいドライブ (例:512バイトから4096バイト) への移動ができない場合があります。
ヒント: 時間の経過とともに ファイルシステム は新しい機能を取得し、mkfs ユーティリティはデフォルトを変更しますが、すべての新機能を再フォーマットせずに有効にできるわけではありません。したがって、データを新しいドライブに移動するときは、ブロックデバイスやファイルシステムのクローンを作成する代わりに、新しいファイルシステムを作成し、rsync などを使ってファイル (およびその属性、ACL、拡張属性など) のみをコピーすることを検討してください。

ブロックレベルのクローニング

dd を使う

dd#ディスクの複製と復元Core utilities#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 を使う

e2imagee2fsprogs にデバッグ用として含まれているツールです。使用ブロックのみをコピーして効率的に ext2, ext3, ext4 パーティションをコピーできます。e2image が使えるのは ext2, ext3, ext4 ファイルシステムだけです。未使用ブロックはコピーされないため、削除したファイルを復元するのには役に立ちません。

e2image を使って、物理ディスク /dev/sda の1番目のパーティションを物理ディスク /dev/sdb の1番目のパーティションに複製するには:

 # e2image -ra -p /dev/sda1 /dev/sdb1
ヒント: GPartede2imageを使って効率的に ext2/3/4 パーティションを複製します。

xfs_copy を使う

xfsprogsxfs_copy(8) を使用すると、XFS ファイルシステムを 1 つ以上のブロックデバイスに並行してコピーできます。

ノート: デフォルトでは、xfs_copy は新しいファイルシステム用に新しい UUID を生成します。同じ UUID のクローンを作成するには、-d オプションを使用します。これにより、ディスク交換に​​適した複製ファイルシステムが作成されます。
ヒント: XFS のクローンを複数のブロックデバイスに並行して作成するには、それらをすべて xfs_copy コマンドに追加するだけです。

たとえば、/dev/sda1 上のファイルシステムのクローンを /dev/sdb1 に作成するには、次のコマンドを実行します:

# xfs_copy /dev/sda1 /dev/sdb1

汎用性の高いクローニングソリューション

以下のアプリケーションはファイルシステム全体をバックアップして、故障したときに簡単に復元することができます。ほとんどが Live CD や USB ドライブとして使えます。1つまたは複数の特定の時点での完全なシステムイメージが含まれており、既存の良い設定を記録するときによく使われます。これらの比較については Wikipedia:Comparison of disk cloning software を参照してください。

完全なシステムバックアップを作成できる他のアプリケーションについては バックアッププログラム を参照してください。

  • Arch Backup — シンプルな設定を使用する平凡なバックアップスクリプト。
    • 圧縮方法を設定可能。
    • 複数の場所にバックアップ。
https://github.com/p5n/archlinux-stuff/tree/master/arch-backup/ || arch-backupAUR
  • 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 のインストールメディアに同梱されています。
https://clonezilla.org/ || clonezilla
  • Deepin Clone — Deepin によるバックアップとリストアのツール。ディスクまたはパーティションのクローン作成、バックアップ、リストアをサポートします。
https://www.deepin.org/en/original/deepin-clone/ || deepin-clone
  • FSArchiver — 安全で柔軟性のあるファイルシステムバックアップ・デプロイメントツール
    • 基本的なファイル属性をサポート (パーミッション, 所有者, ...)
    • ひとつのアーカイブで複数のファイルシステムをサポート。
    • (SELinux によって使われる)拡張属性のサポート。
    • 全ての Linux ファイルシステムで共通のファイルシステム属性をサポート (ラベル, uuid, ブロックサイズ)
    • NTFSファイルシステム をサポート(Windows パーティションの柔軟なクローンを作成する機能)
    • アーカイブに書き込まれたデータのチェックサムを作成 (ヘッダ, データブロック、ファイル全体)
    • 破損しているアーカイブの復旧ができます (作業ファイルをスキップ)
    • lzo, gzip, bzip2, lzma のマルチスレッド圧縮。
    • 巨大なアーカイブを複数のファイルに分割することでファイルの最大容量を固定することができます。
    • パスワードによるアーカイブの暗号化。OpenSSL の libcrypto による blowfish を使用。
    • マウントされている root ファイルシステムのバックアップのサポート (-A オプション)
    • System Rescue CD に同梱されています。
https://www.fsarchiver.org/ || fsarchiver
  • Mondo Rescue — バックアップメディアを作成する障害復旧ソリューション。損害を受けたシステムを再配置することができます。
    • イメージベースのバックアップ。Linux/Windows をサポート。
    • 圧縮率は調整可能。
    • ライブ環境をバックアップできます (システムを止める必要がありません)。
    • イメージを多数のファイルに分割可能。
    • Live CD で起動することで完全なリストアが出来ます。
    • NFS, CD, テープドライブなどのメディアからバックアップ・リストアできます。
    • バックアップの検証ができます。
http://www.mondorescue.org/ || mondoAUR
  • 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 インストール メディアに含まれています。
https://partclone.org/ || partclone
  • Partimage — Linux/UNIX 環境向けの ncurses ディスク複製ユーティリティ。
    • ライブ CD が存在します。
    • Linux, Windows, macOS の最も一般的なファイルシステムをサポート。
    • 圧縮
    • Samba/NFS を使用してネットワーク経由で保存したり複数の CD や DVD に保存できます。
    • 開発は停止して FSArchiver に移っています。
http://www.partimage.org || partimage
  • J7Z — Linux 向けの Java による GUI でデータの圧縮やバックアップを楽にします。7z, BZip2, Zip, GZip, Tar アーカイブを作成することができます。
    • 既存のアーカイブを素早くアップデート。
    • 複数のフォルダを一つのストレージにバックアップ。
    • 保護されたアーカイブを作成・展開。
    • アーカイブのプロファイル・リストを使うことで負担を軽減。
http://j7z.xavion.name/ || j7zAUR
  • Redo Backup and Recovery — Linux CD ブータブルイメージから実行できるバックアップ・障害復旧アプリケーション。
    • ディスクパーティションのベアメタルバックアップとリカバリができます。
    • バックエンドとして xPUDPartclone を使用。
http://www.redobackup.org/ ||
  • System Tar & Restore — tar を使ったシステムのバックアップとリストア、または rsync による転送。
    • GUIおよびCLIインターフェース。
    • .tar.gz, .tar.bz2, .tar.xz, .tar アーカイブを作成。
    • openssl / gpg 暗号化をサポート。
    • rsync を使って実行中のシステムを転送。
    • Grub2, Syslinux, EFISTUB/efibootmgr, Systemd/bootctl をサポート。
https://github.com/tritonas00/system-tar-and-restore || system-tar-and-restoreAUR

参照