বর্তমান বা বাহ্যিক ফাইল সিস্টেমকে ক্লোবারবারিং / পরিবর্তন না করে কীভাবে বাহ্যিক জেডএফএস ফাইল সিস্টেম মাউন্ট করবেন


11

আমি ফ্রিবিএসডি 10.2 ফাইলটি সিস্টেমের হিসাবে রুটে জেডএফএস ব্যবহার করে ব্যবহার করছি (zroot01) । আমার অন্য একটি ফ্রিবিএসডি 10.2 সিস্টেমের (জ্রোট02) জেডএফএস ফাইল সিস্টেমের সাথে একটি বাহ্যিক হার্ড ডিস্ক রয়েছে যা আমি অস্থায়ীভাবে মাউন্ট করতে চাই, কেবলমাত্র পড়তে পারি, তাই আমি কিছু ফাইল এখান থেকে সরিয়ে ফেলতে পারি, তারপরে এটি সংযোগ বিচ্ছিন্ন করে দিতে পারি। আমি না কুপোকাত করা বাহ্যিক ZFS সিস্টেম চান অথবা আমার বর্তমান ফাইল সিস্টেম প্রতিস্থাপন, কিংবা আমি চাই বহিরাগততে ডেটা / ক্ষতিগ্রস্ত হয়েছে বলে পারেন রদবদল না।

আমি কী অর্জন করতে চাইছি তা প্রদর্শনের জন্য, আমি যদি ইউএফএস ব্যবহার করতাম তবে আমি এই জাতীয় কিছু করতাম:

mount -t ufs -o ro /dev/ada0s2 /mnt/my-fun-mountpoint

... যেখানে /dev/ada0s2আমার বাহ্যিক ড্রাইভে পার্টিশন এবং /mnt/my-fun-mountpointহয় /mntআমার বর্তমান অপারেটিং সিস্টেম নির্দেশিকা।

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

আপনি কীভাবে এটি করবেন সে সম্পর্কে কিছু পরিষ্কার নির্দেশিকা সরবরাহ করতে পারেন? আপনার সাহায্যের জন্য অগ্রিম ধন্যবাদ।

উত্তর:


13

ঠিক আছে, এটি কীভাবে পঠনযোগ্য আপনি পুলটি হতে চান তা নির্ভর করে । এবং না, এটি কোনও রসিকতা নয়।

প্রথমে কিছুটা পরিভাষা: জেডএফএসে আপনি একটি পুল আমদানি করুন এবং option চ্ছিকভাবে এর মধ্যে (যে কোনও) ফাইল সিস্টেম মাউন্ট করুন। আপনি ক্ষণস্থায়ী দ্বারা কোনো ফাইল সিস্টেম মাউন্ট ছাড়া একটি পুকুর আমদানি করতে পারেন -Nথেকে zpool importএবং তারপর পরে ব্যবহার করে যে কোনও পছন্দসই ফাইল সিস্টেম মাউন্ট zfs mount। (উদাহরণস্বরূপ, আপনি অনেকের মধ্যে কেবল একটি একক ফাইল সিস্টেম অ্যাক্সেস করতে চান বা আপনি যদি পুলের অফ-লাইন স্ক্রাবের মতো কিছু করতে চান তবে এটি পুরোপুরি বৈধ পরিস্থিতি))

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

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

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

# zpool import tank -d /dev -o readonly=on -R /mnt/someplace

এই দেখবে /devঅধিষ্ঠিত একটি ZFS নামের সঙ্গে একত্রিত কিছু জন্য tank, এটা আমদানি করতে, অস্থায়ীভাবে পুকুর সম্পত্তি সেটিং readonlyথেকে on(যার মানে সমস্ত ব্যবহারকারী-প্রবর্তিত লিখেছেন প্রত্যাখ্যাত হবে না) এবং সাময়িকভাবে তার সেটিং altrootথেকে সম্পত্তি /mnt/someplace। (এই সম্পত্তি মানগুলি এই অর্থে "অস্থায়ী" যে এগুলি বর্তমান সম্পত্তির মান হিসাবে ডিস্কগুলিতে স্থির থাকে না, তাই আপনি যদি সেগুলি ছাড়া পুলটি রফতানি এবং পুনরায় আমদানি করেন তবে মানগুলি স্বাভাবিক অবস্থায় ফিরে আসবে They তারা হয়ত সম্ভবত পুলের ইতিহাসে লেখা যেতে পারে, যা একবার পুলটি আমদানি করা হলে আপনি তা দেখতে পারেনzpool history tank যদি আপনি এত ঝুঁকে থাকেন)) একবার পুলটি আমদানি হয়ে গেলে, আপনি নিজের ফাইলগুলি / mnt / কোথাও কোথাও দেখতে পাবেন এবং সেটিতে পুলের ডেটাসেটগুলিতে ইতিমধ্যে তৈরি হওয়া কোনও স্ন্যাপশট সহ সেগুলিতে কেবলমাত্র পঠনযোগ্য অ্যাক্সেস পাবেন।

আপনার উদাহরণ দেওয়া, আমি সন্দেহ করি যে আপনি এর লাইনে কিছু ব্যবহার করবেন:

# zpool import zroot02 -d /dev -o readonly=on -R /mnt/my-fun-mountpoint

আপনার হয়ে গেলে, পরিষ্কারভাবে পুলটি রফতানি করতে ভুলবেন না:

# zpool export tank

অথবা সম্ভবত

# zpool export zroot02

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


1
আপনার তৃতীয় অনুচ্ছেদে আপনি কী বলেছেন তা যদি আপনি সত্যিই নিশ্চিত হন তবে তা বিএসডি জেডএফএস বাস্তবায়নের সাথে একটি বাগ হতে পারে। জেডএফএস পুল পঠনযোগ্য আমদানি সত্যই কেবল পঠনযোগ্য হওয়ার জন্য ডিজাইন করা হয়েছিল, অর্থাৎ এটি পুলের ইতিহাস সহ কোনও ডেটা বা মেটাডেটা লেখার বা ঠিক করার চেষ্টা করে না। দেখুন arc.stillopensolaris.org/txt/PSARC_2010_306.txt
jlliagre

1
@ জেলিয়াগ্র্রে আমি বেশ নিশ্চিত, তবে এটি অন্য কিছু জেডএফএস বাস্তবায়নের প্রসঙ্গে থাকতে পারে । যদিও তারা এ জাতীয় মৌলিক দিকগুলিতে কেন পার্থক্য করবে তা আমি সত্যিই দেখছি না; আমি বিশ্বাস করি যে সমস্ত ওপেন-সোর্স জেডএফএস বাস্তবায়নগুলি একটি উল্লেখযোগ্য পরিমাণে কোড ভাগ করে যা এর বংশটি সূর্যের পিছনে চিহ্নিত করে। আমি কেবল এটির জন্য কোনও ধরণের পরীক্ষার পরিবেশ স্থাপন করতে পারি এবং এটির সাথে একটি লাঠি দিয়ে ঝাঁকুনি পরে কী হয় তা দেখুন তবে এটি করার জন্য আমি সময়টি উত্সর্গ করতে পারার কিছুটা সময় হবে।
একটি সিভিএন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.