এক সার্ভার থেকে অন্য সার্ভারে প্রায় 300gb ফাইলগুলিতে স্থানান্তর করা


20

আমার প্রায় 200,000 ফাইল রয়েছে যা আমি আজ একটি নতুন সার্ভারে স্থানান্তর করছি। আমি এর আগে এত বড় আকারে কিছুই করি নি, এবং কীভাবে আমার এই সম্পর্কে যেতে হবে সে সম্পর্কে কিছু পরামর্শ নিতে চেয়েছিলাম। আমি তাদের দুটি সেন্টো 6 ডিস্ট্রো-র মধ্যে স্থানান্তরিত করছি এবং তারা দেশের বিভিন্ন স্থানে রয়েছে। মূল সার্ভারে আমার কাছে পর্যাপ্ত এইচডিডি স্পেস নেই যে সমস্ত ডিরেক্টরি এবং ফাইলগুলিকে একটি বৃহত টার্বল-এ পরিণত করতে পারে, তাই আমার প্রশ্ন হল এই ফাইলগুলি কীভাবে স্থানান্তর করা উচিত? rsync? আরএসএনসি ব্যবহারের কিছু বিশেষ উপায়? কীভাবে এটি করা যায় সে সম্পর্কে কোনও ইনপুট / পরামর্শগুলি আশ্চর্যজনক হবে।

ধন্যবাদ

সম্পাদনা করুন: যারা ভাবছেন তাদের জন্য, আমি এইভাবে screenএকটি বৃহত rsyncকমান্ড চালানোর সময় একটি ব্যবহার করার পরামর্শ দিই । বিশেষত যখন মূর্খ কিছু ঘটতে পারে এবং আপনি সার্ভার A এর সাথে সংযোগটি হারাবেন যা থেকে আপনি rsyncকমান্ডটি চালাচ্ছেন । তারপরে কেবল পর্দাটি আলাদা করুন এবং এটি পরে আবার চালু করুন।


4
আপনি কি rsyncএখনও চেষ্টা করেছেন ? ফাইলের একটি ছোট সেট বা তাই হতে পারে? এটির জন্য আদর্শ সরঞ্জাম হওয়া উচিত।
slhck

এটি অবশ্যই এই কাজের সেরা সরঞ্জাম নয়, তবে আপনি এই বিষয়ে আগ্রহী হতে পারেন যে আপনি ফাইলটি সরিয়ে দেওয়ার আগে কোনও ফাইলকে সংকুচিত করার চেয়ে tar cz | ssh user@example.com tar xz
এসএসএস

2
এটি বিষয়বস্তু থেকে মুক্ত হতে পারে তবে (বিশেষত প্রাথমিক লোডের জন্য, এবং তারপরে rsyncপরবর্তী আপডেটগুলির জন্য ব্যবহার করে ): "টেপগুলি পূর্ণ কোনও স্টেশন ওয়াগনের ব্যান্ডউইথকে কখনই অবমূল্যায়ন করবেন না" (যেমন: আপনি কি ২ য় এইচডি রাখার কথা বিবেচনা করেছেন (বা ইউএসবি 2 প্লাগ করবেন? / ইউএসবি 3 ডিস্ক), এতে ব্যাকআপ রাখুন এবং ফেডেক্সের মাধ্যমে সেটিকে দূরবর্তী স্থানে প্রেরণ করুন? এটি অন্য যে কোনও কিছুর চেয়ে অনেক দ্রুত হতে পারে এবং অন্যান্য ব্যবহারের জন্য ব্যান্ডউইথ সংরক্ষণ করতে পারে
অলিভিয়ার ডুলাক ২

একটি সরবরাহকারীর কাছে আমার কোনও বিডব্লিউ সীমা নেই এবং অন্যটি আমি এই মাসে পৌঁছাতে পারি না। সুতরাং আমার সত্যিই এটি নষ্ট করার কোনও সমস্যা নেই: পি
মাস্টারগেরি

উত্তর:


24

কেবল সাইমনের উত্তর খুঁজে বের করা , rsyncএই কাজের উপযুক্ত উপায়:

   Rsync  is  a  fast  and extraordinarily versatile file copying
   tool.  It can copy locally,  to/from  another  host  over  any
   remote  shell,  or to/from a remote rsync daemon.  It offers a
   large number of options  that  control  every  aspect  of  its
   behavior  and permit very flexible specification of the set of
   files to be copied.  It is famous for its delta-transfer algo‐
   rithm,  which reduces the amount of data sent over the network
   by sending only the differences between the source  files  and
   the  existing  files in the destination.  Rsync is widely used
   for backups and mirroring and as an improved copy command  for
   everyday use.

ধরে নিই যে রিমোট মেশিনে আপনার ssh অ্যাক্সেস রয়েছে, আপনি এরকম কিছু করতে চাইবেন:

rsync -hrtplu path/to/local/foo user@remote.server.com:/path/to/remote/bar

এই ডিরেক্টরিটি কপি হবে path/to/local/fooথেকে /path/to/remote/barদূরবর্তী সার্ভারে। নামের একটি নতুন উপ-ডিরেক্টরি তৈরি করা bar/fooহবে। আপনি শুধুমাত্র কপি করতে চান বিষয়বস্তু লক্ষ্যে সেই নামের একটি ডিরেক্টরি তৈরি ছাড়া, একটি ডিরেক্টরি, একটি trailing স্ল্যাশ যোগ করুন:

rsync -hrtplu path/to/local/foo/ user@remote.server.com:/path/to/remote/bar

এটি বিষয়বস্তুগুলি foo/দূরবর্তী ডিরেক্টরিতে অনুলিপি করবে bar/

কয়েকটি প্রাসঙ্গিক বিকল্প:

 -h,                         output numbers in a human-readable format 
 -r                          recurse into directories
 -t, --times                 preserve modification times
 -p, --perms                 preserve permissions
 -l, --links                 copy symlinks as symlinks
 -u, --update                skip files that are newer on the receiver
 --delete                    delete extraneous files from dest dirs
 -z, --compress              compress file data during the transfer
 -C, --cvs-exclude           auto-ignore files in the same way CVS does
 --progress                  show progress during transfer
 --stats                     give some file-transfer stats

rsync -hrtplu --progressআমি অগ্রগতিটি যেভাবে চলছে তা দেখতে চাইলে আমি কি করতে পারি ?
মাস্টারগেরি

@ মাস্টারগেরি হ্যাঁ আমার একটি ব্যাকআপ স্ক্রিপ্ট রয়েছে যা চলে rsync --progress --stats -hrtl --update source destination
টেরডন

আমার মনে হচ্ছে এটি চালাতে সমস্যা হচ্ছে। rsync -hrtplu --progress --rsh='ssh -p2202'যা আমি ব্যবহার করছি এবং এটি সংযোগ করতে পারে না। 255 ত্রুটি পেতে থাকুন। তবে আমি এতে shুকে পড়েছি। সুতরাং আমি জানি এটি ফায়ারওয়াল নয় ... আমারও কি সিএমডি দিয়ে পাসওয়ার্ড দেওয়ার দরকার আছে? বা এটি কেবল এর জন্য আমাকে জিজ্ঞাসা করবে না?
মাস্টারগেরি

ডার্প, এনভিএম আমি আমার ফায়ারওয়ালে আউটবাউন্ড ট্র্যাফিকের কথা ভুলে গিয়েছিলাম। ধন্যবাদ
মাস্টারগেরি

গুরুত্বপূর্ণ দ্রষ্টব্য: "--ডিলেট" ব্যবহার করার সময় আরএসইএনসি সহ অতিরিক্ত সতর্কতা অবলম্বন করুন: এ সম্পর্কে প্রচুর পড়ুন, অন্যান্য (/ টিএমপি / ...) ফোল্ডারগুলি পরীক্ষা করুন এবং "/" পেছন যুক্ত করার সময় বা পরিবর্তনগুলি থেকে সাবধান থাকুন উত্স dir (গুলি) বা গন্তব্য dir এর শেষে।
অলিভিয়ার ডুলাক

14

এটি কতটা দ্রুত অনুলিপি করা প্রয়োজন এবং কতটা ব্যান্ডউইথ পাওয়া যায় তার উপর নির্ভর করে।

দুর্বল নেটওয়ার্ক সংযোগের জন্য টেপগুলি পূর্ণ একটি ট্রাকের ব্যান্ডউইথ বিবেচনা করুন। (পড়ুন: একটি 2.5 ইঞ্চি এইচডিডি মেল করুন বা কেবল এটি নিজেই সেখানে চালান। 300 গিগাবিট ড্রাইভগুলি খুঁজে পাওয়া সহজ হওয়া উচিত)।

যদি এটির সমালোচনা কম হয় বা আপনার প্রচুর পরিমাণে ব্যান্ডউইথ হয় তবে আরএসএনসিআর দুর্দান্ত। যদি কোনও ত্রুটি থাকে তবে আপনি কেবল আগের ফাইলগুলি অনুলিপি না করেই চালিয়ে যেতে পারেন।

[সম্পাদনা] আমি যুক্ত করতে ভুলে গেছি যে যদি আপনার অনুলিপিটির সময় ডেটা ব্যবহার হয় তবে আপনি বেশ কয়েকবার আরএসসিএন চালাতে পারবেন।

উদাহরণ:
1) ব্যবহৃত ডেটা। Rsync -> সমস্ত ডেটা অনুলিপি করা হয়। এটি কিছু সময় নিতে পারে।
2) আরএসসিএন আবার চালান, শুধুমাত্র পরিবর্তিত ফাইলগুলি অনুলিপি করা হয়। এটি দ্রুত হওয়া উচিত।

কোনও পরিবর্তন না হওয়া পর্যন্ত আপনি এটি বেশ কয়েকবার করতে পারেন বা অনুলিপিটির সময় কেবলমাত্র ডেটা পঠনযোগ্য করে তৈরি করে আপনি এটি স্মার্ট / নিরাপদ উপায়ে করতে পারেন। (উদাঃ যদি এটি ব্যবহৃত শেয়ারড সেটে থাকে তবে সেগুলি কেবল পঠনের জন্য ভাগ করা হয় Or


1
কোনও সার্ভার এমন কোথাও বাস করা উচিত নয় যেখানে ব্যান্ডউইদথ উপযুক্ত সময়ে 300G হ্যান্ডেল করতে পারে না ...
ড্যান

1
এটি 'যুক্তিসঙ্গত' এর উপর নির্ভর করে। বলুন যে দুর্বলতম লিঙ্কটি 100 এমবিট (যদি তা অফিস থেকে আপলোডের সীমা বা অন্যদিকে ডাউনলোডের ক্ষেত্রে হয় তবে আমার কোনও যত্ন নেই)। এটি মোটামুটি 10MB / সেকেন্ডের জন্য অনুমতি দেয়। (দশ দ্বারা বিভাজন যুক্তিসঙ্গত বলে মনে হচ্ছে, আমি জানি যে সমস্ত কিছু ঠিকঠাকভাবে চলতে থাকলে আপনি কিছুটা আরও বেশি পেতে পারেন Eg উদাহরণস্বরূপ অন্য কেউ কোনও কিছুর জন্য লাইনটি ব্যবহার করছে না)। 10 এমবি / সেকেন্ড ~~ 600 এমবি / মিনিট ~~ 36000 এমবি / ঘন্টা ~~ 36 জিবি / ঘন্টা ~~ 300 জিবি 8h20 মিনিট। এটি রাতারাতি করণীয়। এটি অনেক অনুমানও করে। উদাহরণস্বরূপ যদি আপলোডটি মাত্র 2 এমবিট হয় (আমাদের সেই গতিগুলির সাথে অফিস রয়েছে) এটি দীর্ঘ 50 মিনিট (415 ঘন্টা বা 17.3 দিন) লাগে।
হেনেস

বাবা! হ্যাঁ, 8-10 যুক্তিসঙ্গত, তবে আমি আসলে অনেকগুলি অনুমান করছিলাম।
ড্যান

2
@ ড্যান যদি এটি প্রয়োজন হয় যে সার্ভারটি আপ এবং অনুরোধগুলি সরবরাহ করে তবে আপস্ট्रीम ব্যান্ডউইথকে স্যাচুরেট করা সম্ভবত একটি খারাপ ধারণা। সুতরাং আপনাকে অ্যাকাউন্টে স্থানান্তর গতির কৃত্রিমভাবে থ্রোট্ট করতে হবে।
বব

6

আমি আরএসএনসি-র জন্য যাব! আমি এটি আমার সার্ভারটিকে একটি অফসাইট সার্ভারে ব্যাকআপ করতে ব্যবহার করছি এবং এটি দুর্দান্ত কাজ করে। সাধারণত কপি করার জন্য কয়েকটি এমবি থাকে তবে কিছু দিন এটি 20-30 জিবি পর্যন্ত যায় এবং এটি কোনও সমস্যা ছাড়াই সর্বদা কাজ করে।


0

গিগাবিট সংযোগ ব্যবহার করে এনএফএসের উপর আরএসআইএনসি প্রায় 10 ঘন্টা লাগবে। এইচডিডি তে ডেটা অনুলিপি করা এবং সার্ভারের মধ্যে তাদের সরিয়ে নেওয়া ভাল। আপনার যদি সত্যিকারের ডিস্কের এক থেকে এক অনুলিপি তৈরি করতে হয় তবে ডিস্কের কাঁচা চিত্র তৈরি করতে ডিডি বা এর মতো কিছু ব্যবহার করুন। Ssh (scp) ব্যবহারের ফলে বিশাল ওভারহেডের কারণ হয়। গিগাবিট সংযোগে পরীক্ষামূলকভাবে পরীক্ষিত। এইচএতে বা ব্যাকআপ মোডে ব্যবহৃত দুটি সার্ভারের মধ্যে ইনক্রিমেন্টাল সিঙ্ক্রোনাইজেশন তৈরির ক্ষেত্রে আরএসআইএনসি ভাল। আমি অনুমান করি.


এই উত্তরের ভাষা এবং স্টাইলকে উন্নত করা দরকার।
এফএসম্যাক্সবি

অনুলিপি ফাইলগুলি অনুলিপি করার সময় বিশেষত দুর্দান্ত হয়। এটি কয়েকবার চালান। প্রথমবার সমস্ত ডেটা অনুলিপি করা হয়। দ্বিতীয়বার কেবল প্রথম (দীর্ঘ) অনুলিপি চলাকালীন যা পরিবর্তন হয়েছিল। তৃতীয়বার রাতে বা কেবল পাঠযোগ্য শেয়ারগুলি দিয়ে করা হত।
হেনেস

will took nearly about 10h. It will be better to copy data on HDD and move them between server.এটি বাদে এটি সারা দেশে, সুতরাং এটি আরও বেশি সময় নিতে চাই।
রব

@ এফএসম্যাক্সবি: আমি এটি পরে করব
পাভেল

@ রব: আমি এটি পড়েছি;) সার্ভার দুটি পৃথক স্থানে রয়েছে। সুতরাং, আপনাকে গণনা করতে হবে, আপনার জন্য কী আরও ভাল হবে। দেশজুড়ে ভ্রমণ করা (জ্বালানী ব্যয় পরীক্ষা করা ইত্যাদি) অথবা নেটওয়ার্ক সংযোগ ব্যবহার করে। কী বেশি উপকারী হবে।
পাভেল

0

প্রথমবারের মতো এনএফএস এবং তার / আনতার ব্যবহার করুন (এনপিএফ এই ক্ষেত্রে দ্রুত প্রোটোকল, আরও সিপিইউ ব্যবহারের মাধ্যমে নেটওয়ার্ক ব্যান্ডউইদথকে সংরক্ষণ করার জন্য ট্যার)

tar cf - * | ( cd /target; tar xfp -)

পরের বার / গুলি ব্যবহার করুন rsync


আপনার যদি পর্যাপ্ত সিপিইউ শক্তি থাকে তবে লুপটিতে জিজিপ যুক্ত করে আপনি এতে উন্নতি করতে পারেন। এবং এনএফএস ছাড়া আপনি নেটক্যাট ব্যবহার করতে পারেন। (অথবা উভয়ই: tar -cf - * | gzip | nc -p 4567এবং nc -l 4567 | gunzip | tar xf -
হেনেস

ধন্যবাদ হেনেস, এটি আমার ধারণা ছিল, তবে আমি পাইপগুলিতে জিজিপ ভুলে গেছি
জেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.