পার্টেড ব্যবহার করে একটি উন্নত ফরম্যাট এইচডিডি তে পার্টিশনের যথাযথ প্রান্তিককরণ


15

প্রথমে আমি একটি নতুন জিপিটি টেবিলটিতে পার্টিশনের শুরু এবং শেষের জন্য শতাংশ নির্দিষ্ট করে পার্ট করে একটি সঠিকভাবে প্রান্তিককরণ পার্টিশন তৈরি করেছি:

# parted -a optimal /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mktable gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Y
(parted) mkpart primary 0% 1%
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  2097kB  1049kB               primary

(parted) quit

নোট করুন যে এই ডিস্কটি অ্যাডভান্সড ফর্ম্যাটটি ব্যবহার করছে তবে সঠিকভাবে 4096Bপার্টডের শারীরিক ক্ষেত্রের আকারের প্রতিবেদন করেছে । ইউনিট হিসাবে সেক্টর ব্যবহার করে এটি আবার দেখা যাক:

# parted -a optimal /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit s
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End    Size   File system  Name     Flags
 1      2048s  4095s  2048s               primary

(parted) quit
  • এটি কেন প্রথম ভাগের ক্ষেত্র2048s নয় এবং কেন পার্টিশনটি শুরু করেছিল ?34s
  • 34sশারীরিক ক্ষেত্রের আকার 4096Bএবং যৌক্তিক (যা আপনি পার্টে নির্দিষ্ট করেছেন) সেক্টরের আকার হয় তবে এটি সঠিকভাবে সংযুক্ত শুরুর ক্ষেত্র নয় 512B। একটি সঠিকভাবে সংযুক্ত প্রারম্ভিক ক্ষেত্রটি 8( যেমন শারীরিক ক্ষেত্রের আকার / লজিক্যাল সেক্টরের আকার = 8) দ্বারা বিভাজ্য । তবে এর অর্থ 40sহ'ল প্রথমটি সঠিকভাবে সংযুক্ত শুরুর ক্ষেত্র, তবুও এটি ব্যবহার করা হয়নি। কেন?

যদি আমরা একটি নতুন জিপিটি পার্টিশন টেবিল 100MiBথেকে শুরু করে ক্ষমতার একটি সঠিকভাবে সংযুক্ত পার্টিশন তৈরি করার চেষ্টা করি 40s:

# parted -a optimal /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Y
(parted) mkpart primary 40s 204839s
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) unit MiB
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 2861588MiB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start    End     Size    File system  Name     Flags
 1      0.02MiB  100MiB  100MiB  fat32        primary

(parted)
(parted) unit s
(parted) p
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End      Size     File system  Name     Flags
 1      40s    204839s  204800s  fat32        primary

(parted)
  • আমরা এখনও Warning: The resulting partition is not properly aligned for best performance.সতর্কতা 40sপেয়েছি , যদিও এবং 204840 ( 204839s+ 1) উভয়ই বিভাজ্য 8। কেন?

উত্তর:


23

পার্ট করা কেবল মাত্রাতিরিক্ত রক্ষণশীল হচ্ছে। আজকালকার সাধারণ অনুশীলনটি হ'ল 1MiB (2048-সেক্টর) সীমানায় পার্টিশনগুলি সারিবদ্ধ করা কারণ এটি অ্যাডভান্সড ফর্ম্যাট ডিস্কগুলিতে, নির্দিষ্ট ধরণের RAID সেটআপগুলির জন্য কাজ করে যা বেশিরভাগ এসএসডিগুলিতে প্রয়োজন। একটি উন্নত ফর্ম্যাট ডিস্কের জন্য, এতক্ষণ প্রান্তিককরণটি 8 এর একাধিকের উপরে থাকে, আপনি ঠিক আছেন, এবং 2048 একটি 8 এর একাধিক, হারিয়ে যাওয়া ডিস্কের স্থানটি শাস্তিযুক্ত - যদি আমি করি তবে আপনার ডিস্কের মোট স্থানের 0.0000336% গণিত সঠিক এবং কিছুই ভুল টাইপ না। সুতরাং এটি সম্পর্কে চিন্তা করবেন না; কেবল 1MiB প্রান্তিককরণ ব্যবহার করুন।


হ্যাঁ ডিস্কের হারিয়ে যাওয়া জায়গা আমার পক্ষে কিছু যায় আসে না। আমি কেবল জানতে চেয়েছিলাম যে আমি জিনিসগুলি সঠিকভাবে বুঝতে পেরেছি। আমি এই মুহুর্তে পার্টেডের উত্স কোডটি যাচাই করছি, তবে আমার সময় দেওয়ার চেয়ে কিছুটা বেশি সময় লাগে। সুতরাং আমি কেবল এগিয়ে যাব এবং 1MiB- সারিবদ্ধতা ব্যবহার করব। আবার সাহায্য করার জন্য ধন্যবাদ!
মুছে ফেলা হয়েছে

1
এটি উল্লেখ করার মতো এটি কেবল বিভক্তদের রক্ষণশীলতা নয় বরং লিনাক্স ব্লক স্তরের একটি সীমাবদ্ধতা। এটিএ ড্রাইভগুলি optimal_io_sizeইঙ্গিত দেয় না । অতএব, "লিগ্যাসি" এটিএ ডিভাইসগুলি সরবরাহ করে না alignment_offsetএবং alignment_offsetডিফল্ট 0 এবং যেটি রয়েছে তার মধ্যে পার্থক্য করার কোনও উপায় নেই alignment_offset=0। এ জাতীয় ড্রাইভগুলির জন্য fdisk / parted 1MB পার্টিশন প্রান্তিককরণ ব্যবহার করুন।
রোলেবো

1
এবং আরো NUMBER নিজেই - 1MB পার্টিশন প্রান্তিককরণ থেকে আসা বলে মনে হয় উইন্ডোজ ভিস্তা আচরণ , উল্লেখ হিসাবে বিভক্ত কমিট
রোলেবো

1

আমি সম্ভবত যুক্ত করব যে লিনাক্সের ক্ষেত্রে এমন একটি পরিস্থিতি আসতে partedপারে যেখানে একইসাথে কখনই অনুকূল এবং সর্বনিম্ন সারিবদ্ধতা পরীক্ষা পাস করতে পারে না ।

এই জন্য কারণ যে partedউপর নির্ভর করে (অন্তত সংস্করণ 3.2 এর হিসাবে) libblkid, যেটা ঘুরে ফিরে থেকে মানগুলি রিপোর্ট /sys/block/<disk>/queue/minimum_io_sizeএবং /sys/block/<disk>/queue/optimal_io_size(দেখুন IO-limits.txt )।

সুতরাং অ্যাডভান্সড ফরম্যাট ডিস্কের জন্য প্রাক্তনটির 4k এর মতো কিছু হওয়ার সম্ভাবনা রয়েছে, তবে পরবর্তীটির কিছুটা পাগল মান থাকতে পারে - যেমন 65535 * 512 == 33553920

এখন যদি আমরা উত্স কোডটি লক্ষ্য করি - "যথাযথ", বা "সেরা পারফরম্যান্স" প্রান্তিককরণটি parted.c :: ਭਾਗ_লাইন_চেক () এর সূত্র দ্বারা সংজ্ঞায়িত করা হয়েছে :

part->geom.start % pa->grain_size == pa->offset, 

যেখানে grain_sizeউপরের আই / ও ব্লকের আকার থেকে আসে, geom.startতা কি আমাদের পার্টিশন অফসেট, এবং প্রান্তিককরণ অফসেটটি pa->offsetপ্রায়শই শূন্য হয়।

ডিফল্টরূপে, ভাগ করা 1 মাইবকে একটি অনুকূল হিসাবে ধরে নিয়ে যায় এবং the 4 কে ন্যূনতম হতে পারে (এটি যথেষ্ট নয়, এটি একটি সরলীকরণের কিছুটা) ব্লক আকার, সুতরাং এই মানগুলি পারস্পরিক সম্পর্কযুক্ত হবে; তবে, libblkidঅন্যথায় সিদ্ধান্ত নিলে , partedএটি বিশ্বাস করতে ঝোঁক, এবং ডিফল্ট মানটি 1 এমআইবিতে পাওয়া মানের সাথে প্রতিস্থাপন করে /sys/block/<disk>/queue/optimal_io_size। (একই সময়ে, /sys/block/<disk>/queue/minimum_io_sizeসম্ভবত আপনাকে একই 4096 বি প্রদান করবে)

সেক্ষেত্রে পার্টড অনুকূল চেকটি কখনই ন্যূনতম চেকের সাথে এক সাথে পাস করবে না , সম্ভবত এটি কিছুটা বিভ্রান্তিকর হতে পারে।

যে সঙ্গে মনের মধ্যে - সন্দেহ থাকলে, একটি চেহারা আছে queue/optimal_io_sizeএবং queue/minimum_io_size, এবং যদি সাবেক আধুনিক শুধু বিভক্ত উপেক্ষা 'সতর্কবার্তা দ্বারা বিভাজ্য নয়, এবং নিজেই সিদ্ধান্ত কিনা আপনি একটি সঙ্গে যেতে চাও অনুকূল বা ন্যূনতম চেক ।

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