15TB ক্ষুদ্র ফাইল স্থানান্তর করুন


79

আমি একটি সার্ভার থেকে অন্য সার্ভারে তথ্য সংরক্ষণাগার করছি। প্রাথমিকভাবে আমি একটি rsyncকাজ শুরু করি । ফাইল তালিকাটি তৈরি করতে মাত্র 5 টিবি ডেটা এবং আরও 1 সপ্তাহ টি 1 টিবি ডেটা স্থানান্তর করতে লেগেছিল 2 সপ্তাহ took

তারপরে নতুন সার্ভারে আমাদের কিছুটা সময় প্রয়োজন বলে আমাকে কাজটি হারাতে হয়েছিল।

এটি সম্মত হয়েছে যে আমরা সম্ভবত এটি পুনরায় অ্যাক্সেস করার প্রয়োজন হবে না বলে আমরা এটি ব্যয় করব। আমি এটিকে 500 জিবি খণ্ডে ভাঙার কথা ভাবছিলাম। আমি tarএটি পরে আমি পরে এটি অনুলিপি করতে যাচ্ছি ssh। আমি ব্যবহার করছিলাম tarএবং pigzএটি এখনও খুব ধীর।

এটা করতে একটি ভাল উপায় আছে কি? আমার মনে হয় দুটি সার্ভারই ​​রেডহ্যাটে রয়েছে। পুরাতন সার্ভারটি এক্সট 4 এবং নতুনটি এক্সএফএস।

ফাইলের আকারগুলি কয়েক কেবি থেকে কয়েক এমবি পর্যন্ত এবং 5 টিবিতে 24 মিলিয়ন জেপিগ রয়েছে। সুতরাং আমি 15 টিবির জন্য প্রায় 60-80 মিলিয়ন অনুমান করছি।

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



2
একটি বিকল্প হ'ল একটি বাহ্যিক ড্রাইভে সংকুচিত টার ফাইলগুলি তৈরি করা এবং এটি নতুন সিস্টেমে নিয়ে যাওয়া। অতিরিক্ত ডিস্কটি টার ফাইলগুলি তৈরি করার গতি বাড়িয়ে তুলবে (সিস্টেমে বিদ্যমান ডিস্কগুলিতে লেখা হবে না, সম্ভবত সেগুলি থেকে 15 টিবি পড়ার চেষ্টা করার সময়) এবং নতুন সার্ভারটি বেঁধে রাখবে না।
ব্রায়ান

4
এটা করতে একটি ভাল উপায় আছে কি? - হ্যাঁ, উইন্ডোজ সার্ভার 2012 আর 2 ডিএফএসের প্রতিলিপিটি এটি প্রায় 10 ঘন্টার মধ্যে প্রস্তুত করবে । এবং এটি পরিবর্তনগুলি সিঙ্ক করবে এবং পুনরায় বুট করার পরে এটি কোথায় ছেড়ে গেছে তা তুলে নেবে।
টেসেল্ল্যাটিংহেকলারের

27
@ টেসেল্লাটিংহেকলার: সুতরাং আপনি সংরক্ষণের সংরক্ষণের আগে ওপেন রেডহাট থেকে উইন্ডোতে স্থানান্তরিত করার পরামর্শ দিচ্ছেন?
টমাস ওয়েলার

12
@ থমাস ওেলার তারা জিজ্ঞাসা করেছিলেন "এর চেয়ে ভাল উপায় আর কি আছে?", এবং আছে। তারা আরও ভাল উপায় ব্যবহার করার জন্য আমি কোনও সুপারিশ করি না। তারা কোনও পাইপে কমান্ডগুলি ব্যবহার করতে পারেন যা বাধা থেকে পুনরুদ্ধার করতে পারে না, ফাইলের সামগ্রীটি যাচাই করতে পারে না, অনুলিপিের স্থিতিটি রিপোর্ট করতে পারে না, ফাইলগুলির অংশগুলি অনুলিপি করতে এড়াতে আগের অনুলিপিগুলি ব্যবহার করতে পারে না, এতে কোনও অন্তর্নিহিত নেই নিম্ন-অগ্রাধিকারের অনুলিপি সমর্থন করে, বিরতি দেওয়া যায় না, এসিএলগুলি অনুলিপি করার কোনও উল্লেখ নেই, এবং এটি চালানোর জন্য কাউকে লগ ইন থাকা প্রয়োজন needs তবে অন্য যে কেউ অনুসরণ করছে সে আগ্রহী হতে পারে - বা "x এটি লিনাক্সে করে" বলার জন্য অনুরোধ জানানো হয়েছিল।
টেসেল্ল্যাটিংহেকলার

উত্তর:


64

tar, pigz(সমান্তরাল জিজিপ) এবং ব্যবহার করে আমার খুব ভাল ফলাফল হয়েছে nc

উত্স মেশিন:

tar -cf - -C /path/of/small/files . | pigz | nc -l 9876

গন্তব্য মেশিন:

নিষ্কর্ষ:

nc source_machine_ip 9876 | pigz -d | tar -xf - -C /put/stuff/here

সংরক্ষণাগার রাখতে:

nc source_machine_ip 9876 > smallstuff.tar.gz

আপনি মাধ্যমে ট্রান্সফার রেট মাত্র নল দেখতে চান pvপরে pigz -d!


3
অবগতির জন্য, আপনি প্রতিস্থাপন করতে পারেন pigzসঙ্গে gzipঅথবা এটা পুরাপুরি সরাতে পারে তবে গতি উল্লেখযোগ্যভাবে মন্থর হতে হবে।
h0tw1r3

10
ওপি যদি ইতিমধ্যে চেষ্টা করে থাকে tarএবং pigzকীভাবে এটি গৃহীত হবে ? আমি বুঝতে পারি না ...
টমাস ওয়েলার

5
@ থমাস ওয়ালার আপনি কোথায় পেয়েছেন যে তিনি চেষ্টা করেছেন pigz? প্রশ্ন থেকে দেখে মনে হচ্ছে তিনি rsyncএখন পর্যন্ত কেবল চেষ্টা করেছেন , এবং ডেটা বিভক্ত ও বান্ডিল করার জন্য বিবেচনা করছেন tar। বিশেষত যদি তিনি আরএসইএনসি-তে -z/ --compressবিকল্পটি ব্যবহার না করেন , pigzতাত্ত্বিকভাবে উল্লেখযোগ্যভাবে সহায়তা করতে পারেন।
ডক্টর জে

1
@ থমাসওলার হ্যাঁ আমি ইতিমধ্যে টার এবং পিগজ চেষ্টা করেছি কিন্তু এনসি নয় not আমি ssh ব্যবহার করছিলাম তাই এটি অনেক বেশি ওভারহেড যুক্ত করেছিল।
lbanz

2
@ লেবানজ এর সহজ অর্থ হ'ল সংক্ষেপণের tarজন্য pigzঅনেকগুলি সিপিইউ ব্যবহার করার জন্য পর্যাপ্ত পরিমাণে ডেটা তৈরি করা হচ্ছে না । প্রচুর ছোট ছোট ফাইল পড়ার সাথে একই সংখ্যক বৃহত ফাইলের বাইটগুলি পড়ার চেয়ে আরও অনেকগুলি স্কাইল, আরও অনেকগুলি ডিস্ক সিক এবং অনেক বেশি কার্নেল ওভারহেড জড়িত থাকে এবং দেখে মনে হচ্ছে আপনি কেবল একটি মৌলিক স্তরে বাধা দিচ্ছেন।
hobbs

21

আমি আরএসসিএনসি সলিউশনটি আটকে থাকি। আধুনিক (3.0.০.০+) আরএসসিএনসি ইনক্রিমেন্টাল ফাইল তালিকা ব্যবহার করে, সুতরাং এটি স্থানান্তর করার আগে সম্পূর্ণ তালিকা তৈরি করতে হবে না। সুতরাং এটি পুনরায় চালু করার জন্য সমস্যার ক্ষেত্রে আপনাকে আবার পুরো ট্রান্সফার করতে হবে না। প্রতি শীর্ষ বা দ্বিতীয় স্তরের ডিরেক্টরিতে স্থানান্তর বিভক্ত করা এটিকে আরও আরও অনুকূলিত করবে। ( যদি আপনার নেটওয়ার্কগুলি আপনার ড্রাইভের চেয়ে ধীর হয় rsync -a -Pতবে আমি ব্যবহার করব এবং যুক্ত করব --compress))


আমি পুরানো সার্ভারে rsync 2.6.8 ব্যবহার করছি। যেহেতু এটি সেই বাক্সগুলির মধ্যে একটি যেখানে বিক্রেতার দ্বারা বর্ণিত হিসাবে আমাদের কোনও কিছু ইনস্টল / আপডেট করার অনুমতি নেই বা এটি ওয়ারেন্টিটি দেয় o আমি এটি আপডেট করতে এবং এটি আরও দ্রুত কিনা তা দেখতে পেতাম।
lbanz

18
স্থিতিযুক্ত-সংযুক্ত আরএসসিএনসি বাইনারি সন্ধান করুন (বা বিল্ড করুন) এবং কেবল এটি আপনার বাড়ি থেকে চালান। আশা করি এটি কোনও ওয়্যারেন্টি নষ্ট করবে না।
ফক্স

কীভাবে unison? এর সাথে কীভাবে তুলনা করা যায় rsync?
Gwyneth Llewelyn

15

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

দুটি কারণ:

  1. কোনও ফাইল সিস্টেমের ওভারহেড নেই, এটিই মূল পারফরম্যান্স অপরাধী
  2. কোন সন্ধান নেই, আপনি উভয় পক্ষের ক্রমিক / পড়া লেখার দিকে তাকিয়ে আছেন

3
ফাইল সিস্টেমটি বাইপাস করা ভাল। একটি রিড-রাইটিং মাউন্ট করা ফাইল সিস্টেমের ব্লক-স্তরের অনুলিপি করা সত্যিই খারাপ ধারণা। আনমাউন্ট বা মাউন্ট কেবল পঠনযোগ্য
জেবি।

একটি 15 টিবি অনুলিপি চুষে চলাও। এর অর্থ হল নতুন সার্ভারটির ন্যূনতম 30 প্রয়োজন
আর্থার কে

3
সার্ভারটি যদি LVM ব্যবহার করে তবে একটি ফাইল সিস্টেমের কেবল পঠনযোগ্য স্ন্যাপশট করতে পারে এবং তার পরিবর্তে এটি অনুলিপি করতে পারে। কেবল স্ন্যাপশট পড়ার সময় ঘটে যাওয়া ফাইল সিস্টেমে পরিবর্তনের জন্য স্পেস ওভারহেড।
লিওরি

9

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


2
এটি 2TB ড্রাইভগুলির প্রায় 1PB তাই এটি অনেক বেশি।
lbanz

3

এমফার ব্যবহার করুন এবং এটি কোনও সুরক্ষিত নেটওয়ার্কে থাকলে আপনি এনক্রিপশন পদক্ষেপ এড়াতে পারবেন।


3

(অনেকগুলি বিভিন্ন উত্তর কাজ করতে পারে Here এখানে আরও একটি।

ফাইল তালিকা তৈরি করুন find -type f(এটি কয়েক ঘন্টার মধ্যে শেষ হওয়া উচিত), এটি ছোট অংশগুলিতে বিভক্ত করুন এবং প্রতিটি খণ্ড ব্যবহার করে স্থানান্তর করুন rsync --files-from=...


3

আপনি স্নিকার্নেট বিবেচনা করেছেন? এর সাথে, আমার অর্থ হ'ল একই ড্রাইভে সমস্ত কিছু স্থানান্তরিত করা, তারপরে শারীরিকভাবে সেই ড্রাইভটি সরিয়ে নেওয়া।

প্রায় এক মাস আগে, স্যামসুং একটি 16 টিবি ড্রাইভ উন্মুক্ত করেছিল (প্রযুক্তিগতভাবে এটি 15.36 টিবি), এটি একটি এসএসডি: http://www.theverge.com/2015/8/14/9153083/samsung-worlds-largest-hard -drive-মাপ বর্তমানে 16 টেরাবাইট

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


2

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

যদি তা না হয় তবে নেটক্যাট + ট্যার + পিবিজিপ 2 সমাধানটি পরীক্ষা করুন, আপনার হার্ডওয়্যার অনুযায়ী সংকোচন বিকল্পগুলি মানিয়ে নিন - বাধা কি (সিপিইউ? নেটওয়ার্ক? আইও?) কি তা পরীক্ষা করুন। পিবিজিপ 2 আরও ভাল পারফরম্যান্স দিয়ে সমস্ত সিপিইউ জুড়ে সুন্দরভাবে বিস্তৃত হবে।


lzma ( xz) bzip2 এর চেয়ে দ্রুত ডিকম্প্রেস করে এবং বেশিরভাগ ইনপুটটিতে ভাল করে। দুর্ভাগ্যক্রমে, xzএর মাল্টিথ্রিড বিকল্পটি এখনও কার্যকর হয়নি।
পিটার কর্ডস

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

হ্যাঁ, আমার বক্তব্যটি লজ্জার বিষয় ছিল যে এখানে একক-ধারাবাহিক মাল্টি-থ্রেড লজমা নেই। যদিও এই ব্যবহারের ক্ষেত্রে, পুরো ফাইল সিস্টেমের ডেটা স্থানান্তরিত করার জন্য, pigzএটি প্রোব হতে পারে। আপনি ব্যবহার করতে চান ধীরতম সংক্ষেপক হতে হবে। বা এমনকি lz4। ( lz4mtএক-এক-স্রোতের জন্য এক-এক-প্রবাহের উপলভ্য রয়েছে It এটি খুব দক্ষতার সাথে থ্রেড করে না (প্রায়শই নতুন থ্রেড তৈরি করে) তবে এটি একটি দ্রুত গতিবেগ পায়))
পিটার কর্ডেস

2

আপনি রেডহ্যাট লিনাক্স ব্যবহার করছেন, সুতরাং এটি প্রযোজ্য হবে না, তবে অন্য বিকল্প হিসাবে:

আইএনওড কোনও সমস্যা নয় বলে লক্ষ লক্ষ ফাইল ধরে রাখতে জেডএফএস ব্যবহার করে আমি দুর্দান্ত সাফল্য পেয়েছি।

যদি এটি আপনার জন্য একটি বিকল্প ছিল তবে আপনি স্ন্যাপশট নিতে এবং বর্ধিত আপডেটগুলি প্রেরণে zfs ব্যবহার করতে পারেন। সংরক্ষণাগার ডেটার পাশাপাশি স্থানান্তর করতে এই পদ্ধতিটি ব্যবহার করে আমি প্রচুর সাফল্য পেয়েছি।

জেডএফএস মূলত একটি সোলারিস ফাইল সিস্টেম, তবে ইলিউমাসে পাওয়া যাবে (সান এর ওপেনসোলারিসের মুক্ত উত্সের কাঁটাচামচ)। আমি জানি বিএসডি এবং লিনাক্সের অধীনে জেডএফএস ব্যবহার করার ক্ষেত্রেও কিছু ভাগ্য রয়েছে (FUSE ব্যবহার করছেন?) - তবে এটি চেষ্টা করার মতো অভিজ্ঞতা আমার নেই।


3
বেশ কিছুক্ষণের জন্য জেডএফএস-এর একটি নন-ফুস নেটিভ লিনাক্স বন্দর রয়েছে: zfsonlinux.org
EEAA

1

rsyncলক্ষ্য মেশিনে একটি ডেমন শুরু করুন। এটি ট্রান্সফার প্রক্রিয়াটিকে অনেক গতিময় করবে।


-1

আপনি এটি কেবল টার এবং এসএসএস দিয়ে এটি করতে পারেন:

tar zcf - <your files> | ssh <destination host> "cat > <your_file>.tar.gz"

অথবা, যদি আপনি পৃথক ফাইল রাখতে চান:

tar zcf - <your files> | ssh <destination host> "tar zxf -"


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