আপনি কীভাবে মেশিনগুলির মধ্যে বিশাল স্পার ফাইল (ভিএম ডিস্ক চিত্র) সিঙ্ক্রোনাইজ করবেন?


22

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

গন্তব্য ফাইলটি অপ্রয়োজনীয় থাকা খুব গুরুত্বপূর্ণ important এটি থাকা ড্রাইভের চেয়ে এটি দীর্ঘ (তবে বড় নয়) হতে পারে। কেবল পরিবর্তিত ব্লকগুলি কেবল তারের ওপারে প্রেরণ করা উচিত।

আমি আরএসএনসি চেষ্টা করেছি, কিন্তু আনন্দ পাইনি। https://groups.google.com/forum/#!topic/mailing.unix.rsync/lPOScZgFE9M

এটি করার জন্য যদি আমি কোনও প্রোগ্রাম লিখি তবে আমি কি কেবল চাকাটি পুনর্বহাল করছি? http://www.finalcog.com/synchronise-block-devices

ধন্যবাদ,

ক্রিস।


RSSync বিশাল ফাইলগুলির সাথে বিশালভাবে অকার্যকর। এমনকি --inplace সঙ্গে এটি প্রথম পুরো ফাইল লক্ষ্য হোস্ট পড়তে হবে এবং তাহলে স্থানীয় হোস্ট ফাইল পড়া শুরু ও পার্থক্য হস্তান্তর (ঠিক dstat চালানো বা অনুরূপ rsync চালানোর সময় এবং মান্য করা)
ndemou

উত্তর:


21
rsync --ignore-existing --sparse ...

স্পার মোডে নতুন ফাইল তৈরি করতে

অনুসরণ করেছে

rsync --inplace ...

সমস্ত বিদ্যমান ফাইল (পূর্বে তৈরি বিরল ফাইল সহ) আপডেট করতে update


3
এটিকে বিপরীত করুন rsync --existing --inplaceএবং তারপরে rsync --ignore-existing --sparseএকটি সিঙ্ক স্পিডআপ করুন
মাইকে

2
কেউ মাইকের মন্তব্য ব্যাখ্যা করতে পারে এবং কীভাবে এটি সিঙ্কটি দ্রুত করা উচিত?
প্রিক্সো

আমি মনে করি মাইকের অর্থ প্রথমে ইনপ্লেস পরিবর্তন এবং তারপরে নতুন যুক্ত করুন, যাতে প্রথম এবং দ্বিতীয় কলের মধ্যে সময়ের পার্থক্যের কারণে নতুনদের আবার - জায়গা করা দরকার না। এটি কেবলমাত্র সত্য যদি আপনি সরাসরি ডাটাস্টোর বন্ধ করে আর ভিএম চালু করে থাকেন। যদি না সে অন্য কিছু বোঝায়?
ইউয়ান

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

RSSync বিশাল ফাইলগুলির সাথে বিশালভাবে অকার্যকর। প্রশ্নে আমার মন্তব্য দেখুন।
nddou

5

Rsync কেবলমাত্র প্রতিটি ফাইলে পরিবর্তনগুলি স্থানান্তর করে এবং --inpیس সহ ফাইলগুলি পুনরুক্ত না করে কেবল পরিবর্তিত ব্লকগুলি পুনরায় লিখন করা উচিত। তাদের বৈশিষ্ট্য পৃষ্ঠা থেকে

আরএসআইএনসি ইউনিক্স সিস্টেমের জন্য একটি ফাইল স্থানান্তর প্রোগ্রাম। rsync "rsync অ্যালগরিদম" ব্যবহার করে যা দূরবর্তী ফাইলগুলিকে সিঙ্কে আনার জন্য খুব দ্রুত পদ্ধতি সরবরাহ করে। উভয় ফাইলের সেট আগেই লিঙ্কটির এক প্রান্তে উপস্থিত থাকার প্রয়োজন ছাড়াই লিঙ্কটি জুড়ে কেবলমাত্র ফাইলগুলির মধ্যে পার্থক্যগুলি পাঠিয়ে এটি এটি করে।

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

rsync -v -z -r --inplace --progress -e ssh /path/to/local/storage/ \
user@remote.machine:/path/to/remote/storage/ 

আমি প্রায়শই -a পতাকা ব্যবহার করি যা আরও কয়েকটি কাজ করে। এটি -rlptgoD এর সমতুল্য আমি ম্যান পৃষ্ঠাতে আপনার সন্ধানের জন্য সঠিক আচরণটি ছেড়ে দেব।


1
'-S' স্পার্স ফাইলের জন্য, 'চপস লম্বা লাইন' নয়। ম্যান পৃষ্ঠা থেকে: -এস, স্পর্শে স্পার্স ফাইলগুলি দক্ষতার সাথে পরিচালনা করুন। আমি এই চেষ্টা করে দেখুন, ধন্যবাদ।
fadebee

ধন্যবাদ আমি এটি স্থির করে দিয়েছি - আপনি যে লিঙ্কটি দিয়েছিলেন তাতে কিছু বলা হয়েছিল of
18:40

না, দুর্ভাগ্যক্রমে এটি সমস্যার সমাধান করে না। এটা তোলে করেন ফাইল সিঙ্ক, কিন্তু এটি একটি অ বিক্ষিপ্ত ফাইলে পর্যন্ত শেষে বিক্ষিপ্ত ফাইল সক্রিয়। আমি ssh / rsync ব্যবহার করছি যা উবুন্টু 9.04 এর সাথে আসে।
ফ্যাদবিবি

আমার উপরের মন্তব্যটি ভুল ছিল। সমস্যাটি ছিল যে আরএসসিএনসি তার প্রথম অনুলিপিগুলিতে অ-স্পারস ফাইল তৈরি করে। গন্তব্য ফাইলটি ইতিমধ্যে বিদ্যমান এবং মূল ফাইলের মতো দীর্ঘ (বৃহত্তর নয়) তবে --inplace rsync সঠিকভাবে কাজ করে। আমার এখন একটি সমাধান আছে, তবে এটির জন্য আমার অবশ্যই লক্ষ্য করা উচিত যে প্রতিটি ফাইল টার্গেট সার্ভারে ইতিমধ্যে বিদ্যমান কিনা। যদি এটি হয় তবে আমি একটি --inplace করি, যদি এটি না হয় তবে আমি স্পস্প ব্যবহার করি। এটি আদর্শ নয়, তবে এটি কাজ করে।
ফ্যাদবিবি

RSSync বিশাল ফাইলগুলির সাথে বিশালভাবে অকার্যকর। প্রশ্নে আমার মন্তব্য দেখুন
nddou

4

এটি করার জন্য আমি সফ্টওয়্যার লেখার কাজ শেষ করেছি:

http://www.virtsync.com

এটি শারীরিক সার্ভারের জন্য 49 ডলার ব্যয়যুক্ত বাণিজ্যিক সফ্টওয়্যার।

আমি এখন আবাসিক ব্রডব্যান্ড জুড়ে 3 মিনিটের মধ্যে একটি 50 গিগাবাইট স্পার ফাইল (যার 3GB সামগ্রী রয়েছে) প্রতিলিপি করতে পারি।

chris@server:~$ time virtsync -v /var/lib/libvirt/images/vsws.img backup.barricane.com:/home/chris/
syncing /var/lib/libvirt/images/vsws.img to backup.barricane.com:/home/chris/vsws.img (dot = 1 GiB)
[........>.........................................]
done - 53687091200 bytes compared, 4096 bytes transferred.

real    2m47.201s
user    0m48.821s
sys     0m43.915s 

4
টিবিএইচ, আপনি যে সিঙ্ক করতে পারবেন তার স্টেটিং সময়টি অর্থহীন কারণ এটি স্পষ্টতই পরিবর্তিত তথ্যের পরিমাণের উপর নির্ভর করে। আরও সঠিকভাবে বলতে হবে যে কোন ব্লকগুলি পরিবর্তন হয়েছে তা নির্ধারণ করতে আপনার সফ্টওয়্যারটি 3 মিনিট সময় নেয় এবং এমনকি সেই গতিটি সম্ভবত আপনার ডিস্ক আই / ও এবং সম্ভবত সিপিইউ চক্রের উপর নির্ভর করে।
বাস্তবতা এক্সট্রাক্টর

6
আপনার প্রকাশ করা উচিত যে এটি নেটওয়ার্ক সফ্টওয়্যারটির জন্য 98 ডলার বা তার বেশি দামের বাণিজ্যিক সফ্টওয়্যার।
রিড করুন

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

3

জুমাস্তর লিনাক্স স্টোরেজ প্রজেক্টটি একবার দেখুন, এটি ddsnapসরঞ্জামের মাধ্যমে বাইনারি " আরএসসিএনসি " ব্যবহার করে "স্ন্যাপশট" ব্যাকআপ প্রয়োগ করে ।

ম্যান পৃষ্ঠা থেকে:

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


2

lvmsync এটি করে।

এখানে একটি ব্যবহার প্রতিলিপি । এটি উত্সে একটি এলভিএম স্ন্যাপশট তৈরি করে, লজিক্যাল পার্টিশন স্থানান্তর করে। আপনি যতক্ষণ চান স্ন্যাপশট তৈরির পর থেকে পরিবর্তনগুলির বর্ধিত আপডেটগুলি স্থানান্তর করতে পারেন।


আমি চেষ্টা করেছি, তবে এটি কাজ করে না, এবং লেখক সমর্থন করতে রাজি নয়
ব্যবহারকারী 1007727

1
@ ব্যবহারকারী 1007727 সমর্থন করতে রাজি নয়, বা নিখরচায় সমর্থন করতে রাজি নয়?
9:25

আমি অতীতে lvmsync ব্যবহার করেছি, এটি কাজ করে তবে এটি "প্রোড গ্রেড" সফ্টওয়্যার ইমো নয়। :-)
ফ্লোরিয়ান হিগল

1

পুরো ফাইল সিস্টেমে প্রতিলিপি করা কি সমাধান হতে পারে? DRBD? http://www.drbd.org/


আমি মনে করি না যে এখানে DRBD একটি ভাল সমাধান, তবে ডিস্ক-ইমেজ-ফাইলগুলির পরিবর্তে পুরো fs - এর জায়গায় রাইসিংয়ের ধারণাটি আকর্ষণীয়। আমি নিশ্চিত না যে
আরএসসিএনসি

1

এখানে কিছুটা অদ্ভুত হতে পারে তবে আমি সম্প্রতি জানতে পেরেছি যে এনএফএস এই জরিমানা পরিচালনা করে।

সুতরাং আপনি একটি মেশিনে একটি ডিরেক্টরি রফতানি করুন এবং অন্যটিতে এটি মাউন্ট করুন এবং আপনি কেবল প্রাথমিক ব্যবহারগুলির মতো ফাইলগুলি অনুলিপি করেন cp। (কিছু পুরানো / প্রাচীন ইউটিলিটিগুলিতে বিরল ফাইলগুলির সাথে সমস্যা হতে পারে))

আমি rsyncস্পার্স ফাইলগুলি স্থানান্তর করতে বিশেষত অক্ষম বলে মনে করি ।


1

কম থেকে মাঝারি পার্থক্য সহ বিশাল ফাইল বা ব্লক-ডিভাইস সিঙ্ক করতে আপনি হয় একটি সাধারণ কপি করতে পারেন বা বিডিএসসিঙ্ক ব্যবহার করতে পারেন , এই বিশেষ ক্ষেত্রে * এর জন্য আরএসআইএনসি একেবারেই উপযুক্ত নয়।

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

bdsyncউভয় হোস্টের থেকে ফাইলগুলি পড়ে এবং তাদের তুলনা করতে এবং পার্থক্যগুলি সনাক্ত করতে চেক-সিম বিনিময় করে। এই একই সাথে । এটি অবশেষে উত্স হোস্টে একটি সংকুচিত প্যাচ ফাইল তৈরি করে। তারপরে আপনি সেই ফাইলটিকে গন্তব্য হোস্টে স্থানান্তরিত করুন এবং গন্তব্য ফাইলটি প্যাচ করতে দ্বিতীয়বার বিডিসিঙ্ক চালান।

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


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

**: এই অনুমানের অধীনে আপনার কাছে কোনও উপায় নেই যে ফাইলগুলির অংশগুলি পরিবর্তন হয়েছে tell এলভিএম স্ন্যাপশটগুলি পরিবর্তিত ব্লকগুলি রেকর্ড করতে বিটম্যাপগুলি ব্যবহার করে যাতে এগুলি অত্যন্ত দ্রুত হতে পারে ( lvmsync এর রিডমে আরও তথ্য রয়েছে)।


0

আমি এই জাতীয় ইউটিলিটি সম্পর্কে সচেতন নই, কেবলমাত্র সিস্টেম কলগুলি এটি পরিচালনা করতে পারে, সুতরাং আপনি যদি এই ধরনের ইউটিলিটি লেখেন তবে এটি বরং সহায়ক হতে পারে।

আপনি আসলে যা করতে পারেন তা ফাইলগুলি অনুলিপি করতে qemu-img রূপান্তর ব্যবহার করা হয় তবে গন্তব্য FS স্পার্স ফাইল সমর্থন করে তবেই এটি কাজ করবে

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