use of the DD command

i want to clone a harddisk with the DD command. I need two
full identik Harddisk insert in my system. How must i proceed
to clone my disk?

Following found on sunsolve.sun.com. Searched for 'clone disk':

           The following infodoc/SRDB assumes a PATH variable that contains /usr/sbin and 
           /usr/bin. For commands or files that normally exist outside of these common 
           directories, full paths are specified.
                 
           How to Clone a Boot Disk using the "dd" command.

           If the precautions below aren't followed, dd is not the most reliable method of copying
           OS filesystems.  But it is the quickest.
           Other methods include ufsdump/ufsrestore, tar, cpio and of course installing
           OS from the CDs or from a Jumpstart server.

           In order to reduce possibilities of a corrupted copy, the following precautions should be 
           taken:

           1. Entire disk should be in an idle state \(unmounted\).  Best way to accomplish this is
              to boot from CDROM, then attempt to clone the disks.
              
              Dd copies raw data in blocksize chunks.  If the filesystem being copied is active
              \(files are being written, modified and possibly relocated by the OS\) while dd is
              copying the raw data, the copy will be corrupted.  Dd has no way of locking the
              filesystem during copy, so it is imperative that dd is the only process using the
              disk.
              
           2. The destination disk has to be identical to the source disk \(including model
              number and geometry\).  This is because dd copies the entire disk image \(including
              the label \{vtoc\}\).  So, if a 9Gb Seagate drive was dd'd to a 36Gb IBM drive, then
              after the operation, the 36Gb IBM drive would show up as a Seagate 9Gb and there
              is no easy way to reclaim the missing space.
              
           3. Hardware config. of the cloned machines must be identical to the source machine.
              HW platform \(uname -i\), location of the disk controllers, video cards, etc., has
              to be identical.
              
           4. Make sure that slice 2 on source and destination drive spans the entire disk.

           NOTE:

           Often a question comes up about what dd does with bad disk blocks.  Here is an
           explanation:

           Dd doesn't copy bad blocks because it actually copies logical blocks,
           not physical ones.  And we're hoping here, at least, that the bad blocks
           have already been mapped out by the disk controller to somewhere where they
           can't harm anyone.  Bad block information is hidden in the disk itself.
           The OS maintains a bad block list, because it is still "capable" of supporting
           vintage SMD and IPI drives, which did not manage this internally.  However, all drives
           that we use now do internal management of bad block lists, and these lists are
           hidden from the system.

           The Procedure:

           1.  Bring the machine down \(init 0 or init 5\) and power down.

           2.  Install disk to be used as a destination for the cloning.

           3.  Power up and insert a Solaris OS CD \(in multi-volume OS use OS disk 1 of 2\).

           4.  Boot from the CD \(boot cdrom -s\)

           5.  Use the dd command to copy the master disk to the clone disk.

               \# dd if=/dev/rdsk/cXtXdXs2 of=/dev/rdsk/cYtYdYs2 bs=blocksize

                  if=/dev/dsk/cXtXdXs2  Represents the master disk device as the input
                                        device.

                  of=/dev/dsk/cYtYdYs2  Represents the clone disk device as the output
                                        device.
                                        
                                        We are assuming here that slice \(partition\) 2 spans
                                        the entire drive.

                  bs=blocksize          Block size.  Changing blocksize will change speed
                                        of the procedure.  Bigger blocks mean faster copy.
                                        That number is limited by amount of virtual memory
                                        on the machine.  Must be a multiple of 512.
                                        Good starting number is 1024k  \(1Mb\).

                Example:
                \# dd if=/dev/rdsk/c1t1d0s2 of=/dev/rdsk/c1t4d0s2 bs=1024k
                
           6.   On the cloned disk, fsck all slices containing filesystems.

           7.   Bring the machine down \(halt\) and remove the cloned disk.
                It can now be used on another identical machine \(or stored as a backup drive\).
                In order to be able to boot from the cloned disk, it must be placed at the same
                address \(target\) as the original.
                
           Note:
           When the cloned disk is used on another machine, the best way to change the IP addr, 
           hostname and other system parameters is to boot into singleuser mode, then run
           sys-unconfig command.  During the next boot you will be asked to enter the new parameters.

           Keywords: configuration, configured, configure, copy

           Formerly InfoDoc 1794