একাধিক ড্রাইভে একযোগে একক ডিস্ক ড্রাইভ ক্লোনিং করা হচ্ছে


12

আমি এক সাথে একাধিক ডিস্ক ড্রাইভে সিঙ্গল ডিস্ক ড্রাইভ ক্লোন করার উপায় খুঁজছি।

আমি 1 টিবি ডিস্কে সিস্টেমের চিত্র প্রস্তুত করেছি এবং একটি ডিস্কের অন্যটিতে ক্লোন করতে প্রায় 2 ঘন্টা সময় লাগে এবং 30 টি ডিস্ক ক্লোন করে বলতে গেলে এটি স্পষ্টত উপরে উঠে যায়।

যদি একটি ডিস্কের একক লক্ষ্যের চেয়েও বেশি ক্লোন করা সম্ভব হয় তবে এটি পুরো পদ্ধতিটিকে অনেক সহজ করে দেবে।

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

ধন্যবাদ!

উত্তর:


17

এটি করার জন্য টি-কমান্ডের সাথে আপনি বাশের "প্রক্রিয়া বিকল্প" ব্যবহার করতে পারেন:

cat drive.image | tee >(dd of=/dev/sda) >(dd of=/dev/sdb) >(dd of=/dev/sdc) | dd of=/dev/sdd

বা স্পষ্টতার জন্য (সামান্য দক্ষতার ব্যয়ে) আপনি ddশেষটিকে অন্যের মতো বলা যেতে পারেন এবং টি-এর স্টাডআউটটি / dev / নালকে প্রেরণ করতে পারেন:

cat drive.image | tee >(dd of=/dev/sda) >(dd of=/dev/sdb) >(dd of=/dev/sdc) >(dd of=/dev/sdd) | /dev/null

এবং আপনি যদি এটি ইনস্টল করে থাকেন তবে দরকারী অগ্রগতি সূচক পাওয়ার পরিবর্তে আপনি পাইপ প্রদর্শক ব্যবহার করতে পারেন cat:

pv drive.image | tee >(dd of=/dev/sda) >(dd of=/dev/sdb) >(dd of=/dev/sdc) | dd of=/dev/sdd

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

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

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

সম্পাদন করা

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

জন্য ddপদ্ধতি আপনি করতে পারে সম্ভবত ডেজি-শৃঙ্খল netcat+ + tee+ + ddতাই মত প্রতিটি মেশিনের উপর প্রসেস:

  1. গন্তব্য মেশিন 1 মাধ্যমে তথ্য উত্স cat/ pv/ ddগুলি nc
  2. গন্তব্য মেশিন 1- ncএ উত্স মেশিনের ডেটা শোনার এবং এটির পাইপ দেওয়া হয় teeযার মাধ্যমে এটি dd(এবং তাই ডিস্কে) এবং অন্য ncপ্রক্রিয়া যা গন্তব্য মেশিন 2 এ প্রেরণ করে to
  3. গন্তব্য মেশিন 2 এর ncগন্তব্য মেশিন 1 থেকে ডেটা শুনে এবং পাইপিং করে teeযার মাধ্যমে এটি dd(এবং তাই ডিস্কে) ncপ্রেরণ করা হয় এবং অন্য প্রক্রিয়া যা গন্তব্য মেশিন 3 এ প্রেরণ করে।
  4. এবং তাই শেষ মেশিন পর্যন্ত যা ncপূর্ববর্তী মেশিন থেকে ডেটা তুলেছে এবং এটির মাধ্যমে ডিস্কে প্রেরণ করছে dd

আপনি সম্ভবত আপনার সুইচ এবং নেটওয়ার্ক কার্ডগুলি একটি সম্পূর্ণ দ্বৈত লিঙ্কটি নিয়ে আলোচনা করেছেন তা ধরে নিয়ে আপনি সম্ভাব্যভাবে আপনার সম্পূর্ণ নেটওয়ার্ক ব্যান্ডউইথটি ব্যবহার করছেন। সোর্স মেশিনের পরিবর্তে 10 টি কপি ডেটা প্রেরণ করা (ধরে নেওয়া 10 গন্তব্য মেশিনগুলি ধরে নেওয়া) সুতরাং প্রতিটি বিদায়ী ব্যান্ডউইদথের 1/10 তম সীমাবদ্ধ এটি কেবল প্রেরণ করছে Each প্রতিটি গন্তব্য মেশিন ডেটার একটি অনুলিপি নিয়ে তা প্রেরণ করছে আবার। আপনি এর বাফারের আকার সেটিংস খামচি প্রয়োজন হতে পারে pv, ncএবং ddশ্রেষ্ঠ ব্যবহারিক কর্মক্ষমতা কাছাকাছি পেতে।

আপনি যদি এমন কোনও সফ্টওয়্যার খুঁজে পেতে পারেন যা কেবলমাত্র মাল্টিকাস্ট সমর্থন করে তবে এটি আরও সহজ হবে (এবং সম্ভবত কিছুটা দ্রুত)! তবে উপরেরটি হ্যাকি সমাধানের ধরণ যা আমি চেষ্টা করতে যথেষ্ট বুদ্ধিমান হতে পারি ...

আবার সম্পাদনা করুন

আর একটি চিন্তা। যদি ড্রাইভ চিত্রটি ভালভাবে সংকুচিত হয় (যা এটির বড় অংশগুলি জিরো দিয়ে পূর্ণ থাকে তবে) উত্স মেশিনের বহির্গামী ব্যান্ডউইদথ একবারে অনেকগুলি গন্তব্যে প্রেরণ করা হলেও সমস্যা হওয়ার দরকার নেই। কেবল প্রথমে চিত্রটি সংকুচিত করুন, এটি tee+ ব্যবহার করে সর্বত্র সঞ্চারিত ncকরুন এবং গন্তব্যগুলিতে (নেটওয়ার্ক-> nc-> ডিকম্প্রেসর-> dd-> ডিস্ক) ডিকম্প্রেস করুন ।


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

আপনি বলেননি যে ড্রাইভগুলি বিভিন্ন কম্পিউটারের সাথে সংযুক্ত ছিল ... যা বিষয়গুলিকে সম্পূর্ণ আলাদা করে তোলে!
marcusw

এটি এক সাথে একাধিক ডিস্ক সদৃশ কম্পিউটারের স্থানীয় কম্পিউটার এবং নেটওয়ার্ক উভয়ের নিকটেই আসে। গভীরতার ব্যাখ্যার জন্য ধন্যবাদ!
মিঃ বি।

লিনাক্স ভিত্তিক নেটওয়ার্ক ক্লোনিং বিকল্পগুলির জন্য, আপনি ক্লোনজিলা বিবেচনা করতে পারেন। এটি মাল্টিকাস্টের পাশাপাশি ডিডি সহ বেশ কয়েকটি স্থানীয় ক্লোনিং বিকল্পের মাধ্যমে ক্লোন করতে পারে।
ব্যবহারকারী35060

5

গুগলের প্রথম উত্তরটি প্রস্তাবিত (একটি লিনাক্স সিস্টেমে): dd if=/dev/sdb of=- | tee >(dd of=/dev/sdc) >(dd of=/dev/sdd) >(dd of=/dev/sde)যেখানে / ডিভ / এসডিবি আপনি যে হার্ড ড্রাইভটি ক্লোন করতে চান এবং / ডিভ / এসডিসি, / ডিভ / এসডিবি, এবং / দেব / এসডি ক্লোন করতে ড্রাইভ হয় (আপনি এটি করতে পারেন এর মধ্যে আরও অনেকগুলি আপনি চান হিসাবে যুক্ত করুন, কেবল কপিপাস্ট)। একটি লাইভসিডি এটি করা উচিত এবং আপনার ড্রাইভের অক্ষরগুলি সম্পর্কে সতর্কতা অবলম্বন করা উচিত!


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

"[...] যেখানে / ডিভ / এসডিবি হ'ল হার্ড ড্রাইভ যেখানে আপনি ক্লোন করতে চান এবং / ডিভ / এসডিসি, / ডেভ / এসডিবি এবং / ডিভ / এসডিই ড্রাইভ হ'ল [...]" ---> "[...] এবং আপনার ড্রাইভের অক্ষরগুলি সম্পর্কে সতর্কতা অবলম্বন করতে হবে!" : ডিআই সম্মত !!!
dag729

1
@ মিঃআরবি: ১) আমার মনে, সম্ভাব্য বিপজ্জনক শর্টকাট নেওয়ার চেয়ে বিট-ফর-বিট অনুলিপি ভাল। 2) মেহ, আমি সবচেয়ে ভাল উপায়টি ভাবতে পারি এটি হ'ল ডিডির উত্সের সাথে গোলযোগ করা এটি এক সাথে একাধিক স্থানে অনুলিপি করা, তবে কেবল ধীর পথটি অনুলিপি করা আরও দ্রুত হবে।
marcusw

আপনি কি সম্পর্কে নিশ্চিত of=-? -আমার পক্ষে স্টাডআউটে আউটপুট না করে কেবল একটি আউটপুট ফাইল তৈরি করে । এটি কেবল ofবিকল্পটি রেখে সমাধান করা যেতে পারে ।
সেখান থেকে

"টি" ব্যবহার করে সেভাবে কাজ করবে না। দয়া করে দেখুন: joshhead.wordpress.com/2011/08/04/…
ব্যবহারকারী35060

2

আমি শুধু জানি যে হার্ড ড্রাইভ ডুপ্লিকেটর নামে কিছু জিনিস রয়েছে। এগুলি একই সময়ে একাধিক ড্রাইভে ক্লোন করার জন্য বিশেষ ডিভাইস (সদৃশ) s হয়তো এই নিবন্ধটি আপনাকে সাহায্য করে।


হ্যাঁ, আমি এই ডিভাইসগুলির অস্তিত্ব সম্পর্কে সচেতন; তবে এগুলি সবই সস্তা, বিশেষত আমার শূন্য-বাজেটের ক্ষেত্রে :( যদিও তাদের উল্লেখ করার জন্য ধন্যবাদ
মিঃ বি

1
পুরোপুরি শূন্য-ব্যয়হীন না হয়েও, যদি আপনার কাছে অতিরিক্ত মেশিন থাকে (একটি শালীন বিদ্যুৎ সরবরাহ সহ) আপনি কমান্ডার করতে পারেন এবং বেশ কয়েকটি সস্তা এসটিএ কন্ট্রোলার বহন করতে পারেন (আমার বাড়ির মেশিনে একটি দ্বি-পোর্ট রয়েছে যার জন্য দশ টাকা খরচ হয়) আপনি আপনার নিজের সাধারণ সদৃশ মেশিন তৈরি করতে এবং ডিডি + টি পদ্ধতি বা অন্যান্য সফ্টওয়্যার ব্যবহার করতে পারেন যদি আপনি দক্ষতার সাথে "একক উত্স থেকে পঠিত, অনেককে লিখুন" সমর্থন করে এমন কিছু খুঁজে পান।
ডেভিড স্পিললেট

(এটি আমি ধরে
ডেভিড স্পিললেট

1

যেহেতু কেউ এখনও এটি উল্লেখ করেনি, তাই আমি ক্লোনজিলা এবং তাদের সার্ভার সংস্করণ উল্লেখ করব । (দুর্ভাগ্যক্রমে, এটির সাথে সরাসরি লিঙ্ক বলে মনে হচ্ছে না, তবে আপনি সাইটের বাম এনএভি মেনুতে "সার্ভার সংস্করণ" খুঁজে পেতে পারেন ...)

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


আপনার প্রদত্ত মতামতের উপর ভিত্তি করে আপনার জন্য ভাল সমাধান হিসাবে দেখা যাচ্ছে বলে আমি দ্বিতীয়ভাবে ক্লোনজিলাকে করব।
ব্যবহারকারী35060

1

আপনি যদি ম্যাক ওএস এক্স ব্যবহার করছেন তবে এটি অন্তর্নির্মিত the ক্লায়েন্টগুলি বুট ডিস্ক থেকে শুরু করে টার্মিনাল খুলুন এবং asr মাল্টিকাস্ট স্ট্রিমের সাথে সংযুক্ত করুন connect বিনামূল্যে।

বিশদ: http://www.bombich.com/mactips/multicast.html


1

এটি সম্পর্কিত ওয়েবে আমি 2 টি দরকারী লিঙ্ক পেয়েছি। ডিস্কপুট করতে বিড়াল ছাড়াই একজন ডিডি ব্যবহার করেছেন:

dd if=/dev/sdb | tee >(dd of=/dev/sdc) | tee >(dd of=/dev/sdj) | dd of=/dev/sdh

http://joshhead.wordpress.com/2011/08/04/multiple-output-files-with-dd-utility

প্রগতি মিটার দেখানোর জন্য এটি আরও একটি লিঙ্কের সাথে আরও প্রসারিত করা হয়েছে:

dd if=/dev/sdb | pv -s $(blockdev --getsize64 /dev/sdb) | tee >(dd of=/dev/sdc) | tee >(dd of=/dev/sdj) | dd of=/dev/sdh

http://www.commandlinefu.com/commands/view/6177/dd-with-progress-bar-and-statistics


0

আমি ডেভিডের উত্তরটি প্রসারিত করতে চেয়েছিলাম

pv drive.image | tee >(dd of=/dev/sda) >(dd of=/dev/sdb) >(dd of=/dev/sdc) | dd of=/dev/sdd

drive.imageআসলে অন্য ডিভাইসে, মত হতে পারে/dev/sde

দ্বিতীয়ত, ddকমান্ডটি সঠিক bsসেটিং সহ দ্রুততার সাথে কাজ করবে । আমি bs=64k40 গিগ পার্টিশন অনুলিপি করতে 1 ঘন্টা থেকে 10 মিনিটের মধ্যে 6 গুণ গতি বৃদ্ধি এবং ব্যবহার করে দেখেছি।

সুতরাং চূড়ান্ত কমান্ড এটির মতো দেখাবে:

pv drive.image | tee >(dd bs=64k of=/dev/sda) >(dd bs=64k of=/dev/sdb) >(dd bs=64k of=/dev/sdc) | dd bs=64k of=/dev/sdd

যদি আপনার উত্স কোনও ফাইলের পরিবর্তে ড্রাইভ হয় তবে এটি দেখতে এটির মতো দেখাবে:

pv /dev/sde | tee >(dd bs=64k of=/dev/sda) >(dd bs=64k of=/dev/sdb) >(dd bs=64k of=/dev/sdc) | dd bs=64k of=/dev/sdd


0

সমান্তরাল হার্ড ডিস্ক সদৃশ কম্পিউটার ফরেনসিক একটি সাধারণ কাজ common dc3dd( ম্যান পৃষ্ঠা ) একটি উত্সর্গীকৃত সরঞ্জাম যা একাধিক গন্তব্যের দিকে একক উত্সের সমান্তরাল অনুলিপি করতে দেয় এবং ইউএনআইএক্সের মতো কাজ করে dd, একাধিক of=বিকল্পের অনুমতি দেয়।

উত্স ভলিউম এবং অনুলিপিগুলির নিখরচায়তা যাচাই করার জন্য হ্যাশিং সক্ষম করাও সম্ভব।

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