আমি কীভাবে আমার হার্ড ড্রাইভের জন্য হার্ডওয়্যার ব্লক পড়ার আকার পাই?


47

আমি আমার হার্ড ড্রাইভ থেকে ডিডি ব্যবহার করে একটি বড় কপির জন্য অনুকূল আকারটি বের করার চেষ্টা করছি। আমি এটি ব্যবহারের জন্য সবচেয়ে ভাল ব্লকসাইজটি কী তা আবিষ্কার করার চেষ্টা করছি যা আমি ধরে নেব যে সেই ড্রাইভের জন্য হার্ডওয়্যার ব্লক আকার।



1
@ সেপিরো একমাত্র আসল উত্তর সরবরাহ করেছে।
sjas

উত্তর:


44

Lsblk কমান্ড এই জন্য মহান:

lsblk -o NAME,PHY-SeC

ফলাফলগুলো:

NAME   PHY-SEC 
sda        512 
├─sda1     512 
├─sda2     512 
└─sda5     512 

3
এটি কি যৌক্তিক আকার এবং শারীরিক আকারের মধ্যে পার্থক্য করে?
সিএমসিডিগ্রাগনকাই

2
প্রকৃত শারীরিক আকার সরবরাহ করবে না।
sjas

7
আমার জন্য কাজ করে, পিএইচওয়াই-এসইসি সঠিক শারীরিক দেখায় এবং লোগ-এসইসি যৌক্তিক আকার দেখায়।
soger

31

লিনাক্স ফাইলগুলিতে শারীরিক ক্ষেত্রের আকারটি প্রকাশ করে /sys/block/sdX/queue/physical_block_size। যদিও, সেরা পারফরম্যান্স পেতে আপনার বিভিন্ন মাপ এবং পরিমাপের সাথে সম্ভবত কিছুটা পরীক্ষা করা উচিত। আমি শারীরিক ব্লক আকারটি ব্যবহার করলে অনুকূল ফলাফলটি পাওয়া যাবে এর একটি সুস্পষ্ট উত্তর খুঁজে পেলাম না (যদিও আমি মনে করি এটি কোনও খারাপ পছন্দ হতে পারে না)।


2
আমি একটি ডেবিয়ান লেনি সিস্টেম পেয়েছি ( ২.6.২6 কার্নেল) যা কেবলমাত্র সেই স্থানে একটি hw_sector_size এবং একটি নতুন উবুন্টু কার্মিক সিস্টেম (২.6.৩১ কার্নেল) প্রকাশ করে যা উভয় সরবরাহ করে। সুতরাং এটি ব্যবহারের কার্নেলের উপর কিছুটা নির্ভরশীল।
কোয়াকোট কোয়েসোট

প্রকৃত শারীরিক আকার সরবরাহ করবে না।
sjas

@ sjas আপনি কি প্রসারিত করতে পারেন? তুমি ইহা কিভাবে জানো?
হাশিম

1
@ হাশিম আমি এটি কিছু পুরানো হার্ডডিস্ক পরীক্ষা করেছিলাম যেখানে কয়েকটি যেখানে 512 বি এবং কিছু 4k সেক্টরের আকার ছিল। superuser.com/a/426015/145072 হল আসলে কাজ করা সমাধান। সব কিছু hdparmসম্ভবত আপনাকে মিথ্যা বলা হবে।
sjas

28
$ sudo hdparm -I /dev/sda | grep -i physical
Physical Sector size:                  4096 bytes

http://wayback.archive.org/web/20150921015457/https://nxadm.wordpress.com/2010/04/30/4096-physical-block-size-drives/


3
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত, যেহেতু এটিই কেবল আসল শারীরিক মান সরবরাহ করে।
sjas

4
hdparm -I /dev/sda | grep Sectorসহজ, তুলনা করার জন্য এটি একবারে শারীরিক এবং যৌক্তিক উভয় আকারকে দেখায়, এটি দুর্দান্ত।
sjas

7

আমার সম্পূর্ণ উত্তর হওয়ার উদ্দেশ্যে নয়, তবে আমি আশা করি এটিও সহায়তা করবে।

Http://mark.koli.ch/2009/05/howto- whole-disk-backups-with-dd-gzip-and-p7zip.html থেকে কিছুটা এখানে দেওয়া হল


3 - উপযুক্ত ব্লকের আকার নির্ধারণ করুন

দ্রুত ব্যাকআপের জন্য, আপনি যে ডিস্ক ডিভাইসটি ব্যাকআপ করতে যাচ্ছেন তার অনুকূল ব্লক আকারটি পেরেক করতে সহায়তা করতে পারে। ধরে নিই যে আপনি ব্যাকআপ / dev / sda তে যাচ্ছেন, সেরা ব্লকের আকার নির্ধারণ করতে আপনি এখানে fdisk কমান্ডটি কীভাবে ব্যবহার করতে পারেন তা এখানে:

rescuecd#/> /sbin/fdisk -l /dev/sda | grep Units

Units = cylinders of 16065 * 512 = 8225280 bytes

নোট করুন fdisk আউটপুট "16065 * 512 সিলিন্ডার" বলছে। এর অর্থ এই যে ডিস্কে প্রতি ব্লকে 512 বাইট রয়েছে। আপনি 2 থেকে 4 এর একাধিক দ্বারা ব্লকের আকার বাড়িয়ে ব্যাকআপের গতি উল্লেখযোগ্যভাবে উন্নত করতে পারেন এই ক্ষেত্রে, সর্বোত্তম ব্লকের আকার 1 কে (512 * 2) বা 2 কে (512 * 4) হতে পারে। বিটিডাব্লু, লোভী হওয়া এবং 5 কে (512 * 10) এর ব্লকের আকার বা অতিরিক্ত কিছু ব্যবহার করা সাহায্য করবে না; শেষ পর্যন্ত সিস্টেমটি ডিভাইসে নিজেই বাধা হয়ে দাঁড়াবে এবং আপনি ব্যাকআপ প্রক্রিয়া থেকে কোনও অতিরিক্ত পারফরম্যান্স বের করতে পারবেন না। (সামনে জোর দাও)


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

অবশ্যই, আপনি যদি সর্বোত্তম ব্লকের আকারের উভয় দিকে খুব বেশি দূরে চলে যান তবে আপনি সমস্যায় পড়বেন।

নীচের অংশটি হ'ল আপনি সম্ভবত পারফরম্যান্স সর্বোত্তম ব্লকের আকারের সাথে পারফরম্যান্সের প্রায় 5% (অর্থাত্ প্রতি ঘন্টা 3 মিনিট) অর্জন করতে পারেন, তাই আপনার গবেষণার জন্য আপনার সময় এবং প্রচেষ্টার পক্ষে এটি উপযুক্ত কিনা তা বিবেচনা করুন। যতক্ষণ আপনি চরম মূল্যবোধ থেকে দূরে থাকবেন ততক্ষণ আপনার কষ্টভোগ করা উচিত নয়।


1
echo "p" | /sbin/fdisk /dev/sda...পরিবর্তে ব্যবহারের কিছু কারণ /sbin/fdisk -l /dev/sda...? দ্বিতীয়টি পরিষ্কার হবে এবং কোনও পরিবর্তন করার চেষ্টা করবে না।
কোয়াকোট কোয়েসোট

আপনি মার্ক কোলিচকে (লিঙ্কযুক্ত) সেরা জিজ্ঞাসা করবেন তিনি একটি ব্যাকআপ তৈরি করছিলেন এবং আমি কেবল তার নিবন্ধের একটি অংশ উদ্ধৃত করেছি।
সি

1
@MarkC দ্য লিঙ্ক নিবন্ধ ব্যবহারসমূহ /sbin/fdisk -l /dev/sda | grep Units। এটি সম্ভবত গত দুই বছরে পরিবর্তিত হয়েছে। যাই হোক না কেন, আমি আপনার উত্তর আপডেট করেছি।
বব

2
আইএমও এটি সর্বাধিক দরকারী উত্তর মূলত শেষ গা bold় অনুচ্ছেদের কারণে। লিনাক্স ডিস্ক অ্যাক্সেসকে অনুকূলকরণের জন্য খুব কঠোর পরিশ্রম করে তাই যতক্ষণ না আপনি নিজের ডিস্কের জন্য উপযুক্ত আইও শিডিয়ুলার এবং নোংরা বাফার সেটিংস ব্যবহার করেন তবে কোনও পরিস্থিতিতে 8192 বাইটের একটি ব্লক আকার ঠিক থাকতে হবে।
soger

4

প্রতিটি ডিস্ক স্থানান্তর একটি বিঘ্ন সৃষ্টি করে যা প্রসেসরের অবশ্যই পরিচালনা করতে হবে। সাধারণ 50Mb / s ডিস্ক 512b ব্লক আকারে প্রতিটি সেকেন্ডে তাদের 100000 উত্পন্ন করতে চায় নরমাল প্রসেসর 10 হাজার হাজারকে পরিচালনা করতে পারে, সুতরাং বৃহত্তর (2 ^ x) ব্লকের আকারটি আরও কার্যকর হবে (বেশিরভাগ ক্ষেত্রে ডিফল্ট এফএস ব্লক আকার হিসাবে 4k) 64 কে আইএসএ ডিএমএ আকারের সিস্টেমগুলি) আরও ব্যবহারিক হবে ...


আপনি কি স্পষ্ট করতে পারেন?
sjas

1
@ এসজেস তিনি বা তিনি যা বলছেন তা স্পষ্টতই, প্রতিটি সেক্টরকে একটি সম্পর্কিত "বাধা" দিয়ে আলাদাভাবে স্থানান্তর করা হয় যা প্রসেসরকে পরিচালনা করতে হবে। বৃহত্তর ব্লক আকারের অর্থ একই পরিমাণের ডেটার জন্য কম বাধা (এবং সেইজন্য কম সিপিইউ চক্র ব্যবহৃত হয়)।
সি

1

অতিরিক্তভাবে, আপনি lshwঅন্যান্য ফলাফল যাচাই করতে আউটপুট মাধ্যমে দেখতে পারেন , (এবং এটিও যে hdparmআমার ডিসট্রোতে পাওয়া যায় বলে মনে হয় না )) এটি এটিকে সঙ্কুচিত করতে সহায়তা করতে পারে:

sudo lshw | awk 'BEGIN {IGNORECASE=1;} /SCSI/,!//{print}'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.