rsync, is a reliable choice for copying large amounts of data. You can prepare the command and perform a dry-run before committing to the copy; add
--dry-run to simulate the copy.
Your final command will be fairly simple:
sudo rsync -vaE --progress /Volumes/SourceName /Volumes/DestinationName
The flags are:
v increases verbosity.
a applies archive settings to mirror the source files exactly, including symbolic links and permissions.
E copies extended attributes and resource forks (OS X only).
progress provides a count down and transfer statistics during the copy.
sudo, is used to ensure
rsync has appropriate rights to access and read all files on your drive regardless of owner. This also allows
rsync to write the files to the new drive recreating the original owner information.
rsync is likely the best choice because it can be rerun in case of problems, offers detailed logging, and is as fast as can be while remaining safe.
There are numerous guides for getting the most from
rsync, rsync command examples provides relevant examples. As @GordonDavisson comments below, take care with the trailing slashes; these can make a world of difference if your copy starts with a folder.
Alternative tools include
cp. Both are reasonable choices but offer differing syntax.