ディスクをコピーする際には次の点に注意してください。
ボリュームマネージャーの制御下にあるディスクをコピーする場合は、この手順を使わないでください。
UFS ファイルシステムのデータをあるディスクまたはシステムから別のディスクまたはシステムへコピーする場合にもっとも多く使用されるのは、ufsdump コマンドおよび ufsrestore コマンドを使用する方法です。これらのコマンドの使用方法の詳細は、第 23 章UFS ファイルシステムのバックアップと復元 (概要)を参照してください。
システムを複製するには、フラッシュアーカイブを作成し、それを複製先のシステムにコピーします。フラッシュアーカイブの作成方法の詳細は、『Oracle Solaris 10 9/10 インストールガイド (Solaris フラッシュアーカイブの作成とインストール)』を参照してください。
EFI ディスクラベル付きディスクをコピーする場合は、例 28–2 を参照してください。
それでもなお、dd コマンドによるディスクコピーを検討する場合は、次の点に注意してください。
コピー元とコピー先のディスクが、同じディスクジオメトリを保持していることを確認します。
コピー対象の UFS ファイルシステムを fsck ユーティリティーを使って検査します。
dd コマンドを使ってディスクをコピーする際に、システムがシングルユーザーモードになっていることを確認します。
スーパーユーザーになるか、同等の役割を引き受けます。
(省略可能) システムがリブート時に必要に応じてコピー先ディスクを認識するように、/reconfigure ファイルを作成します。
# touch /reconfigure |
システムをシャットダウンします。
# init 0 |
コピー先ディスクをシステムに接続します。
システムをブートします。
ok boot -s |
# dd if=/dev/rdsk/device-name of=/dev/rdsk/device-name bs=block-size |
マスターディスクデバイスのオーバーラップスライスを指定します。通常はスライス 2 です。
コピー先ディスクデバイスのオーバーラップスライスを指定します。通常はスライス 2 です。
ブロックサイズ (128K バイト、256K バイトなど) を指定できます。ブロックサイズの値を大きくすると、ディスクのコピーに要する時間を短縮できます。
詳細は、dd(1M) のマニュアルページを参照してください。
新しいファイルシステムを検査します。
# fsck /dev/rdsk/device-name |
コピー先ディスクのルート (/) ファイルシステムをマウントします。
# mount /dev/dsk/device-name /mnt |
/etc/vfstab ファイルのあるディレクトリに移動します。
# cd /mnt/etc |
テキストエディタを使用して、コピー先ディスクの /etc/vfstab ファイルを編集して、正しいデバイス名を参照するようにします。
たとえば、c0t3d0 のインスタンスをすべて c0t1d0 に変更します。
コピー先ディスクのルート (/) ディレクトリに移動します。
# cd / |
コピー先ディスクのルート (/) ファイルシステムをマウント解除します。
# umount /mnt |
システムをシャットダウンします。
# init 0 |
コピー先ディスクからシングルユーザーモードでブートします。
# boot diskn -s |
installboot コマンドをコピー先ディスクで実行する必要はありません。これは、ブートブロックがオーバーラップスライスの一部としてコピーされるためです。
コピー先ディスクの構成を解除します。
# sys-unconfig |
構成を解除すると、システムが停止します。
再びコピー先ディスクからブートし、ホスト名や時間帯などのシステム情報を与えます。
# boot diskn |
システムがブートしたら、スーパーユーザーとしてログインしてシステム情報を確認します。
hostname console login: |
次の例では、VTOC ラベル付きのマスターディスク /dev/rdsk/c0t0d0s2 をコピー先ディスク /dev/rdsk/c0t2d0s2 にコピーする方法を示します。
# touch /reconfigure # init 0 ok boot # dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t2d0s2 bs=128k # fsck /dev/rdsk/c0t2d0s2 # mount /dev/dsk/c0t2d0s2 /mnt # cd /mnt/etc # vi vfstab (Modify entries for the new disk) # cd / # umount /mnt # init 0 # boot disk2 -s # sys-unconfig # boot disk2 |
以前の Solaris リリースでは、ディスク全体がスライス 2 (s2) で表されていました。EFI ラベル付きディスクの場合、複製後のディスクに一意の UUID を割り当てる必要があるため、1T バイトを超えるサイズのディスクを複製 (コピー) する場合、若干異なる方法を使用する必要があります。複製済みディスク用の新しいラベルは、必ず作成してください。作成しないと、その他のソフトウェア製品によって UUID の重複が検出された時点で、EFI ラベル付きディスクのデータが破壊されることがあります。
次に例を示します。
EFI ラベル付きディスクを複製します。次に例を示します。
# dd if=/dev/rdsk/c0t0d0 of=/dev/rdsk/c0t2d0 bs=128k |
複製対象のディスクの prtvtoc 出力を fmthard コマンドにパイプして、複製済みディスク用の新しいラベルを作成します。次に例を示します。
# prtvtoc /dev/rdsk/c0t0d0 | fmthard -s - /dev/rdsk/c0t2d0 |
EFI ディスクラベルの詳細は、「EFI ディスクラベル」を参照してください。