একটি জেডএফএস ফাইল সিস্টেমটি একটি পুল থেকে অন্য পুলে সরানো হচ্ছে


18

আমি রুট rpool ছাড়াও একটি অতিরিক্ত স্টোরেজ পুল সহ সোলারিস 10 ইউ 8 সার্ভারটি প্রসারিত করছি।

আরপিএল থেকে এই নতুন স্টোরেজ পুলে নির্দিষ্ট জেডএফএস ফাইল সিস্টেম (গুলি) স্থানান্তরিত করার সবচেয়ে কার্যকর / সহজ / নির্ভরযোগ্য উপায় কী?

এটি অনলাইনে করা যায় বা এই পুলগুলি ব্যবহার করে আমার পরিষেবাগুলি বন্ধ করা উচিত?

উত্তর:


15

পরিষেবাগুলি অক্ষম করার প্রশ্নটি মূলত সেবার উপর নির্ভর করে:

  • আপনি সরানোর পরিকল্পনার ফাইলগুলি কী সক্রিয়ভাবে লিখছেন?
  • তারা কি আপনি রাখতে চান অবিরাম ডেটা সংরক্ষণ করছেন?

যাইহোক, একটি জেডএফএস ফাইল সিস্টেম প্রেরণে দীর্ঘ সময় নিতে পারে। সেবার বেশিরভাগ সময় অনলাইনে রেখে পরিষেবা অপ্রাপ্যতা হ্রাস করা সম্ভব:

  • একটি স্ন্যাপশট তৈরি করুন
  • পূর্বে প্রস্তাবিতভাবে স্ন্যাপশটটি প্রেরণ করুন তবে সমস্ত পরিষেবা সক্রিয় রাখার সময়
  • যখন অন্য পুলটিতে fs প্রাপ্ত হয়, তখন ফাইল সিস্টেমের সমালোচনামূলক পরিষেবাগুলি সীমাবদ্ধ করে দিন। গন্তব্য পুলে নতুন ফাইল সিস্টেমটি পরিবর্তন করা হয়নি কারণ পরিবর্তনগুলি পরে যাইহোক বাতিল করা হবে Make
  • দ্বিতীয় স্ন্যাপশট তৈরি করুন (যেমন স্ন্যাপশট 2)
  • দ্বিতীয় স্ন্যাপশটটি ক্রমবর্ধমানভাবে প্রেরণ করুন, এটি আগের স্থানান্তর থেকে অনেক দ্রুত হবে। উদাহরণ:

    zfs প্রেরণ- i rpool / ফাইল সিস্টেম @ স্ন্যাপশট rpool / ফাইল সিস্টেম @ স্ন্যাপশট 2 | zfs --F গন্তব্যপুল / ফাইল সিস্টেম গ্রহণ করে

  • হয়ে গেলে, ফাইল সিস্টেম মাউন্ট পয়েন্টটি পুরানো ডেটাसेट থেকে নতুনে সরিয়ে নিন। উদাহরণ:

    zfs set mountpoint=/application/directory.old rpool/filesystem
    

    zfs মাউন্টপয়েন্ট = / অ্যাপ্লিকেশন / ডিরেক্টরি গন্তব্য / ফাইল সিস্টেম সেট করে

/application/filesystemএটি অর্জনের জন্য আপনাকে নিশ্চিত করতে হবে যে কোনও প্রক্রিয়া আবদ্ধ নয় (যেমন: ফাইলগুলি অ্যাক্সেস করা বা এটি বর্তমান ডিরেক্টরি হিসাবে এটি থাকা) having

  • পরিষেবাটি পুনরায় সক্ষম করুন এবং আপনার কাজ শেষ হয়েছে।

10

আমি মনে করি না যে এটি অনলাইনে সম্পাদন করা যেতে পারে তবে আমার প্রক্রিয়াটি হ'ল প্রয়োজনীয় পরিষেবাগুলি বন্ধ করে দেওয়া, একটি স্ন্যাপশট নেওয়া এবং মাইগ্রেশন করার জন্য zfs প্রেরণ / প্রাপ্তি ব্যবহার করা। কিছুটা এইরকম:

zfs send rpool/filesystem@snapshot | zfs receive destinationpool/filesystem

সম্পাদনা:

আপনি যদি "পাইপ ভিউ" কমান্ড (পিভি) ইনস্টল করেন তবে আপনি এর মাধ্যমে স্থানান্তরটির স্থিতি পর্যবেক্ষণ করতে পারেন:

zfs send rpool/filesystem@snapshot | pv | zfs receive destinationpool/filesystem

10

আমি জেলিগ্রে যা বলেছিলাম তার অনেকগুলি পুনরাবৃত্তি করছি, তবে বংশোদ্ভূত ফাইল সিস্টেমগুলির সংযোজন সহ। (বেশিরভাগ ক্ষেত্রে তাই যখন আমি ভুলে যাই তখনই আমার একটি রেফারেন্স থাকে))

আপনার যদি সাব-ফাইল সিস্টেম থাকে তবে আপনি -rzfs স্ন্যাপশট কমান্ডের পতাকাটি , এবং কমান্ডের মধ্যে -rবা -Rপতাকা ব্যবহার করতে পারবেন zfs send। বড় হাতের অক্ষরে -Rসমস্ত বৈশিষ্ট্য , স্ন্যাপশট এবং ক্লোন স্থানান্তরিত হয় ।

একটি সম্পূর্ণ পুল সরাতে:

zfs snapshot -r sourcepool@moving
zfs send -R sourcepool@moving | zfs receive -F destpool

তারপরে সংক্ষিপ্ত আকারে মাইগ্রেশন পিরিয়ড শাট ডাউন অ্যাপ্লিকেশন, শাটডাউন সাম্বা, এনএফএসের জন্য পরিবর্তনগুলি সিঙ্ক করতে

zfs snapshot -r sourcepool@moving2
zfs send -Ri sourcepool@moving sourcepool@moving2 | zfs receive -F destpool

আপনি যদি মাইগ্রেশনের জন্য একাধিক মধ্যস্থতীয় স্ন্যাপশট তৈরি করছেন তবে zfs send -Iস্যুইচটি সম্পর্কে ম্যান পৃষ্ঠাটি পড়ুন ।


3
আমার পরীক্ষাগুলিতে সঠিক কমান্ডটি দেখে মনে হয়েছিল: zfs প্রেরণ করুন -আর পুল 0 @ চলন্ত zfs -dF পুল 1 গ্রহণ করে
টিঙ্কারট্যাঙ্ক

4

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


দয়া করে নোট করুন যে এটি একটি খুব পুরানো প্রশ্ন (5 বছরেরও বেশি) এবং আপনার উত্তরটি সেই পুরানো প্রশ্নটিতে কিছু যুক্ত করার সম্ভাবনা কম।
ক্যাথরিন ম্যাকআইনেস

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