জেডএফএস অন্তহীন রিসিলভারিং


29

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

আমি যখন সিস্টেমটি নামিয়ে দিয়েছিলাম এবং ড্রাইভগুলি প্রতিস্থাপন করেছি, তখন পুলটি প্রত্যাশার মতো পুনরায় জ্বলতে শুরু করে, তবে এটি প্রায় ৮০% হয়ে গেলে (সাধারণত এটি প্রায় 100 ঘন্টা সময় নেয়) এটি আবার চালু হয় ar

আমি নিশ্চিত না যে একবারে দুটি ড্রাইভের পরিবর্তে একটি রেসের শর্ত তৈরি হয়েছিল, বা পুলের আকারের কারণে যদি রিসিলারটি এত দীর্ঘ সময় নেয় যে অন্যান্য সিস্টেমের প্রক্রিয়াগুলি এতে বাধা সৃষ্টি করে এবং এটি পুনরায় আরম্ভ করার কারণ হয়ে থাকে তবে এর মধ্যে কোনও সুস্পষ্ট ইঙ্গিত নেই the 'zpool অবস্থা' এর ফলাফল বা সিস্টেম লগ করে যা কোনও সমস্যার দিকে নির্দেশ করে।

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

zpool স্থিতির আউটপুট (ত্রুটিগুলি গতবার যাচাই করার পরে নতুন হয়েছে):

  pool: pod
 state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: resilver in progress for 85h47m, 62.41% done, 51h40m to go
config:

    NAME                                                 STATE     READ WRITE CKSUM
    pod                                                  ONLINE       0     0 2.79K
      raidz1-0                                           ONLINE       0     0 5.59K
        disk/by-id/wwn-0x5000c5003f216f9a                ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CWPK    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQAM    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPVD    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ2Y    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CVA3    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQHC    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPWW    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09X3Z    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ87    ONLINE       0     0     0
        spare-10                                         ONLINE       0     0     0
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F20T1K  ONLINE       0     0     0  1.45T resilvered
          disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09BJN  ONLINE       0     0     0  1.45T resilvered
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQG7    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQKM    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQEH    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09C7Y    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CWRF    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ7Y    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0C7LN    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQAD    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CBRC    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPZM    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPT9    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ0M    ONLINE       0     0     0
        spare-23                                         ONLINE       0     0     0
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F226B4  ONLINE       0     0     0  1.45T resilvered
          disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CCMV  ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0D6NL    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CWA1    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CVL6    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0D6TT    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPVX    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09BGJ    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0C9YA    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09B50    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0AZ20    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BKJW    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F095Y2    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F08YLD    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQGQ    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0B2YJ    ONLINE       0     0    39  512 resilvered
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQBY    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0C9WZ    ONLINE       0     0     0  67.3M resilvered
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQGE    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ5C    ONLINE       0     0     0
        disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CWWH    ONLINE       0     0     0
    spares
      disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CCMV      INUSE     currently in use
      disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09BJN      INUSE     currently in use

errors: 572 data errors, use '-v' for a list

আউটপুট প্রদান করুনzpool status
longneck

সুতরাং আপনি যদি এটি ব্যবহার করেন তবে কোন ত্রুটিগুলি প্রতিবেদন করে -v?
ববি

"ত্রুটি: নিম্নলিখিত ফাইলগুলিতে স্থায়ী ত্রুটি সনাক্ত করা গেছে:" এবং তারপরে ত্রুটিযুক্ত প্রায় 12 টি ফাইলের একটি তালিকা।
jasongullickson

'দেখুন:' অংশের জন্য আপনি এখানে আরও বিস্তারিত ব্যাখ্যা পড়তে পারেন: illumos.org/msg/ZFS-8000-8A
তাউ

উত্তর:


56

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

প্রথমত, যেহেতু আপনি raidz1 ব্যবহার করছেন, আপনার কাছে কেবলমাত্র একটি ডিস্কের মূল্যমানের প্যারিটি ডেটা রয়েছে। তবে আপনার দুটি ড্রাইভ সমকালীনভাবে ব্যর্থ হয়েছে। এখানে সম্ভাব্য ফলাফল হ'ল ডেটা হ্রাস । পুনর্নির্মাণের কোনও পরিমাণই এটি ঠিক করতে যাচ্ছে না।

আপনার অতিরিক্তগুলি আপনাকে এখানে কিছুটা সাহায্য করেছিল এবং আপনাকে সম্পূর্ণ বিপর্যয়কর ব্যর্থতা থেকে রক্ষা করেছে। আমি এখানে একটি অঙ্গ নিয়ে বাইরে যাব এবং বলব যে দুটি ড্রাইভ যে ব্যর্থ হয়েছিল একই সময়ে ব্যর্থ হয় নি এবং দ্বিতীয় ড্রাইভ ব্যর্থ হওয়ার আগে প্রথম ছাড়টি আংশিকভাবে পুনরায় সংহত হয়েছিল।

এটি অনুসরণ করা কঠিন বলে মনে হচ্ছে। এখানে একটি ছবি:

ঘটনা ক্রম

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

আপনি এটি কীভাবে ঠিক করেন তা এখানে: স্বল্প-মেয়াদী, থেকে ক্ষতিগ্রস্থ ফাইলগুলির একটি তালিকা পান zpool status -vএবং সেই ফাইলগুলিকে ব্যাকআপ থেকে তাদের মূল অবস্থানগুলিতে অনুলিপি করুন। অথবা ফাইলগুলি মুছুন। এটি রিসিলারটিকে পুনরায় শুরু করতে এবং সম্পূর্ণ করতে অনুমতি দেবে।

আপনার কনফিগারেশন পাপটি এখানে: র‌্যাডজ গোষ্ঠীতে আপনার প্রচুর ড্রাইভ রয়েছে।

দীর্ঘমেয়াদী: আপনার ড্রাইভগুলি পুনরায় কনফিগার করতে হবে। একটি আরও উপযুক্ত কনফিগারেশন হ'ল ড্রাইভগুলি 5 ড্রাইভের ছোট গ্রুপগুলিতে বা তারপরে রেডজ 1-তে সাজানো। জেডএফএস স্বয়ংক্রিয়ভাবে small ছোট গ্রুপগুলিতে স্ট্রাইপ করবে। ড্রাইভগুলি ব্যর্থ হওয়ার সাথে সাথে এটি পুনরায় চাপের সময়টিকে উল্লেখযোগ্যভাবে হ্রাস করে কারণ কেবলমাত্র 5 টি ড্রাইভের পরিবর্তে তাদের সকলের পরিবর্তে অংশ নেওয়া দরকার। এটি করার আদেশটি এমন কিছু হবে:

zpool create tank raidz da0 da1 da2 da3 da4 \
                  raidz da5 da6 da7 da8 da9 \
                  raidz da10 da11 da12 da13 da14 \
                  spare da15 spare da16

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

দূষিত ফাইলগুলি মুছে ফেলার পরে, "zfs স্থিতি" ফাইলের পরিবর্তে এখন হেক্স মানগুলি প্রদান করে; আমি ধরে নিয়েছি যে স্ক্রাব শেষমেশ শেষ হয়ে যাবে?
jasongullickson

@ জাসংগুলিক্সন কেবলমাত্র যদি ফাইল সিস্টেমের মেটাডেটা অক্ষত থাকে। মেটাডেটা সুরক্ষার ক্ষেত্রে জেডএফএস বেশ আক্রমণাত্মক হয় যাতে সম্ভবত আপনি ভাল থাকবেন। শুধুমাত্র সময় বলে দেবে.
দীর্ঘায়ু

আমি ব্যক্তিগতভাবে এর আগে কোনও মেটাডেটা দুর্নীতির ইভেন্টে অংশ নিতে পারি নি তাই ত্রুটির ঘটনার ক্ষেত্রে এটি দেখতে কেমন তা আমি জানি না।
দীর্ঘায়ু

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