Solaris のシステム管理 (デバイスとファイルシステム)

Procedureディスクをコピーする方法 (dd)

ディスクをコピーする際には次の点に注意してください。

それでもなお、dd コマンドによるディスクコピーを検討する場合は、次の点に注意してください。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. (省略可能) システムがリブート時に必要に応じてコピー先ディスクを認識するように、/reconfigure ファイルを作成します。


    # touch /reconfigure
    
  3. システムをシャットダウンします。


    # init 0
    
  4. コピー先ディスクをシステムに接続します。

  5. システムをブートします。


    ok boot -s
    
  6. ソースディスクをコピー先ディスクへコピーします。


    # dd if=/dev/rdsk/device-name of=/dev/rdsk/device-name bs=block-size
    
    if=/dev/rdsk/device-name

    マスターディスクデバイスのオーバーラップスライスを指定します。通常はスライス 2 です。

    of=/dev/rdsk/device-name

    コピー先ディスクデバイスのオーバーラップスライスを指定します。通常はスライス 2 です。

    bs=blocksize

    ブロックサイズ (128K バイト、256K バイトなど) を指定できます。ブロックサイズの値を大きくすると、ディスクのコピーに要する時間を短縮できます。

    詳細は、dd(1M) のマニュアルページを参照してください。

  7. 新しいファイルシステムを検査します。


    # fsck /dev/rdsk/device-name
    
  8. コピー先ディスクのルート (/) ファイルシステムをマウントします。


    # mount /dev/dsk/device-name /mnt
    
  9. /etc/vfstab ファイルのあるディレクトリに移動します。


    # cd /mnt/etc
    
  10. テキストエディタを使用して、コピー先ディスクの /etc/vfstab ファイルを編集して、正しいデバイス名を参照するようにします。

    たとえば、c0t3d0 のインスタンスをすべて c0t1d0 に変更します。

  11. コピー先ディスクのルート (/) ディレクトリに移動します。


    # cd /
    
  12. コピー先ディスクのルート (/) ファイルシステムをマウント解除します。


    # umount /mnt
    
  13. システムをシャットダウンします。


    # init 0
    
  14. コピー先ディスクからシングルユーザーモードでブートします。


    # boot diskn -s
    

    注 –

    installboot コマンドをコピー先ディスクで実行する必要はありません。これは、ブートブロックがオーバーラップスライスの一部としてコピーされるためです。


  15. コピー先ディスクの構成を解除します。


    # sys-unconfig
    

    構成を解除すると、システムが停止します。

  16. 再びコピー先ディスクからブートし、ホスト名や時間帯などのシステム情報を与えます。


    # boot diskn
    
  17. システムがブートしたら、スーパーユーザーとしてログインしてシステム情報を確認します。


    hostname console login:

例 28–1 VTOC ラベル付きディスクをコピーする (dd)

次の例では、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


例 28–2 EFI ラベル付きディスクをコピーする (dd)

以前の Solaris リリースでは、ディスク全体がスライス 2 (s2) で表されていました。EFI ラベル付きディスクの場合、複製後のディスクに一意の UUID を割り当てる必要があるため、1T バイトを超えるサイズのディスクを複製 (コピー) する場合、若干異なる方法を使用する必要があります。複製済みディスク用の新しいラベルは、必ず作成してください。作成しないと、その他のソフトウェア製品によって UUID の重複が検出された時点で、EFI ラベル付きディスクのデータが破壊されることがあります。

次に例を示します。

  1. EFI ラベル付きディスクを複製します。次に例を示します。


    # dd if=/dev/rdsk/c0t0d0 of=/dev/rdsk/c0t2d0 bs=128k
    
  2. 複製対象のディスクの prtvtoc 出力を fmthard コマンドにパイプして、複製済みディスク用の新しいラベルを作成します。次に例を示します。


    # prtvtoc /dev/rdsk/c0t0d0 | fmthard -s - /dev/rdsk/c0t2d0
    

EFI ディスクラベルの詳細は、「EFI ディスクラベル」を参照してください。