xvs on lvm on হার্ডওয়্যার RAID: সঠিক পরামিতি?


10

আমার কাছে একটি হার্ডওয়্যার RAID6 এ 8 টিবি সহ 10 টি ডিস্ক রয়েছে (এইভাবে 8 টি ডাটা ডিস্ক + 2 প্যারিটি)। খুব অনুরূপ প্রশ্নের উত্তর অনুসরণ করে , আমি সমস্ত প্রয়োজনীয় পরামিতিগুলির একটি স্বয়ংক্রিয় সনাক্তকরণের জন্য আশাবাদী। যাইহোক, শেষে XFS ফাইল সিস্টেম তৈরি করার সময়, আমি পেয়েছিলাম

# mkfs.xfs /dev/vgdata/lvscratch 
meta-data=/dev/vgdata/lvscratch  isize=256    agcount=40, agsize=268435455 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=10737418200, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

এটি দেখে মনে হচ্ছে যে স্ট্রাইপিং ব্যবহার করা হয়নি। বিভিন্ন সাইটে আমি বিভিন্ন শর্তাবলী পেয়েছি (স্ট্রিপ আকার, স্ট্রাইপ সাইজ, স্ট্রাইপ অংশ, ...), আমি ম্যানুয়াল প্যারামিটারগুলি সঠিকভাবে পেয়েছি কিনা তা জানতে চাই।

RAID 6 টি 256KB স্ট্রিপ আকার সহ সেট আপ করা হয়েছে:

# ./storcli64 /c0/v1 show all | grep Strip
Strip Size = 256 KB

সুতরাং, ডোরাকাটা আকার 8 * 256KB = 2048KB = 2MB। এটা কি সঠিক? মতে এই (এবং যদি আমি এটি সঠিকভাবে বুঝতে), pvcreateথেকে আর্গুমেন্ট হিসাবে ফালা (অথবা খণ্ড) আকার ব্যবহার করতে হয়েছে dataalignment:

# pvcreate --dataalignment 256K /dev/sdb
  Physical volume "/dev/sdb" successfully created

নোট করুন যে আমি পার্টিশন ছাড়াই পুরো RAID ডিভাইসটি ব্যবহার করেছি। এখন ক

# vgcreate vgdata /dev/sdb
  Volume group "vgdata" successfully created

4MB এর ডিফল্ট পিই আকারের সাথে সূক্ষ্ম হওয়া উচিত কারণ এটি 2MB এর স্ট্রাইপ আকারের একাধিক। সঠিক?

এখন, ভিগ্রুপের একটি অংশ লজিকাল ভলিউমের জন্য বরাদ্দ করা হয়েছে:

# lvcreate -L 40T vgdata -n lvscratch 
  Logical volume "lvscratch" created.

অবশেষে, ফাইল সিস্টেমটি তৈরি করা হয়েছে তবে এখন সঠিক যুক্তি (2MB এর স্ট্রাইপ আকার, স্ট্রাইপের প্রস্থ 8):

# mkfs.xfs -d su=2048k,sw=8 /dev/vgdata/lvscratch 
meta-data=/dev/vgdata/lvscratch  isize=256    agcount=41, agsize=268434944 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=10737418240, imaxpct=5
         =                       sunit=512    swidth=4096 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

এই পদ্ধতির সঠিক? লজিকাল ভলিউম বা ভলিউম গ্রুপের বাড়ানোর জন্য কি কিছু মনে রাখবেন? আমি মনে করি যে যদি ভলিউম গ্রুপটি অন্য একটি RAID6 সিস্টেমের সাথে প্রসারিত হয় তবে স্ট্রিপের আকারটি বর্তমান RAID6 এর সমান হওয়া উচিত।

সম্পাদনা : আমার বিভ্রান্তি মূলত স্ট্রাইপের সাথে সংযুক্ত শর্তাদির বিভিন্ন ব্যবহারের ভিত্তিতে বলে মনে হচ্ছে। আমার রেড কন্ট্রোলার, এলএসআই বা আভাগো প্রস্তুতকারক শর্তাবলী নিম্নলিখিত উপায়ে সংজ্ঞায়িত করেছেন :

স্ট্রাইপ প্রস্থ

স্ট্রাইপ প্রস্থ যেখানে কোনও ড্রাইভ গ্রুপের সাথে জড়িত ড্রাইভের সংখ্যা যেখানে স্ট্রাইপিং বাস্তবায়ন করা হয়। উদাহরণস্বরূপ, ডিস্ক স্ট্রিপিং সহ একটি ফোর-ডিস্ক ড্রাইভ গ্রুপের স্ট্রিপ প্রস্থের চারটি থাকে।

ডোরা আকার

স্ট্রাইপের আকার হ'ল আন্তঃবাহিত ডেটা বিভাগগুলির দৈর্ঘ্য যা RAID নিয়ামক একাধিক ড্রাইভ জুড়ে লিখেছেন, প্যারিটি ড্রাইভ সহ নয়। উদাহরণস্বরূপ, একটি স্ট্রাইপ বিবেচনা করুন যা disk৪ কেবি ডিস্কের স্থান ধারণ করে এবং স্ট্রাইপের প্রতিটি ডিস্কে ১ KB কেবি ডেটা থাকে। এই ক্ষেত্রে, স্ট্রাইপের আকার 64 কেবি, এবং স্ট্রিপের আকার 16 কেবি।

স্ট্রিপ আকার

স্ট্রিপ আকারটি স্ট্রিপের অংশ যা একক ড্রাইভে থাকে।

উইকিপিডিয়া (এবং আইবিএম ) অন্যান্য সংজ্ঞা ব্যবহার করে বলে মনে হচ্ছে:

পরবর্তী ডিস্কে ক্রিয়াকলাপ চালিয়ে যাওয়ার আগে ডিস্ক থেকে লিখিত বা পড়ার অনুক্রমিক তথ্যগুলির বিভাগগুলিকে সাধারণত অংশ, স্ট্রাইড বা স্ট্রিপ ইউনিট বলা হয়, যখন তাদের যৌক্তিক গোষ্ঠীগুলিকে একক স্ট্রিপ ক্রিয়াকলাপগুলি স্ট্রিপ বা স্ট্রাইপ বলা হয় called এক অংশে (স্ট্রাইপ ইউনিট) ডেটার পরিমাণ, প্রায়শই বাইটে চিহ্নিত হয়, বিভিন্নভাবে খণ্ডের আকার, স্ট্রাইড আকার, স্ট্রাইপ আকার, স্ট্রাইপ গভীরতা বা স্ট্রাইপ দৈর্ঘ্য হিসাবে উল্লেখ করা হয়। অ্যারে ডেটা ডিস্কের সংখ্যাটিকে কখনও কখনও স্ট্রাইপ প্রস্থ বলা হয় তবে এটি স্ট্রাইপের মধ্যে থাকা ডেটার পরিমাণকেও বোঝায়।

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

এমনকি উইকিপিডিয়া পাঠ্যটিতে স্ট্রাইপ আকার দুটি পৃথক অর্থ সহ ব্যবহৃত হয়। তবে আমি এখন ধরে নিলাম, xfs ফাইল সিস্টেম তৈরি করার সময়, একক ড্রাইভে সঞ্চিত একক অংশের আকারটি su হিসাবে যুক্তি হিসাবে দিতে হবে। এটি, এটি mkfs.xfs -d su=256k,sw=8উপরের কমান্ডে থাকা উচিত । সঠিক?

উত্তর:


12

"স্ট্রিপ সাইজ" এবং "স্ট্রিপ সাইজ" এর পরিবর্তে এক্সএফএস ম্যান পেজগুলি যথাক্রমে "স্ট্রাইপ ইউনিট" এবং "স্ট্রিপ প্রস্থ" শব্দটি ব্যবহার করে।

এটি mkfs.xfs(8)ম্যান পৃষ্ঠাতে অন্যথায় বিভ্রান্তিকর পাঠ্যটি ডিকোড করা সম্ভব করে :

               sunit=value
                      This is used to specify the stripe unit for  a  RAID
                      device  or  a  logical  volume.  The value has to be
                      specified in 512-byte block units. Use the su subop‐
                      tion  to specify the stripe unit size in bytes. This
                      suboption ensures  that  data  allocations  will  be
                      stripe  unit aligned when the current end of file is
                      being extended and the  file  size  is  larger  than
                      512KiB.  Also inode allocations and the internal log
                      will be stripe unit aligned.

               su=value
                      This is an alternative to using sunit.  The su  sub‐
                      option is used to specify the stripe unit for a RAID
                      device or a striped logical volume. The value has to
                      be  specified  in  bytes,  (usually using the m or g
                      suffixes). This value must  be  a  multiple  of  the
                      filesystem block size.

সুতরাং, আপনার অ্যারে 256KiB এর স্ট্রিপ আকারের প্রতিবেদন করার সাথে সাথে আপনি কোনওটি নির্দিষ্ট করতে পারেন su=256Kবা sunit=512(কারণ 512 512-বাইট ব্লকগুলি 256KiB এর সমান)।

               swidth=value
                      This  is used to specify the stripe width for a RAID
                      device or a striped logical volume. The value has to
                      be  specified  in  512-byte  block units. Use the sw
                      suboption to specify the stripe width size in bytes.
                      This  suboption  is  required  if  -d sunit has been
                      specified and it has to be  a  multiple  of  the  -d
                      sunit suboption.

               sw=value
                      suboption is an alternative to using swidth.  The sw
                      suboption is used to specify the stripe width for  a
                      RAID  device or striped logical volume. The value is
                      expressed as a multiplier of the stripe  unit,  usu‐
                      ally the same as the number of stripe members in the
                      logical volume configuration, or  data  disks  in  a
                      RAID device.

                      When  a  filesystem  is  created on a logical volume
                      device, mkfs.xfs will automatically query the  logi‐
                      cal volume for appropriate sunit and swidth values.

10 টি স্পিন্ডল (8 ডেটা, 2 প্যারিটি) দিয়ে আপনি sw=8(ডেটা স্পিন্ডেল) বা swidth=2M(স্ট্রাইপের আকার ডেটা স্পিন্ডেল দ্বারা গুণিত) উল্লেখ করবেন।

নোট করুন xfs_info এবং mkfs.xfsব্যাখ্যা করুন sunitএবং swidth512B সেক্টরের ইউনিটগুলিতে নির্দিষ্ট করা হিসাবে; দুর্ভাগ্যক্রমে যে ইউনিটে তারা রিপোর্ট করা হয়েছে তা নয়। xfs_infoএবং mkfs.xfsএগুলিকে আপনার বুনিয়াদি ব্লক আকারের ( bsizeএবং) 512 বি সেক্টরের একাধিক ক্ষেত্রে রিপোর্ট করুন ।

টি এল; ডিআর:

এগুলি নির্দিষ্ট করার সহজতম উপায় সাধারণত স্ট্রিপ আকার এবং স্পিন্ডাল গণনা দ্বারা হয়, সুতরাং su=স্ট্রিপ আকার এবং sw=স্পিন্ডাল গণনা।


স্পষ্টতার জন্য অনেক ধন্যবাদ! মেয়াদ ডোরা আকারের বিভিন্ন ব্যবহার বেশ বিভ্রান্তিকর হয় (এক ডিস্কে বা একসাথে সমস্ত ডেটা ডিস্ক জন্য খণ্ড জন্য) ... আপনার কাছে একটি আর্গুমেন্ট হিসাবে ডোরা খণ্ড আকারের ব্যবহারের উপর সম্প্রসারিত দয়া করে pvcreateএর --dataalignment?
sebschub

1
এই ক্ষেত্রে 2 এম তে ডেটা প্রান্তিককরণটি আপনার সম্পূর্ণ স্ট্রাইপ প্রস্থ হওয়া উচিত এবং আপনি যে শারীরিক পরিমাণের আকারটি ব্যবহার করেন সেটি vgcreateহয় একই বা একাধিক হওয়া উচিত।
মাইকেল হ্যাম্পটন 18

1

লজিকাল ভলিউম স্ট্রাইপ করা হয়নি, (-i 8 -I 256k) যাতে আপনার xfs ফাইল সিস্টেমটি একটি স্বতন্ত্র একক ডিস্ক ছাড়া কিছুই দেখতে পায় না

পুরানো প্রশ্ন কিন্তু অন্যান্য অনুসন্ধানকারীদের একই ভুল থেকে সংরক্ষণ করুন।

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