উবুন্টু জেনিয়ালে জিপুলকে / ডিভ / ডিস্ক / বাই-আইডি ব্যবহার করতে বাধ্য করা হচ্ছে


16

আমি উবুন্টু 16.04 জেনিয়ালে বান্ডিলযুক্ত ওপেনজেডএস দিচ্ছি

পুল তৈরি করার সময়, আমি সবসময় দৃ res়তার জন্য তাদের সিরিয়ালগুলিতে /dev/disk/by-id/(বা /dev/disk/gptফ্রিবিএসডি তে) ড্রাইভগুলি উল্লেখ করি । /devকোনও যন্ত্র পুনরায় বুট করার সময় ড্রাইভগুলি সর্বদা একই ক্রমে থাকে না এবং আপনার যদি মেশিনে অন্য ড্রাইভ থাকে তবে পুলটি সঠিকভাবে মাউন্ট করতে ব্যর্থ হতে পারে।

উদাহরণস্বরূপ, zpool statusএকটি 14.04 বাক্সে চালানো আমি এটি পেয়েছি:

NAME                                  STATE     READ WRITE CKSUM
tank                                  ONLINE       0     0     0
  raidz1-0                            ONLINE       0     0     0
    ata-Hitachi_HDS722020ALA330_[..]  ONLINE       0     0     0
    ata-Hitachi_HDS722020ALA330_[..]  ONLINE       0     0     0
    ata-Hitachi_HDS722020ALA330_[..]  ONLINE       0     0     0
    ata-Hitachi_HUA722020ALA330_[..]  ONLINE       0     0     0

তবে যখন আমি 16.04 এ একটি সংক্ষেপে সংক্ষিপ্তসার তৈরি করব:

zpool create pool raidz \
    /dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
    /dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
    /dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
    /dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..]

আমি এটি দিয়ে zpool status:

NAME        STATE     READ WRITE CKSUM
tank        ONLINE       0     0     0
  raidz1-0  ONLINE       0     0     0
    sdf     ONLINE       0     0     0
    sde     ONLINE       0     0     0
    sdd     ONLINE       0     0     0
    sda     ONLINE       0     0     0

দেখে মনে হচ্ছে zpool symlinks কে রেফারেন্স না করে অনুসরণ করেছে।

পুল তৈরি করার সময় আমার ড্রাইভের রেফারেন্সগুলিকে শ্রদ্ধা করার জন্য 16.04-তে জিপুলকে জোর করার কোন উপায় আছে? বা বিকল্পভাবে, এখানে কী করছে সে সম্পর্কে আমার ভুল ধারণা রয়েছে?

আপডেট: ওয়ার্কআরাউন্ড

আমি গিথুবে জেডফসনলিনাক্সের জন্য একটি থ্রেড পেয়েছি যা একটি কার্যবিধির প্রস্তাব দেয়। /dev/sdXপ্রথমে ডিভাইসগুলির সাথে আপনার জপুল তৈরি করুন , তারপরে এটি করুন:

$ sudo zpool export tank
$ sudo zpool import -d /dev/disk/by-id -aN

আমি যদি এখনও zpool createসম্ভব হয় তবে প্রাথমিকের সাথে এটি করতে সক্ষম হতে চাই ।


আপনি কীভাবে এগুলি তৈরি করেন তা বিবেচ্য নয়। যদি এটি / ডিভ / এসডি তে ফিরে আসে? ডিভাইসের নাম, zfs exportএবং zfs import -dযেভাবেই চলবে। বিটিডাব্লু, আপনার সত্যিকারের প্রতিটি বাইটের জায়গার প্রয়োজন না হলে রেইডজের পরিবর্তে দুটি মিররড জোড় ব্যবহার করুন। র‌্যাডজের অভিনয় র‌্যাড -5 এর চেয়ে ভাল তবে র‌্যাড -10 বা জেডএফএস মিররযুক্ত জোড়াগুলির চেয়ে আরও খারাপ। মিররযুক্ত জোড়া দিয়ে তৈরি একটি পুলটি প্রসারিত করা আরও সহজ, একবারে মাত্র দুটি ডিস্ক যুক্ত করুন ... রাইডজ সহ, আপনাকে প্রতিটি ড্রাইভকে বৃহত্তর ড্রাইভের সাথে প্রতিস্থাপন করতে হবে এবং কেবলমাত্র আপনি যখন সেগুলি সব প্রতিস্থাপন করবেন তখনই আপনার পুল আরও জায়গা উপলব্ধ আছে।
ক্যাস

আমার কাছে এখনও কিছু রাইড-জেড পুল রয়েছে এবং সেগুলি তৈরি করার জন্য আফসোস রয়েছে। আমি যখন প্রতিস্থাপনের ডিস্কগুলি কিনতে সক্ষম হয়েছি তখন আমি মিররযুক্ত জোড়গুলি সহ নতুন পুল তৈরি করব এবং zfs sendআমার ডেটাগুলি নতুন পুলগুলিতে অনুলিপি করতে ব্যবহার করব। প্রকৃতপক্ষে, রেড-জেড আমার পৌরাণিক টিভি বাক্সের জন্য ঠিক আছে যেখানে আমি একবারে or বা ৮ টি ট্রান্সকোড কাজ চালা না করে পারফরম্যান্সটি গুরুত্বপূর্ণ নয়। আমার /home ডিরেক্টরি যেখানে থাকে সেই পুলটিতে মিররযুক্ত জোড়ায় পরিবর্তন করা খুব লক্ষণীয় ।
ক্যাস

2
জেডআইএল এর মিররিং তাই আপনি ক্ষয়ক্ষতির হাত থেকে রক্ষা পেতে বড় ক্যাপাসিটারযুক্ত ব্যয়বহুল তুলনায় সাধারণ সস্তা এসএসডি ব্যবহার করে পালিয়ে যেতে পারেন। আইএমও, জেডআইএলটির মিররিং alচ্ছিক নয় , আপনি যে ধরণের এসএসডি থাকুক না কেন - যদি আপনার জেডআইএল মারা যায়, তবে আপনি এতে থাকা সমস্ত এখনও অবধি লিখিত ডেটা হারাবেন এবং আপনার পুলটিকে সম্ভাব্যভাবে দূষিত করবেন। L2ARC হিসাবে, আমি বিশেষভাবে বলেন না তাদের মিরর করতে ... L2ARC ক্যাশে সময়, টাকা নষ্ট মিরর করা হয়, এবং ভাল এসএসডি স্থান (এবং ক্যাশ হারানোর প্রতিরোধ কিছু করতে চাই - তুমি কোথা থেকে যে ধারণা পেতে পারি)
ক্যাস

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

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

উত্তর:


1

কিছুক্ষণের মধ্যে একটি, zpool import -d /dev/disk/by-idকাজ করে না।

আমি একাধিক পরিবেশে এটি লক্ষ্য করেছি। আমার কাছে একটি আমদানি স্ক্রিপ্ট রয়েছে যা কিছু যাদু যুক্তি করার বাইরে এবং শারীরিকভাবে সংযুক্ত জেডএফএস ডিভাইসগুলি প্রদর্শন করার বাইরেও মূলত এটি করে:

zpool import -d /dev/disk/by-id POOL
zpool export POOL
zpool import POOL

দ্বিতীয় বার, এমনকি -dস্যুইচ ছাড়াই , ডিভাইস আইডি দ্বারা আমদানি করে এমনকি প্রথম বার না দিয়ে স্পষ্ট কমান্ড দিয়ে।

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


1

আমি জানি এই থ্রেডটি এক ধরণের বাসি, তবে একটি উত্তর আছে। আমদানি করার পরে আপনাকে আপনার ক্যাশে ফাইল আপডেট করতে হবে। এই উদাহরণটি ক্যাশে ফাইলের জন্য ডিফল্ট অবস্থান দেখায়।

$> sudo zpool export POOL
$> sudo zpool import -d /dev/disk/by-id POOL
$> sudo zpool import -c /etc/zfs/zpool.cache
$> sudo zpool status POOL
NAME                                  STATE     READ WRITE CKSUM
POOL                                  ONLINE       0     0     0
  raidz1-0                            ONLINE       0     0     0
    ata-Hitachi_HDS722020ALA330_[..]  ONLINE       0     0     0
    ata-Hitachi_HDS722020ALA330_[..]  ONLINE       0     0     0
    ata-Hitachi_HDS722020ALA330_[..]  ONLINE       0     0     0
    ata-Hitachi_HUA722020ALA330_[..]  ONLINE       0     0     0
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.