একটি লিনাক্স সার্ভার থেকে অন্য একটিতে বড় ফাইল অনুলিপি করুন


20

আমি আমাদের এমএলএ ডেটা সেন্টারের একটি লিনাক্স সার্ভার থেকে একটি 10 ​​গিগাবাইট লিঙ্কের উপরে আমাদের এনওয়াই তথ্য কেন্দ্রের অন্য একটি লিনাক্স সার্ভারে 75 গিগাবাইট টিজিজেড (মাইএসকিএল এলভিএম স্ন্যাপশট) অনুলিপি করার চেষ্টা করছি।

আমি আরএসসিএনসি বা এসসিপি দিয়ে প্রায় 20-30 কেবি / গুলি পাচ্ছি যা 200-300 ঘন্টাের মধ্যে ওঠানামা করে।

এই মুহুর্তে এটি তুলনামূলকভাবে শান্ত লিঙ্ক কারণ দ্বিতীয় তথ্য কেন্দ্রটি এখনও সক্রিয় নয় এবং আমি ছোট ফাইল স্থানান্তর থেকে দুর্দান্ত গতি অর্জন করেছি।

আমি গুগলের মাধ্যমে খুঁজে পেয়েছি বিভিন্ন টিসিপি টিউনিং গাইডগুলি কোনও লাভ হয়নি (সম্ভবত আমি ভুল গাইডগুলি পড়ছি, ভাল পেয়েছি?)।

আমি টার + নেটকাট টানেলের টিপটি দেখেছি, তবে আমার বোঝাটি হ'ল ফাইলের কার্যকরভাবে স্থানান্তর শেষ হওয়ার পরে প্রচুর ছোট ফাইলই আপনাকে আপডেট করে না for

আমি হার্ড ড্রাইভ শিপিংয়ের অবলম্বন করার আগে কারও কি কোনও ভাল ইনপুট রয়েছে?

আপডেট: ভাল ... এটি পরবর্তী লিঙ্ক হতে পারে :( নীচে আমার পরীক্ষা দেখুন ...

এনওয়াই থেকে এলএতে স্থানান্তর:

একটি ফাঁকা ফাইল প্রাপ্তি।

[nathan@laobnas test]$ dd if=/dev/zero of=FROM_LA_TEST bs=1k count=4700000
4700000+0 records in
4700000+0 records out
4812800000 bytes (4.8 GB) copied, 29.412 seconds, 164 MB/s
[nathan@laobnas test]$ scp -C obnas:/obbkup/test/FROM_NY_TEST .
FROM_NY_TEST                                    3%  146MB   9.4MB/s   07:52 ETA

স্ন্যাপশট তারবাল পাচ্ছেন।

[nathan@obnas db_backup]$ ls -la db_dump.08120922.tar.gz
-rw-r--r-- 1 root root 30428904033 Aug 12 22:42 db_dump.08120922.tar.gz

[nathan@laobnas test]$ scp -C obnas:/obbkup/db_backup/db_dump.08120922.tar.gz .
db_dump.08120922.tar.gz            0%   56MB 574.3KB/s 14:20:40 ET

এলএ থেকে এনওয়াইতে স্থানান্তর:

একটি ফাঁকা ফাইল প্রাপ্তি।

[nathan@obnas test]$ dd if=/dev/zero of=FROM_NY_TEST bs=1k count=4700000
4700000+0 records in
4700000+0 records out
4812800000 bytes (4.8 GB) copied, 29.2501 seconds, 165 MB/s
[nathan@obnas test]$ scp -C laobnas:/obbkup/test/FROM_LA_TEST .
FROM_LA_TEST                                    0% 6008KB 497.1KB/s 2:37:22 ETA

স্ন্যাপশট তারবাল পাচ্ছেন।

[nathan@laobnas db_backup]$ ls -la db_dump_08120901.tar.gz
-rw-r--r-- 1 root root 31090827509 Aug 12 21:21 db_dump_08120901.tar.gz

[nathan@obnas test]$ scp -C laobnas:/obbkup/db_backup/db_dump_08120901.tar.gz .
db_dump_08120901.tar.gz                0%  324KB  26.8KB/s 314:11:38 ETA

আমি অনুমান করি যে এটি যে লোকেরা আমাদের সুবিধাগুলি চালায় তাদের সাথে লিঙ্কটি এমপিএলএস / ইথারনেট 10 এমবি লিঙ্ক হিসাবে চিহ্নিত করা হবে। (অসহায়তা)


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

কি ধরণের বিলম্ব দেখছেন?
13:58

লিঙ্কটি প্রায় 80 এমএস।
নাথান মিলফোর্ড

হ্যাঁ, এখন আমি কেবল বিভ্রান্ত ও হতাশ। আমি এটিকে 50 এমবি অংশে বিভক্ত করেছি এবং এটি এখনও ধীরে ধীরে চলেছে! তবে অন্যান্য ডেটা রাইসিংয়ের ফলে 500 কেবি / সেকেন্ড পাওয়া যায় ... আমি যে মিস করছি তার মধ্যে অবশ্যই কিছু ভীষণরকম হতে হবে ....
নাথান মিলফোর্ড

এর সাথে আপনার ট্র্যাফিকটি পরীক্ষা করুন tcpdump। এটি আপনাকে অনুসন্ধানে সহায়তা করতে পারে, স্থানান্তরকে কী ধীর করে দেয়।
লেকসিস

উত্তর:


16

কেউ কি স্নিকার্নেট?

এটি এক সময়ের অনুলিপি হিসাবে ধরে নেওয়া, আমি মনে করি না যে এটি কেবল কোনও সিডি (বা অন্যান্য মিডিয়া) এ ফাইলটি অনুলিপি করা সম্ভব এবং রাতারাতি এটি গন্তব্যে আছে?

সেই সংযোগের পরে সেই আকারের ফাইল স্থানান্তর হিসাবে এটি সম্ভবত আপনার দ্রুত বিকল্প হতে পারে, সঠিকভাবে অনুলিপি নাও করতে পারে ... সেক্ষেত্রে আপনি আবারও শুরু করতে পারেন।


rsync

আমার দ্বিতীয় পছন্দ / প্রচেষ্টাটি ব্যয়বহুল স্থানান্তর, আংশিক স্থানান্তর ইত্যাদি সনাক্ত করে এবং এটি যেখান থেকে ছেড়ে গেছে সেখান থেকে নিতে পারা যায় বলে এটি সিএসএনসি হবে।

rsync --progress file1 file2 user@remotemachine:/destination/directory

- প্রগ্রেস পতাকাটি আপনাকে কেবল সেখানে বসে এবং নিজেকে দ্বিতীয় অনুমান করার পরিবর্তে কিছু প্রতিক্রিয়া জানাবে। :-)


ভুজ (বিটোরেন্ট)

তৃতীয় পছন্দটি সম্ভবত ভুজকে টরেন্ট সার্ভার হিসাবে ব্যবহার করার চেষ্টা করবে এবং তারপরে আপনার দূরবর্তী অবস্থানটি এটি ডাউনলোড করার জন্য একটি স্ট্যান্ডার্ড বাইটারেন্ট ক্লায়েন্ট ব্যবহার করবে। আমি অন্যদের সম্পর্কে জানি যারা এই কাজটি করেছে তবে আপনি জানেন ... তারা যখন এগুলি চালিয়ে যাচ্ছিল, ইত্যাদির মধ্যে ... আমি রাতারাতি ডেটা দেখতে পারতাম ...

আপনার পরিস্থিতির উপর নির্ভর করে আমার ধারণা।

শুভকামনা!


হালনাগাদ:

আপনি জানেন, আমি আপনার সমস্যাটি সম্পর্কে আরও কিছুটা ভাবছিলাম। ফাইলটি কেন একক বিশাল টার্বল হতে হবে? টার বড় ফাইলগুলিকে ছোট ছোটগুলিতে বিভক্ত করতে পুরোপুরি সক্ষম (উদাহরণস্বরূপ মিডিয়া স্প্যান করতে) তবে কেন সেই বিশাল টারবালকে আরও ম্যানেজযোগ্য টুকরোতে বিভক্ত করে তার পরিবর্তে টুকরোগুলি স্থানান্তরিত করবেন না?


3
+1, যদিও সম্ভবত এই ক্ষেত্রে ব্যয়সাধ্য নয়। হার্ড ড্রাইভে পূর্ণ একটি 747 এর ব্যান্ডউইথকে কখনই কম দেখবেন না :)
চাদ হুনাইকুট

2
আমি লিঙ্কটি খুঁজে পাইনি, তবে কয়েক বছর আগে গুগল চারপাশে ড্রাইভের ক্রেট শিপিংয়ের দিকে তাকিয়ে ছিল। আপনি যদি পয়েন্ট এ থেকে পয়েন্ট বিতে 500TB মোট ড্রাইভের একটি ক্রেট স্থানান্তরিত করতে পারেন তবে আপনি যে কোনও উপায়ে এটি কেটে ফেলেন যে এটি কিছু শক্তিশালী জরিমানা ব্যান্ডউইথ
STW

2
সম্ভবত আপনি এই নিবন্ধটি উল্লেখ করছেন: arstechnica.com/sज्ञान
news

1
হ্যাঁ, আমি একটি হার্ড ড্রাইভ শিপিং শেষ। আসল সমস্যা, বা তাই আমাকে বলা হয়েছিল, স্যুইচ (এসএস) এর প্রবাহ নিয়ন্ত্রণ ছিল।
নাথান মিলফোর্ড

যদি আপনার একাধিক সিডার থাকে তবে বিটোরেন্ট কেবল সরাসরি স্থানান্তরের চেয়ে আরও ভাল কাজ করে। এমনকি ওপি একাধিক মেশিনে বিটি ইনস্টল করলেও তিনি কেবল একটি সংযোগ পেয়েছেন। এবং তিনি ইতিমধ্যে স্থির করে রেখেছেন যে একাধিক ছোট ফাইলগুলি একটি বড় ফাইলের চেয়ে দ্রুত চলে না, যা নেটওয়ার্ক সংযোগে আঙুল দেখায়।
জালারাস

7

আমি অতীতে এটি 60 গিগাবাইট টিবিজেড 2 ফাইল দিয়ে করেছি। আমার কাছে আর স্ক্রিপ্ট নেই তবে এটি পুনরায় লেখার পক্ষে সহজ হওয়া উচিত।

প্রথমে আপনার ফাইলটিকে 2 গিগাবাইট ডলারে বিভক্ত করুন:

split --bytes=2000000000 your_file.tgz

প্রতিটি টুকরো জন্য, একটি এমডি 5 হ্যাশ গণনা করুন (এটি সততা যাচাই করা হয়) এবং এটি কোথাও সঞ্চয় করে রাখুন, তারপরে আপনার পছন্দসই সরঞ্জামটি দিয়ে টুকরো এবং তাদের এমডি 5 রিমোট সাইটে অনুলিপি করতে শুরু করুন (আমি: একটি স্ক্রিনে নেটক্যাট-টার-পাইপ) সেশন).

কিছুক্ষণ পরে, md5 এর সাথে চেক করুন যদি আপনার টুকরা ঠিক আছে, তবে:

cat your_file* > your_remote_file.tgz

আপনি যদি মূল ফাইলটির এমডি 5ও করে থাকেন তবে এটিও পরীক্ষা করে দেখুন। যদি এটি ঠিক থাকে তবে আপনি নিজের ফাইলটি অনার করতে পারবেন, সবকিছু ঠিক আছে।

(আমি যদি সময়টি পাই তবে আমি স্ক্রিপ্টটি আবার লিখব)


5

সাধারণত আমি আরএসসিএনসি-র একজন বড় অ্যাডভোকেট, তবে প্রথমবারের জন্য কোনও একক ফাইল স্থানান্তর করার সময়, এটি খুব বেশি অর্থবোধ করে বলে মনে হয় না। তবে, যদি আপনি কেবলমাত্র সামান্য পার্থক্য সহ ফাইলটি পুনঃস্থাপন করেন তবে আরএসইএনসি স্পষ্ট বিজয়ী হবে। যদি আপনি যাইহোক আরএসসিএনসি ব্যবহার করা চয়ন করেন তবে আমি --daemonকার্য সম্পাদন-হত্যার এসএস টানেলটি মুছে ফেলার জন্য মোডে এক প্রান্তটি চালানোর পরামর্শ দিচ্ছি । ম্যান পেজ এই মোডটি বেশ পুঙ্খানুপুঙ্খভাবে বর্ণনা করে।

আমার সুপারিশ? সার্ভার এবং ক্লায়েন্টগুলির সাথে এফটিপি বা এইচটিটিপি যা বাধা ডাউনলোডগুলি পুনরায় শুরু করতে সহায়তা করে। উভয় প্রোটোকলই এসএস-টানেলের জরিমানা এড়িয়ে দ্রুত এবং হালকা ওজনের। অ্যাপাচি + উইজেট দ্রুত চিৎকার করবে।

নেটক্যাট পাইপ ট্রিকটিও ঠিকঠাক কাজ করবে। একটি একক বৃহত ফাইল স্থানান্তর করার সময় টার প্রয়োজন হয় না। এটি সম্পন্ন হওয়ার পরে এটি আপনাকে অবহিত করার কারণটি আপনি এটি জানান নি। -q0সার্ভারের পাশে একটি পতাকা যুক্ত করুন এবং এটি আপনার প্রত্যাশা মতো ঠিক আচরণ করবে।

সার্ভার $ nc -l -p 5000> outfile.tgz

ক্লায়েন্ট $ nc -q0 server.example.com 5000 <infile.tgz

নেটকাট পদ্ধতির নেতিবাচক দিকটি হ'ল এটি যদি আপনার স্থানান্তরটি 74 গিগাবাইটে মারা যায় তবে এটি আপনাকে পুনরায় শুরু করতে দিবে না ...


Rsyncd এর জন্য +1। আমি আসলে এটি আমার ল্যানে স্থানান্তরিত করতে ব্যবহার করি কারণ আমি সিআইএফএস বা এনএফএসের তুলনায় উচ্চতর থ্রুটপুট দেখতে পাই।
ওপিডিয়ান

1
এফটিপি এবং এইচটিটিপি "এসএসএস-টানাল পেনাল্টি" এড়িয়ে যাওয়ার সময় ডেটা এনক্রিপ্ট না করার জন্য "পেনাল্টি" বিবেচনা করা দরকার।
জে.মনি

3

নেটকাট (কখনও কখনও এনসি বলা হয়) একটি শট দিন। নিম্নলিখিতটি একটি ডিরেক্টরিতে কাজ করে তবে কেবল একটি ফাইল অনুলিপি করার জন্য এটি খুব সহজেই টুইঙ্ক করা উচিত।

গন্তব্য বাক্সে:

netcat -l -p 2342 | tar -C /target/dir -xzf -

উত্স বাক্সে:

tar czf * | netcat target_box 2342

ফাইলটি ইতিমধ্যে সংকুচিত হওয়ায় আপনি আরও কিছুটা গতির জন্য উভয় টার্ম কমান্ডে 'z' বিকল্পটি সরাতে চেষ্টা করতে পারেন।


1

ডিফল্ট এসসিপি এবং রাইকিঙ্ক (যা এসসিপি ব্যবহার করে) বড় ফাইলগুলির জন্য খুব ধীর। আমার ধারণা আমি নীচের ওভারহেড সহ একটি প্রোটোকল ব্যবহার করব। আপনি কি কোনও সহজ এনক্রিপশন সাইফার ব্যবহার করার চেষ্টা করেছেন, বা মোটেও নন? --rshট্রান্সফার পদ্ধতিটি পরিবর্তন করতে rsync এর বিকল্পটি অনুসন্ধান করার চেষ্টা করুন ।

এফটিপি বা এইচটিটিপি কেন নয়?


1
আমি উত্সের কমান্ডলাইনফু থেকে ওল '' পাইথন-এম সিম্পলএইচটিটিপিএস সার্ভার 'করেছি এবং গন্তব্যে ফাইলটি জাগাতে চাই। আমি এখনও "18.5 কে / গুলি এটা 15 ডি 3 এচ" পেয়েছি
নাথান মিলফোর্ড

1

যদিও পরিস্থিতিটিতে এটি খানিকটা ওভারহেড যুক্ত করে বিটটোরেন্ট আসলে বড় ফাইলগুলি স্থানান্তরিত করার জন্য একটি দুর্দান্ত সমাধান। বিটটোরেন্টের অনেকগুলি দুর্দান্ত বৈশিষ্ট্য রয়েছে যেমন স্থানীয়ভাবে একটি ফাইল ছাঁকানো এবং প্রতিটি খণ্ডকে চেকসামিং করা যা দুর্নীতিগ্রস্থ হলে পুনরায় সংক্রমণ করা যায়।

আজুরিয়াসের মতো একটি প্রোগ্রাম [যা এখন ভুজে নামে পরিচিত] আপনাকে সমস্ত অ্যাপ্লিকেশনগুলিতে তৈরি করতে, সার্ভারে এবং টরেন্টগুলি ডাউনলোড করতে হবে all শিমের মাপে অ্যাজুরিয়াস বিটটরেন্টের জন্য সলিউশনগুলির সর্বাধিক হ্রাস নয় এবং আমি মনে করি এটির জিওআইও দরকার - যদিও লিনাক্সের জন্য প্রচুর কমান্ড লাইন চালিত টরেন্ট সরঞ্জাম রয়েছে।


একাধিক বীজ থাকলে কেবল বিটি সরাসরি স্থানান্তরের চেয়ে দ্রুত চলে। তাঁর একক উত্স আছে। আরও গুরুত্বপূর্ণ বিষয়, খারাপ নেটওয়ার্ক সংযোগের সাথে তার একটি একক উত্স নেটওয়ার্ক রয়েছে। এমনকি স্থানীয়ভাবে স্থানীয় একাধিক স্থানে ফাইলটি অনুলিপি করা হয় তবে একাধিক বীজের সাথে বিটি সেট আপ করা সেই খারাপ সংযোগের কারণে উত্পাদনশীল। একাধিক অনুলিপি তৈরি করা এবং বীজ হিসাবে সেগুলি সেটআপ করা হ্রাস করার পরিবর্তে অনুলিপি করা হয় copy ওপি যদি একাধিক প্রাপকদের জন্য একটি বৃহত ফাইল উপলব্ধ করার চেষ্টা করে তবে বিটি একটি কার্যকর সমাধান হতে পারে।
জালারাস

0

ভাল, ব্যক্তিগতভাবে, 20-30 কেবি / গুলি 10 এমবি (10 এমবি নয় 10 এমবি ধরে) লিঙ্কের জন্য বেশ কম মনে হচ্ছে।

আমি যদি আপনি হতাম তবে আমি দুটি জিনিসের একটি করতাম (ধরে নিলাম শারীরিক অ্যাক্সেস উপলব্ধ নয়) -

উভয়টিই, আমি আপনাকে পরামর্শ দিচ্ছি যে বড় ফাইলটি ছোট অংশগুলিতে ভাগ করুন, প্রায় 500 এমবিতে ট্রানজিটে দুর্নীতির ঘটনা ঘটবে।

আপনার যদি ছোট ছোট খণ্ড থাকে, হয় আরএসসিএনটি আবার ব্যবহার করুন, অথবা আমি ব্যক্তিগতভাবে একটি প্রাইভেট সিকিউর এফটিপি অধিবেশন ব্যবহার করতে পছন্দ করি এবং তারপরে সিআরসি ফাইলগুলি সম্পূর্ণ হওয়ার পরে।


0

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


এটি অন্য এমওয়াইএসকিউএল প্রতিরূপের (অন্য কোথাও আমাদের মূল এমওয়াইএসকিউএল উদাহরণের) একটি এলভিএম স্ন্যাপশট। একবার স্থানান্তরিত হয়ে গন্তব্য মাইএসকিএল উদাহরণটি স্ন্যাপশটের (ডেল্টা হিসাবে এটি ব্যবহার করুন) এবং যেখানে এখন মাস্টার রয়েছে তার মধ্যে পার্থক্যটি আপডেট করতে পারে। এটি একটি এমওয়াইএসকিউএল ব্যাকআপ প্রাসঙ্গিক নয়, এটি কেবলমাত্র একবারে আমাকে স্থানান্তরিত করা দরকার ডেটাগুলির একটি বড় অংশ।
নাথান মিলফোর্ড

0

বিবিসিপি আপনার জন্য ফাইল খণ্ডন করবে এবং একাধিক স্ট্রিমের সাথে অনুলিপি করবে।


0

গুগলারের দেরীতে উত্তর:

বড় ডেটাসেট স্থানান্তর করার সময়, আরএসআইএনসি উত্স এবং গন্তব্য তুলনা করতে ব্যবহার করা যেতে পারে, তারপরে - কেবল-রাইটিং-ব্যাচের পতাকা ব্যবহার করে স্থানীয় অপসারণযোগ্য মিডিয়ায় একটি ব্যাচ ফাইল লিখুন। তারপরে আপনি স্থানীয় মিডিয়াটি দূরবর্তী অবস্থানের দিকে চালিত করুন, এটিকে প্লাগ ইন করুন এবং রিসোট ডেটাতে পরিবর্তনগুলি অন্তর্ভুক্ত করতে --read-batch ব্যবহার করে পুনরায় rsync চালনা করুন।

যদি শারীরিক পরিবহণের সময় উত্স ফাইলগুলি পরিবর্তিত হয়, বা পরিবহন মিডিয়াগুলি পূরণ করে তবে আপনি কেবলমাত্র - কেবল-রাইচ-ব্যাচটি পুনরাবৃত্তি করতে পারেন জাহাজ | - পাঠ্য-ব্যাচ চক্র যতক্ষণ না গন্তব্যটি সমস্ত ধরা পড়ে।

(রেফারেন্স: আরএসসিএনসি-তে আমি এই বৈশিষ্ট্যের অন্যতম লেখক ছিলাম - আরও পটভূমি এবং ব্যবহারের ক্ষেত্রে, প্রোটোটাইপ বাস্তবায়নের এই আলোচনাটি দেখুন: https://lists.samba.org/archive/rsync/2005- মার্চ/ 011964 .html )

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