1 # 2 # Copyright (c) 1999 Network Appliance, Inc. All Rights Reserved. 3 # 4 5 # 6 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7 # Use is subject to license terms. 8 # 9 10 # Permission is hereby granted, free of charge, to any person obtaining 11 # a copy of this software and associated documentation files (the 12 # "Software"), to deal in the Software without restriction, including 13 # without limitation the rights to use, copy, modify, merge, publish, 14 # distribute, sublicense, and/or sell copies of the Software, and to 15 # permit persons to whom the Software is furnished to do so, subject to 16 # the following conditions: 17 # 18 # The above copyright notice and this permission notice shall be included 19 # in all copies or substantial portions of the Software. 20 # 21 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 22 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 24 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 26 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 27 # DEALINGS IN THE SOFTWARE. 28 # 29 30 DESCRIPTION 31 =========== 32 Ndmpcopy transfers data between filers using the Network Data 33 Management Protocol (NDMP) version 4. When you use rsh to 34 perform this transfer, the data flows from the source machine 35 to the rsh host and then again from the rsh host to the 36 destination machine. This can put a double load on the network 37 and unneccessary load on the rsh host. With ndmpcopy, data is 38 transferred directly from the source machine to the destination 39 machine, and the NDMP host and network are not burdoned with 40 the extra load. 41 42 When you run ndmpcopy it will contact the NDMP server processes on 43 the source and destination machines and authenticate the connection. 44 It will then initiate a backup on the source machine and a restore 45 on the destination machine. The transfer will happen between the 46 two machines directly, only burdoning the NDMP host with status 47 messages instead of all of the backup data. Initial tests have 48 demonstrated double the performance when using ndmpcopy instead 49 of rsh. 50 51 TEST SUITE INSTALLATION 52 ======================= 53 54 To install ndmpcopy, download the ndmpcopy package "SUNWstc-ndmpcopy" 55 from <GATE_PATH>/packages/`uname -p` 56 Install the package using pkgadd. 57 58 TEST SUITE CONFIGURATION 59 ======================== 60 1. Create a destination directory on the destination Network Attached Storage 61 (NAS), with size equal to or greater than the source directory/file system 62 to be copied. 63 2. Create a ndmp user on Solaris Nevada or Opensolaris or Sun Unified Storage 7000 Series. The default encryption mechanism should be md5. 64 A ndmp user can be created on Solaris Nevada as below : 65 # ndmpadm enable -a cram-md5 -u admin 66 67 TEST SUITE EXECUTION 68 ==================== 69 70 ndmpcopy binary is created in ndmpcopy/bin directory. 71 Usage: ndmpcopy src_filer:/src/dir dest_filer:/dest/dir 72 [-sa none | user:password] [-da none | user:password] 73 [-sport ndmp_src_port] [-dport ndmp_dest_port] 74 [-dhost ndmp_dest_ip_addr] [-level ndmp_dump_level] 75 [-v] [-q] [-dpass] [-h] 76 77 Defaults: 78 src_auth_type = text 79 src_auth_user = root 80 src_auth_password = 81 dest_auth_type = text 82 dest_auth_user = root 83 dest_auth_password = 84 ndmp_src_port = 0 (0 means NDMP default, usually 10000) 85 ndmp_dest_port = 0 (0 means NDMP default, usually 10000) 86 ndmp_dump_level = 0 (valid range: 0 - 9) 87 ndmp_dest_ip_addr = (no default: user needs to override dest_filer value) 88 verbosity = noisy 89 different_passwords = no 90 91 92 BUILDING THE ndmpcopy TOOLS (OPTIONAL) 93 ====================================== 94 Pre-requisites 95 -------------- 96 1. Sun Solaris 10 and above Operating System is required. 97 2. Sun Studio 11 or higher to be installed 98 4. /usr/ccs/bin/make should be used for making 99 100 Executing tests using precompiled packages is the method we strongly 101 recommend. However, if, for some reason, you need to build ndmpcopy 102 binaries from source, simply do the following: 103 104 a. Install SUNWstc-tetlite 105 106 Install the precompiled SUNWstc-tetlite package. Detailed instructions 107 for this can be found elsewhere in this document. 108 109 b. Obtain and the Test Suite Source 110 Obtain the test suite source using appropriate source code management 111 (SCM) commands or install the source from a tarball, etc into an STC 112 workspace. The method used to obtain the source code is not important 113 to the build process; the path of ndmpcopy source code is: the source 114 code must be placed under the path "usr/src/tools/ndmpcopy" 115 116 c. Build the source 117 118 It is not required to execute the build process as 'root' 119 120 user$ export TET_ROOT=/opt/SUNWstc-tetlite 121 user$ export CTI_ROOT=$TET_ROOT/contrib/ctitools 122 user$ export TET_SUITE_ROOT=/export/STC/usr/src/tools (example) 123 user$ cd $TET_SUITE_ROOT/ndmpcopy 124 user$ /usr/ccs/bin/make 125 126 The build can also install into a 'proto' directory below the workspace 127 root directory. The workspace root is the directory under which the 128 'usr/src/tools' directory resides (in the example above, the workspace 129 root is "/export/STC"). To install binaries into the proto directory, 130 do: 131 user$ /usr/ccs/bin/make install 132 133 Following this, ndmpcopy binary packages can be constructed using the 134 contents of the proto directory. To build the package, do: 135 136 user$ /usr/ccs/bin/make package 137 138 This can be done in addition to, or instead of, 'make install'. The 139 packages thus constructed will be stored in the 'packages' directory 140 under the workspace root. 141 142 COMPATIBILITY 143 ============ 144 This version of ndmpcopy has been tested on Solaris 10, Solaris Nevada build 103 and OpenSolaris. 145 146