「ディスクのクローン」の版間の差分
(ページの作成:「Category:データ圧縮とアーカイブ Category:システムリカバリ en:Disk cloning it:Disk Cloning ru:Disk cloning tr:Disk_klonlama zh...」) |
(→ddrescue を使う: 同期) |
||
| (6人の利用者による、間の35版が非表示) | |||
| 2行目: | 2行目: | ||
[[Category:システムリカバリ]] |
[[Category:システムリカバリ]] |
||
[[en:Disk cloning]] |
[[en:Disk cloning]] |
||
| − | [[ |
+ | [[es: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バイト) への移行は、セクタ番号でパーティション境界を指定するため、パーティションテーブルの再作成が必要です。 |
||
| − | The dd command is a simple, yet versatile and powerful tool. It can be used to copy from source to destination, block-by-block, regardless of their filesystem types or operating systems. A convenient method is to use dd from a live environment, as in a livecd. |
||
| + | * ファイルシステムのブロックサイズが対象ドライブの論理セクタサイズより小さいか、割り切れない場合、論理セクタサイズの大きいドライブ (例: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、拡張属性など) のみをコピーすることを検討してください。}} |
||
| − | === Cloning a partition === |
||
| + | == ブロックレベルのクローニング == |
||
| − | From physical disk /dev/sda, partition 1, to physical disk /dev/sdb, partition 1. |
||
| − | # dd if=/dev/sda1 of=/dev/sdb1 bs=512 conv=noerror,sync |
||
| + | === dd を使う === |
||
| − | {{Warning|If output file {{ic|1=of=}} (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 の代替]] を参照してください。 |
||
| − | === Cloning an entire hard disk === |
||
| + | === ddrescue を使う === |
||
| − | From physical disk /dev/sda to physical disk /dev/sdb |
||
| − | # dd if=/dev/sda of=/dev/sdb bs=512 conv=noerror,sync |
||
| + | 可能であれば、ディスクからのデータリカバリは、ネイティブインターフェイスを使用して実行する必要があります。SATA または古いドライブの場合は IDE です。USB アダプターを使用すると、結果が異なる場合があります。 |
||
| − | This will clone the entire drive, including MBR (and therefore bootloader), all partitions, UUIDs, and data. |
||
| − | * {{ic|noerror}} instructs dd to continue operation, ignoring all read errors. Default behavior for dd is to halt at any error. |
||
| − | * {{ic|sync}} fills input blocks with zeroes if there were any read errors, so data offsets stay in 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.}} |
||
| + | ==== 第 1 段階 ==== |
||
| − | 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'' を 2 回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを {{ic|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 manyfold. 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. |
||
| + | # ddrescue --force --no-scrape /dev/sd''X'' /dev/sd''Y'' rescue.map |
||
| − | {{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)}}.}} |
||
| + | ; {{ic|--force}}: このオプションは、デバイス (ディスクやパーティションなど) に直接書き込む場合に使用されます。このフラグがないと、''ddrescue'' は偶発的なデータ損失を避けるために既存のデバイスの上書きを拒否します。 {{ic|--force}} を使用すると、この安全性チェックを回避できるため、使用するときは注意してください。 |
||
| − | {{Note| |
||
| + | ; {{ic|--no-scrape}}: このオプションは、''ddrescue'' に、''再試行'' フェーズをスキップし、最初に読み取りやすいデータのコピー (最初のパス) に焦点を当てるように指示します。これにより、失敗したセクターの再試行が回避されるため、不良領域でスタックすることなくできるだけ多くのデータを迅速に回復したい場合に役立ちます。 |
||
| − | * To regain unique UUIDs, use "tune2fs /dev/sdbX -U random" on every partitions. (works for ext* file systems only) |
||
| + | ; {{ic|/dev/sd''X''}}: これは、データを回復するソースデバイスを表します。{{ic|/dev/sd''X''}} を実際のデバイス名に置き換えます (例: {{ic|/dev/sda}}) ここで、{{ic|''X''}} はソースのパーティション文字、{{ic|''Y''}} はターゲット [[ブロックデバイス]] のパーティション文字です。 |
||
| − | * 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). |
||
| + | ; {{ic|/dev/sd''Y''}}: これは、回復されたデータが書き込まれる宛先デバイスまたはファイルです。この場合、それは別のデバイスです (例: {{ic|/dev/sdb}})。このコマンドはこのデバイスを上書きするため、これを指定するときは十分に注意してください。あるいは、''path/to/file/image.img'' と入力するだけでイメージを作成することもできます。 |
||
| − | }} |
||
| + | ; {{ic|rescue.map}}: これは、回復の進行状況を追跡するために ''ddrescue'' によって使用されるログファイルです。ログファイルは、どのセクタが正常に回復されたか、どのセクタにさらなる注意が必要かを記録するため、非常に重要です。回復プロセスが中断された場合は、最初から開始しなくても、このログファイルを使用して後で再開できます。 |
||
| + | このコマンドは、(再試行をスキップすることで) 速度を優先しながら1つのデバイス ({{ic|/dev/sd''X''}}) から別のデバイス ({{ic|/dev/sd''Y''}}) にデータをコピーします。 |
||
| − | === Backing up the MBR === |
||
| + | * The {{ic|--force}} ({{ic|/dev/sd''Y''}}) デバイスに直接書き込むために必要なオプション。 |
||
| − | The MBR is stored in the the first 512 bytes of the disk. It consist of 3 parts: |
||
| + | * The {{ic|rescue.map}} ファイルは進行状況を追跡し、回復が停止した場合でも再開できるようにします。 |
||
| + | ==== 第 2 段階 ==== |
||
| − | # The first 446 bytes contain the boot loader. |
||
| − | # The next 64 bytes contain the partition table (4 entries of 16 bytes each, one entry for each primary partition). |
||
| − | # The last 2 bytes contain an identifier |
||
| + | 第2段階では、不良ブロックのみをコピーし、諦める前にソースからの読み取りを 3 回試行します。 |
||
| − | To save the MBR into the file "mbr.img": |
||
| − | # dd if=/dev/hda of=/mnt/sda1/mbr.img bs=512 count=1 |
||
| + | # ddrescue --force --idirect --retry-passes=3 --no-scrape /dev/sd''X'' /dev/sd''Y'' rescue.map |
||
| − | To restore (be careful: this could destroy your existing partition table and with it access to all data on the disk): |
||
| − | # dd if=/mnt/sda1/mbr.img of=/dev/hda |
||
| + | ; {{ic|--idirect}}: 直接ディスクにアクセスして、一部の問題を回避できます。マップファイルの位置とサイズがセクターサイズの倍数である場合、カーネルはディスクアクセスをキャッシュしている可能性があります。これを回避してより多くのデータを回復するには、直接ディスクアクセスを使用するか、RAW デバイスからの読み取りを使用して、{{ic|--sector-size}} で正しいセクターサイズが設定されていることを確認してください。ダイレクトディスクアクセスでは、セクター全体を読み取り、必要な部分のみを書き込むことで、任意のドメインをコピーできます。まずは {{ic|--idirect}} オプションを試してみるか、直接アクセスできない場合は raw デバイスを使用してください。 OS とハードウェアによっては、直接アクセスは通常のキャッシュされた読み取りより遅くなったり、速くなったりする場合があります。 |
||
| − | If you only want to restore the boot loader, but not the primary partition table entries, just restore the first 446 bytes of the MBR: |
||
| + | ; {{ic|1=--retry-passes=3}}: 不良セクタを最大 3 回まで再試行します。 |
||
| − | # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=446 count=1 |
||
| + | このコマンドは、問題のあるセクターをより積極的に読み取ろうとします。 |
||
| + | ==== 第 3 段階 (オプション) ==== |
||
| − | To restore only the partition table, one must use |
||
| − | # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=1 skip=446 count=64 |
||
| + | # ddrescue --force --idirect --retry-passes=3 --reverse /dev/sdX /dev/sdY rescue.map |
||
| − | You can also get the MBR from a full dd disk image. |
||
| − | # dd if=/path/to/disk.img of=/mnt/sda1/mbr.img bs=512 count=1 |
||
| + | {{ic|--reverse}} はドライブを逆方向に読み取ります。これにより、順方向読み取りを妨げる問題が回避される場合があります。 |
||
| − | === Create disk image === |
||
| + | ==== 第 4 段階 ==== |
||
| − | 1. Boot from a liveCD or liveUSB. |
||
| + | 第 4 段階では、''きめ細かいリカバリ'' のために ''スクレイピングモード''を使用します。 |
||
| − | 2. Make sure no partitions are mounted from the source hard drive. |
||
| + | # ddrescue --force --idirect --retry-passes=3 /dev/sdX /dev/sdY rescue.map |
||
| − | 3. Mount the external HD |
||
| + | {{ic|1=--retry-passes=3}} は問題のあるセクターを複数回スクレイピングします。最も損傷したセクターからデータを救出しようとします。 |
||
| − | 4. Backup the drive. |
||
| − | # dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c > /mnt/sda1/hda.img.gz |
||
| + | いつ停止するか: ドライブの読み取り速度が 0 B/s に近いままで、それ以上の改善が見られない場合、より多くのデータを回復できる可能性は低くなります。このような場合、専門のデータ復旧サービスが最良の選択肢となる可能性があります。最終的に、さらなるデータを救出せずにプロセスが停止し続ける場合は、ドライブに物理的な障害が発生している可能性があり、それ以上試行しても最小限の結果しか得られない可能性があります。 |
||
| − | If necessary (e.g. when the format of the external HD is FAT32) split the disk image in volumes (see also split man pages). |
||
| + | 状況によっては、特定のセクターを読み取ろうとしているときに、ディスクコントローラーまたは USB アダプターがロックされる場合があります。{{ic|--input-position}} オプションを使用して、''ddrescue'' にその位置の後で読み取りを開始するように指示できます。 |
||
| − | # dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c | split -a3 -b2G - /mnt/sda1/hda.img.gz |
||
| + | これで、ファイルシステムの破損を確認し、新しいドライブをマウントできるようになります。 |
||
| − | 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/hda > /mnt/sda1/hda_fdisk.info |
||
| + | # fsck -f /dev/sd''Y'' |
||
| − | {{Note|1=You may wish to use a block size (bs=) that is equal to the amount of cache on the HD you are backing up. For example, bs=8192K works for an 8MB cache. The 64K mentioned in this article is better than the default bs=512 bytes, but it will run faster with a larger bs=.}} |
||
| + | == ファイルシステムのクローン == |
||
| − | === Restore system === |
||
| + | === e2image を使う === |
||
| − | To restore your system: |
||
| − | # gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda |
||
| + | ''e2image'' は {{Pkg|e2fsprogs}} にデバッグ用として含まれているツールです。使用ブロックのみをコピーして効率的に ext2, ext3, ext4 パーティションをコピーできます。e2image が使えるのは ext2, ext3, ext4 ファイルシステムだけです。未使用ブロックはコピーされないため、削除したファイルを復元するのには役に立ちません。 |
||
| − | or |
||
| − | # cat /mnt/sda1/hda.img.gz* | gunzip -c | dd of=/dev/hda |
||
| − | when the image has been split in volumes. |
||
| + | e2image を使って、物理ディスク {{ic|/dev/sda}} の1番目のパーティションを物理ディスク {{ic|/dev/sdb}} の1番目のパーティションに複製するには: |
||
| − | === Examples with compression === |
||
| + | # e2image -ra -p /dev/sda1 /dev/sdb1 |
||
| − | 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. |
||
| + | {{Tip|[[GParted]]は ''e2image''を使って効率的に ext2/3/4 パーティションを複製します。}} |
||
| − | ==== 7zip ==== |
||
| + | === xfs_copy を使う === |
||
| − | 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/sdXY | 7z a -v100m -t7z -si image-file.7z |
||
| + | {{Pkg|xfsprogs}} の {{man|8|xfs_copy}} を使用すると、[[XFS]] ファイルシステムを 1 つ以上のブロックデバイスに並行してコピーできます。 |
||
| − | Restore with 7zip: |
||
| − | 7z x -so image-file.7z | dd of=/dev/sdXY |
||
| − | {{Note|7zip can split only the ''7z'' compression type files}} |
||
| + | {{Note|デフォルトでは、''xfs_copy'' は新しいファイルシステム用に新しい [[UUID]] を生成します。同じ UUID のクローンを作成するには、{{ic|-d}} オプションを使用します。これにより、ディスク交換に適した複製ファイルシステムが作成されます。}} |
||
| − | ==== Zip ==== |
||
| + | {{Tip|XFS のクローンを複数のブロックデバイスに並行して作成するには、それらをすべて {{ic|xfs_copy}} コマンドに追加するだけです。}} |
||
| − | 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/sdXY | zip --compression-method bzip2 image-file.zip - |
||
| + | たとえば、{{ic|/dev/sda1}} 上のファイルシステムのクローンを {{ic|/dev/sdb1}} に作成するには、次のコマンドを実行します: |
||
| − | Restore: |
||
| − | unzip -cp image-file.zip | dd of=/dev/sdXY |
||
| + | # xfs_copy /dev/sda1 /dev/sdb1 |
||
| − | 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. |
||
| + | 以下のアプリケーションはファイルシステム全体をバックアップして、故障したときに簡単に復元することができます。ほとんどが Live CD や USB ドライブとして使えます。1つまたは複数の特定の時点での完全なシステムイメージが含まれており、既存の良い設定を記録するときによく使われます。これらの比較については [[Wikipedia:Comparison of disk cloning software]] を参照してください。 |
||
| − | ==== 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/sdXY | rar a -v150m -siimage-file.rar |
||
| − | |||
| − | This should restore |
||
| − | unrar x -p image-file.rar | dd of=/dev/sdXY |
||
| − | |||
| − | 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|<nowiki>dd if=/dev/sdXY | bzip2 -f5 > compressedfile.bzip2</nowiki>| |
||
| − | 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/sdXY |
||
| − | |||
| − | or |
||
| − | $ bzcat compressedfile.bzip2 | dd of=/dev/sdXY |
||
| − | |||
| − | {{Warning|Never ever use the {{ic|bzip2 -kdc imgage.bzip2 > /dev/sdXY}} and {{ic|bzip2 -kc /dev/sdXY > 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|シンプルな設定を使用する平凡なバックアップスクリプト。 |
||
| − | == Using 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/sdb1 |
||
| + | ** 全ての Linux ファイルシステムで共通のファイルシステム属性をサポート (ラベル, uuid, ブロックサイズ) |
||
| − | * Mount the source and destination partitions. Example: |
||
| + | ** [https://www.fsarchiver.org/Cloning-ntfs NTFSファイルシステム] をサポート(Windows パーティションの柔軟なクローンを作成する機能) |
||
| − | mount -t ext3 /dev/sda1 /mnt/source |
||
| + | ** アーカイブに書き込まれたデータのチェックサムを作成 (ヘッダ, データブロック、ファイル全体) |
||
| − | mount -t ext3 /dev/sdb1 /mnt/destination |
||
| + | ** 破損しているアーカイブの復旧ができます (作業ファイルをスキップ) |
||
| − | * Copy the files from the source partition to the destination |
||
| + | ** lzo, gzip, bzip2, lzma のマルチスレッド圧縮。 |
||
| − | cp -a /mnt/source/* /mnt/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 /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]]|バックアップメディアを作成する障害復旧ソリューション。損害を受けたシステムを再配置することができます。 |
||
| − | == Disk cloning software == |
||
| + | ** イメージベースのバックアップ。Linux/Windows をサポート。 |
||
| + | ** 圧縮率は調整可能。 |
||
| + | ** ライブ環境をバックアップできます (システムを止める必要がありません)。 |
||
| + | ** イメージを多数のファイルに分割可能。 |
||
| + | ** Live CD で起動することで完全なリストアができます。 |
||
| + | ** NFS, CD, テープドライブなどのメディアからバックアップ・リストアできます。 |
||
| + | ** バックアップの検証ができます。 |
||
| + | |http://www.mondorescue.org/|{{AUR|mondo}}}} |
||
| + | * {{App|[[Partclone]]|使用しているブロックだけを考慮してパーティションをバックアップ・リストアできるツール。 |
||
| − | === Disk cloning in 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|Partclone]] provides utilities to save and restore used blocks on a partition and supports ext2, ext3, ext4, hfs+, reiserfs, reiser4, btrfs, vmfs3, vmfs5, xfs, jfs, ufs, ntfs, fat(12/16/32) and exfat. Optionally, a ncurses interface can be used. Partclone is available in the community repository. |
||
| + | ** ライブ 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 アーカイブを作成することができます。 |
||
| − | === Disk cloning outside of 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}}}} |
||
== 参照 == |
== 参照 == |
||
* [[Wikipedia:List of disk cloning software]] |
* [[Wikipedia:List of disk cloning software]] |
||
| − | * [https://bbs.archlinux.org/viewtopic.php?id=4329 Arch Linux |
+ | * [https://bbs.archlinux.org/viewtopic.php?id=4329 Arch Linux フォーラムスレッド] |
2024年12月24日 (火) 00:59時点における最新版
ディスクのクローンとはパーティションやハードドライブ全体のイメージを作成することを言います。バックアップ や リカバリ 用に他のコンピューターにドライブをコピーするのに役立ちます。
目次
ブロックレベルのクローニング
dd を使う
dd#ディスクの複製と復元 と Core utilities#dd の代替 を参照してください。
ddrescue を使う
可能であれば、ディスクからのデータリカバリは、ネイティブインターフェイスを使用して実行する必要があります。SATA または古いドライブの場合は IDE です。USB アダプターを使用すると、結果が異なる場合があります。
GNU ddrescue は、読み取りエラーを無視できるデータ回復ツールです。ddrescue は、あるデバイスから別のデバイスにデータをコピーするために両方を使用できることを除いて、dd とはまったく関係がありません。主な違いは、ddrescue は洗練されたアルゴリズムを使用して故障したドライブからデータをコピーし、追加の損傷を可能な限り少なくすることです。詳細は ddrescue マニュアル を参照してください。
第 1 段階
故障したり死にかけているドライブのクローンを作るには、ddrescue を 2 回実行します。1回目では、読み取りエラーが存在しないブロックを全てコピーして、エラーを rescue.map にマッピングします。
# ddrescue --force --no-scrape /dev/sdX /dev/sdY rescue.map
--force- このオプションは、デバイス (ディスクやパーティションなど) に直接書き込む場合に使用されます。このフラグがないと、ddrescue は偶発的なデータ損失を避けるために既存のデバイスの上書きを拒否します。
--forceを使用すると、この安全性チェックを回避できるため、使用するときは注意してください。 --no-scrape- このオプションは、ddrescue に、再試行 フェーズをスキップし、最初に読み取りやすいデータのコピー (最初のパス) に焦点を当てるように指示します。これにより、失敗したセクターの再試行が回避されるため、不良領域でスタックすることなくできるだけ多くのデータを迅速に回復したい場合に役立ちます。
/dev/sdX- これは、データを回復するソースデバイスを表します。
/dev/sdXを実際のデバイス名に置き換えます (例:/dev/sda) ここで、Xはソースのパーティション文字、Yはターゲット ブロックデバイス のパーティション文字です。 /dev/sdY- これは、回復されたデータが書き込まれる宛先デバイスまたはファイルです。この場合、それは別のデバイスです (例:
/dev/sdb)。このコマンドはこのデバイスを上書きするため、これを指定するときは十分に注意してください。あるいは、path/to/file/image.img と入力するだけでイメージを作成することもできます。 rescue.map- これは、回復の進行状況を追跡するために ddrescue によって使用されるログファイルです。ログファイルは、どのセクタが正常に回復されたか、どのセクタにさらなる注意が必要かを記録するため、非常に重要です。回復プロセスが中断された場合は、最初から開始しなくても、このログファイルを使用して後で再開できます。
このコマンドは、(再試行をスキップすることで) 速度を優先しながら1つのデバイス (/dev/sdX) から別のデバイス (/dev/sdY) にデータをコピーします。
- The
--force(/dev/sdY) デバイスに直接書き込むために必要なオプション。 - The
rescue.mapファイルは進行状況を追跡し、回復が停止した場合でも再開できるようにします。
第 2 段階
第2段階では、不良ブロックのみをコピーし、諦める前にソースからの読み取りを 3 回試行します。
# ddrescue --force --idirect --retry-passes=3 --no-scrape /dev/sdX /dev/sdY rescue.map
--idirect- 直接ディスクにアクセスして、一部の問題を回避できます。マップファイルの位置とサイズがセクターサイズの倍数である場合、カーネルはディスクアクセスをキャッシュしている可能性があります。これを回避してより多くのデータを回復するには、直接ディスクアクセスを使用するか、RAW デバイスからの読み取りを使用して、
--sector-sizeで正しいセクターサイズが設定されていることを確認してください。ダイレクトディスクアクセスでは、セクター全体を読み取り、必要な部分のみを書き込むことで、任意のドメインをコピーできます。まずは--idirectオプションを試してみるか、直接アクセスできない場合は raw デバイスを使用してください。 OS とハードウェアによっては、直接アクセスは通常のキャッシュされた読み取りより遅くなったり、速くなったりする場合があります。 --retry-passes=3- 不良セクタを最大 3 回まで再試行します。
このコマンドは、問題のあるセクターをより積極的に読み取ろうとします。
第 3 段階 (オプション)
# ddrescue --force --idirect --retry-passes=3 --reverse /dev/sdX /dev/sdY rescue.map
--reverse はドライブを逆方向に読み取ります。これにより、順方向読み取りを妨げる問題が回避される場合があります。
第 4 段階
第 4 段階では、きめ細かいリカバリ のために スクレイピングモードを使用します。
# ddrescue --force --idirect --retry-passes=3 /dev/sdX /dev/sdY rescue.map
--retry-passes=3 は問題のあるセクターを複数回スクレイピングします。最も損傷したセクターからデータを救出しようとします。
いつ停止するか: ドライブの読み取り速度が 0 B/s に近いままで、それ以上の改善が見られない場合、より多くのデータを回復できる可能性は低くなります。このような場合、専門のデータ復旧サービスが最良の選択肢となる可能性があります。最終的に、さらなるデータを救出せずにプロセスが停止し続ける場合は、ドライブに物理的な障害が発生している可能性があり、それ以上試行しても最小限の結果しか得られない可能性があります。
状況によっては、特定のセクターを読み取ろうとしているときに、ディスクコントローラーまたは USB アダプターがロックされる場合があります。--input-position オプションを使用して、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
xfs_copy を使う
xfsprogs の xfs_copy(8) を使用すると、XFS ファイルシステムを 1 つ以上のブロックデバイスに並行してコピーできます。
たとえば、/dev/sda1 上のファイルシステムのクローンを /dev/sdb1 に作成するには、次のコマンドを実行します:
# xfs_copy /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 をサポート。