Skip Navigation Links | |
Exit Print View | |
System Administration Guide: Devices and File Systems Oracle Solaris 10 8/11 Information Library |
1. Managing Removable Media (Overview)
2. Managing Removable Media (Tasks)
3. Accessing Removable Media (Tasks)
4. Writing CDs and DVDs (Tasks)
5. Managing Devices (Overview/Tasks)
6. Dynamically Configuring Devices (Tasks)
7. Using USB Devices (Overview)
9. Using InfiniBand Devices (Overview/Tasks)
11. Administering Disks (Tasks)
12. SPARC: Setting Up Disks (Tasks)
13. x86: Setting Up Disks (Tasks)
14. Configuring Oracle Solaris iSCSI Targets and Initiators (Tasks)
15. The format Utility (Reference)
16. Managing File Systems (Overview)
17. Creating and Mounting File Systems (Tasks)
18. Using The CacheFS File System (Tasks)
19. Configuring Additional Swap Space (Tasks)
20. Checking UFS File System Consistency (Tasks)
21. UFS File System (Reference)
22. Backing Up and Restoring UFS File Systems (Overview)
23. Backing Up UFS Files and File Systems (Tasks)
24. Using UFS Snapshots (Tasks)
25. Restoring UFS Files and File Systems (Tasks)
26. UFS Backup and Restore Commands (Reference)
27. Copying Files and File Systems (Tasks)
Commands for Copying File Systems
Copying Directories Between File Systems (cpio Command)
How to Copy Directories Between File Systems (cpio)
Copying Files and File Systems to Tape
Copying Files to Tape (tar Command)
How to Copy Files to a Tape (tar)
How to List the Files on a Tape (tar)
How to Retrieve Files From a Tape (tar)
Copying Files to a Tape With the pax Command
How to Copy Files to a Tape (pax)
Copying Files to Tape With the cpio Command
How to Copy All Files in a Directory to a Tape (cpio)
How to List the Files on a Tape (cpio)
How to Retrieve All Files From a Tape (cpio)
How to Retrieve Specific Files From a Tape (cpio)
Copying Files to a Remote Tape Device
How to Copy Files to a Remote Tape Device (tar and dd)
How to Extract Files From a Remote Tape Device
Copying Files and File Systems to Diskette
What You Should Know When Copying Files to Diskettes
How to Copy Files to a Single Formatted Diskette (tar)
How to List the Files on a Diskette (tar)
How to Retrieve Files From a Diskette (tar)
Archiving Files to Multiple Diskettes
Two commands are used to copy file systems between disks:
volcopy
dd
For more information about volcopy, see volcopy(1M).
The next section describes how to use the dd command to copy file systems between disks.
The dd command makes a literal (block-level) copy of a complete UFS file system to another file system or to a tape. By default, the dd command copies standard input to standard output.
Note - Do not use the dd command with variable-length tape drives without first specifying an appropriate block size.
You can specify a device name in place of standard input or standard output, or both. In this example, the contents of the diskette are copied to a file in the /tmp directory:
$ dd < /floppy/floppy0 > /tmp/output.file 2400+0 records in 2400+0 records out
The dd command reports on the number of blocks it reads and writes. The number after the + is a count of the partial blocks that were copied. The default block size is 512 bytes.
The dd command syntax is different from most other commands. Options are specified as keyword=value pairs, where keyword is the option you want to set and value is the argument for that option. For example, you can replace standard input and standard output with this syntax:
$ dd if=input-file of=output-file
To use the keyword=value pairs instead of the redirect symbols, you would type the following:
$ dd if=/floppy/floppy0 of=/tmp/output.file
Keep the following key points in mind when you consider copying a disk:
Do not use this procedure to copy a disk that is under the control of a volume manager.
The primary methods for copying UFS file system data from one disk or system to another disk or system is by using the ufsdump and ufsrestore commands. For more information on using these commands, see Chapter 22, Backing Up and Restoring UFS File Systems (Overview).
You can clone systems by creating a flash archive and copying it to destination systems. For more information about creating a flash archive, see Oracle Solaris 10 8/11 Installation Guide: Solaris Flash Archives (Creation and Installation).
If you are copying a disk with an EFI disk label, see Example 27-2.
If you are still considering copying a disk with the dd command keep the following cautions in mind:
Make sure that the source disk and destination disk have the same disk geometry.
Check the UFS file systems on the disk to be copied with the fsck utility.
Make sure the system is in single-user mode when copying a disk with the dd command.
# touch /reconfigure
# init 0
ok boot -s
# dd if=/dev/rdsk/device-name of=/dev/rdsk/device-name bs=block-size
Represents the overlap slice of the master disk device, usually slice 2.
Represents the overlap slice of the destination disk device, usually slice 2.
Identifies the block size, such as 128 KB or 256 KB. A large block size decreases the time it takes to copy the disk.
For more information, see dd(1M).
# fsck /dev/rdsk/device-name
# mount /dev/dsk/device-name /mnt
# cd /mnt/etc
For example, change all instances of c0t3d0 to c0t1d0.
# cd /
# umount /mnt
# init 0
# boot diskn -s
Note - The installboot command is not needed for the destination disk because the boot blocks are copied as part of the overlap slice.
# sys-unconfig
The system is shut down after it is unconfigured.
# boot diskn
hostname console login:
Example 27-1 Copying a Disk With a VTOC Label (dd)
This example shows how to copy the master disk (with a VTOC label) /dev/rdsk/c0t0d0s2 to the destination disk /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
Example 27-2 Copying a Disk with an EFI Label (dd)
In previous Solaris releases, slice 2 (s2) was used to represent the entire disk. On a disk with an EFI label, you must use a slightly different procedure to clone or copy disks larger than 1 terabyte so that the UUID of cloned disks is unique. If you do not create a new label for the cloned disk, other software products might corrupt data on EFI-labeled disks if they encounter duplicate UUIDs.
For example:
Clone the disk with an EFI label. For example:
# dd if=/dev/rdsk/c0t0d0 of=/dev/rdsk/c0t2d0 bs=128k
Pipe the prtvtoc output of the disk to be copied to the fmthard command to create a new label for the cloned disk. For example:
# prtvtoc /dev/rdsk/c0t0d0 | fmthard -s - /dev/rdsk/c0t2d0
For more information about EFI disk labels, see EFI Disk Label.