मैं अपनी हार्ड ड्राइव के लिए हार्डवेयर ब्लॉक रीड साइज़ कैसे पता करूँ?


47

मैं dd का उपयोग करके अपनी हार्ड ड्राइव से बड़ी प्रति के लिए इष्टतम आकार का पता लगाने की कोशिश कर रहा हूं। मैं यह पता लगाने की कोशिश कर रहा हूं कि इसका उपयोग करने के लिए सबसे अच्छा अवरोधक क्या है, जो मुझे लगता है कि उस ड्राइव के लिए हार्डवेयर ब्लॉक आकार है।



1
@ सस्पेरो ने एकमात्र वास्तविक उत्तर प्रदान किया।
sjas

जवाबों:


44

इसके लिए lsblk कमांड बढ़िया है:

lsblk -o NAME,PHY-SeC

परिणाम:

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

3
क्या यह तार्किक आकार और भौतिक आकार के बीच अंतर करता है?
CMCDragonkai

2
वास्तविक भौतिक आकार प्रदान नहीं करेगा।
साजा

7
मेरे लिए काम करता है, PHY-SEC सही भौतिक दिखाता है और LOG-SEC तार्किक आकार दिखाता है।
सोगर

31

लिनक्स फाइलों में भौतिक क्षेत्र के आकार को उजागर करता है /sys/block/sdX/queue/physical_block_size। हालांकि, सबसे अच्छा प्रदर्शन पाने के लिए आपको शायद विभिन्न आकारों और खानों के साथ थोड़ा परीक्षण करना चाहिए। मुझे इसमें स्पष्ट उत्तर नहीं मिला कि वास्तव में भौतिक ब्लॉक आकार का उपयोग करके इष्टतम परिणाम प्राप्त होगा (हालांकि मुझे लगता है कि यह एक बुरा विकल्प नहीं हो सकता है)।


2
मुझे एक डेबियन लेनी सिस्टम (२.६.२६ कर्नेल) मिला है जो केवल उस स्थान में एक hw_sector_size को उजागर करता है , और एक नया उबंटू कर्मिक प्रणाली (२.६.३१ कर्नेल) जो दोनों प्रदान करता है। इसलिए यह कुछ हद तक उपयोग में कर्नेल पर निर्भर है।
क्वैककोटे

वास्तविक भौतिक आकार प्रदान नहीं करेगा।
साजा

क्या आप विस्तार कर सकते हैं? तुम यह कैसे जानते हो?
हाशिम

1
@ हाशिम i ने कुछ पुराने हार्डडिस्क का परीक्षण किया, जहां कुछ में 512 बी और कुछ में 4k सेक्टर का आकार था। superuser.com/a/426015/145072 वह समाधान है जो वास्तव में काम करता है। इसके अलावा सब कुछ hdparmआप से झूठ होगा।
15

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यह अच्छा है, क्योंकि यह तुलनात्मक रूप से एक ही बार में भौतिक और तार्किक दोनों आकारों को दिखाएगा।
साज

7

मेरा पूर्ण उत्तर होने का इरादा नहीं है, लेकिन मुझे आशा है कि यह भी मदद करता है।

यहाँ http://mark.koli.ch/2009/05/howto-whole-disk-backups-with-dd-gzip-and-p7zip.html से थोड़ा सा कुछ है


3 - उचित ब्लॉक आकार निर्धारित करें

तेज बैकअप के लिए, यह आपके द्वारा बैकअप किए जा रहे डिस्क डिवाइस के इष्टतम ब्लॉक आकार को नीचे करने में मदद कर सकता है। मान लें कि आप बैकअप / देव / sda में जा रहे हैं, तो यहां बताया गया है कि आप सबसे अच्छा ब्लॉक कोड निर्धारित करने के लिए fdisk कमांड का उपयोग कैसे कर सकते हैं:

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

Units = cylinders of 16065 * 512 = 8225280 bytes

नोट fdisk आउटपुट "16065 * 512 का सिलेंडर" कहता है। इसका मतलब है कि डिस्क पर प्रति ब्लॉक 512 बाइट्स हैं। आप ब्लॉक आकार को 2 से 4 के कई गुणा बढ़ाकर बैकअप की गति में काफी सुधार कर सकते हैं। इस मामले में, एक इष्टतम ब्लॉक का आकार 1k (512 * 2) या 2k (512 * 4) हो सकता है। BTW, लालची हो रही है और 5k (512 * 10) के ब्लॉक आकार का उपयोग करने या अत्यधिक कुछ मदद नहीं करेगा; अंततः सिस्टम डिवाइस में ही अड़चन देगा और आप बैकअप प्रक्रिया से किसी भी अतिरिक्त प्रदर्शन को निचोड़ने में सक्षम नहीं होंगे। (महत्व दिया)


मुझे संदेह है कि किसी दिए गए कॉन्फ़िगरेशन के लिए पास-इष्टतम और इष्टतम ब्लॉक आकार के बीच प्रदर्शन में अंतर नगण्य है जब तक कि डेटा सेट विशाल नहीं है। दरअसल, FixUnix (2007 से पोस्ट) के एक उपयोगकर्ता ने दावा किया कि उसका इष्टतम समय उप-इष्टतम वाले की तुलना में केवल 5% तेज था। हो सकता है कि आप "क्लस्टर" आकार या फाइलसिस्टम ब्लॉक आकार के कई का उपयोग करके थोड़ी अधिक दक्षता निचोड़ सकें।

बेशक, यदि आप इष्टतम ब्लॉक आकार के दोनों ओर बहुत दूर चले जाते हैं, तो आप परेशानी में पड़ जाएंगे।

लब्बोलुआब यह है कि आप संभावित इष्टतम ब्लॉक आकार के साथ केवल प्रदर्शन में लगभग 5% (यानी प्रति घंटे 3 मिनट) लाभ प्राप्त करेंगे, इसलिए विचार करें कि क्या यह आपके समय और शोध के प्रयास के लायक है। जब तक आप अत्यधिक मूल्यों से दूर रहते हैं, आपको पीड़ित नहीं होना चाहिए।


1
के echo "p" | /sbin/fdisk /dev/sda...बजाय उपयोग करने के लिए कुछ कारण /sbin/fdisk -l /dev/sda...? दूसरा क्लीनर होगा और कोई भी बदलाव करने का प्रयास नहीं करेगा।
क्वैकोट क्वोटोटे

आप मार्क कोलिच (लिंक्ड) से सर्वश्रेष्ठ पूछेंगे। वह एक बैकअप बना रहा था, और मैंने केवल उसके लेख के एक भाग को उद्धृत किया।
मार्क सी

1
@MarkC लिंक किए गए लेख का उपयोग करता है /sbin/fdisk -l /dev/sda | grep Units। हो सकता है कि पिछले दो वर्षों में इसे बदल दिया गया हो। किसी भी स्थिति में, मैंने आपका उत्तर अपडेट कर दिया है।
बॉब

2
IMO यह मुख्य रूप से अंतिम बोल्ड पैराग्राफ के कारण सबसे उपयोगी उत्तर है। जब तक आप अपने डिस्क्स के लिए उपयुक्त io अनुसूचक और गंदे बफर सेटिंग्स का उपयोग करते हैं, तब तक लिनक्स किसी भी स्थिति के लिए ठीक होना चाहिए।
सोगर

4

प्रत्येक डिस्क स्थानांतरण एक बाधा उत्पन्न करता है जिसे प्रोसेसर को संभालना चाहिए। विशिष्ट 50Mb / s डिस्क उनमें से प्रत्येक को 100000 उत्पन्न करना चाहेगी 512b ब्लॉक आकार में सामान्य प्रोसेसर उन में से 10s को संभालता है, इस प्रकार बड़ा (2 ^ x) ब्लॉक आकार अधिक आसान होगा (4k डिफ़ॉल्ट एफएस ब्लॉक आकार में सबसे अधिक 64k ISA DMA आकार तक की प्रणाली) अधिक व्यावहारिक होगी ...


क्या आप स्पष्ट कर सकते हैं?
11

1
@ एसजस वह या वह जो कह रहा है, जाहिर है, कि प्रत्येक क्षेत्र को एक संबद्ध "रुकावट" के साथ अलग से स्थानांतरित किया जाता है जिसे प्रोसेसर को संभालना होगा। एक बड़े ब्लॉक आकार का अर्थ है कि डेटा की समान मात्रा के लिए कम इंटरप्ट (और इसलिए कम सीपीयू चक्र का उपयोग किया गया)।
मार्क सी

1

इसके अतिरिक्त, आप lshwअन्य परिणामों को सत्यापित करने के लिए आउटपुट को देख सकते हैं, (और इसलिए भी कि मुझे hdparmअपने डिस्ट्रो पर उपलब्ध नहीं लगता है ।) यह इसे कम करने में मदद कर सकता है:

sudo lshw | awk 'BEGIN {IGNORECASE=1;} /SCSI/,!//{print}'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.