4k सेक्टर हार्ड ड्राइव को फॉर्मेट कैसे करें?


12

मैंने एक सीगेट ST3000DM001 3TB हार्ड ड्राइव खरीदी। इसे एक बाड़े के अंदर बेचा गया था। मैंने ext4 पर स्वरूपित किया, इसके लिए कुछ डेटा की प्रतिलिपि बनाई और फिर मैंने इसे बाड़े से हटा दिया और इसे सीधे मदरबोर्ड से जोड़ा। मेरा डेटा OS को दिखाई नहीं दे रहा था (यह एक अज्ञात ~ 300GiB विभाजन और शेष खाली स्थान के रूप में देख रहा था) इसलिए मैंने उन्नत प्रारूप और> 2TB ड्राइव के बारे में पढ़ना शुरू किया।

मैंने USB के साथ डिस्क को फिर से कनेक्ट किया, सभी डेटा को कॉपी किया, और एक बार फिर से sata पर प्लग किया। मैंने एक GPT विभाजन तालिका बनाने के लिए gparted का उपयोग किया (ubuntu डिस्क उपयोगिता मुझे नहीं होने देगी Error synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0), एक बड़ा 3Tb Ext4 विभाजन बनाया, डिफ़ॉल्ट Align toमान को छोड़ दिया MiBऔर स्वरूपित किया।

ड्राइव को सही ढंग से पहचाना जाता है, और ठीक से माउंट करता है। फ़ाइलों को और ड्राइव से सफलतापूर्वक कॉपी किया जा सकता है।

हालाँकि:

Gparted डिस्क दिखाता है जिसमें 512k सेक्टर हैं जो मुझे पता है कि यह सच नहीं है 1

gparted स्क्रीनशॉट

जबकि cat /sys/block/sdb/queue/physical_block_sizeरिपोर्ट4096

मुझे कुछ रिपोर्ट मिली हैं जिनमें libpartedगैर-512k सेक्टर 2 और अन्य 3 के साथ समस्या है जो कहते हैं कि MiB को संरेखित करना पर्याप्त है।

विभाजन रिपोर्ट है कि जब मैं न्यूनतम चुनता हूं तो ड्राइव को संरेखित किया जाता है:

(parted) align-check 
alignment type(min/opt)  [optimal]/minimal? min                           
Partition number? 1                                                       
1 aligned
(parted)    

क्या मेरा कॉन्फ़िगरेशन सही है? क्या मेरे पास प्रदर्शन दंड है क्योंकि डिस्क 512k क्षेत्रों के साथ स्वरूपित है, क्या gParted गलत मूल्यों की रिपोर्टिंग कर रहा है या मैंने पूरी बात को गलत समझा है?

  1. http://www.storagereview.com/seagate_barracuda_3tb_review_1tb_platters_st3000dm001
  2. http://ubuntuforums.org/showthread.php?t=1536933&p=9754234#post9754234
  3. http://wdc.custhelp.com/app/answers/detail/a_id/5655

मेरे पास इनमें से कुछ सीगेट ड्राइव के साथ-साथ WD और Fujitsu / HGST 3TB ड्राइव हैं और ये सभी बिना किसी समस्या के काम करते हैं। आप GParted के बारे में सही हो सकते हैं, क्योंकि मेरा Seagate एक जो वर्तमान में USB के माध्यम से जुड़ा हुआ है, GParted में 4096 सेक्टर आकार के साथ दिखाता है। मेरा GParted संस्करण 0.12.1 है, जो क्वांटल से डिफ़ॉल्ट है।
LiveWireBT

मुझे विश्वास है कि यह 4096 यहां भी दिखाएगा यदि मैं इसे यूएसबी के माध्यम से जोड़ता हूं। USB-SATA नियंत्रक में कुछ जादू है।
क़्वाज़िक्स

प्रासंगिक QA: superuser.com/questions/679725/…
qwazix 20

जवाबों:


5

यह 512 बाइट्स की रिपोर्ट करता है क्योंकि पुराने OSes (Windows) के साथ पिछड़े संगतता के लिए तार्किक क्षेत्र आकार है। (छ) ने विभाजन को १ MiB के लिए संरेखित किया, जो कि ४k भौतिक क्षेत्रों का उपयोग करके ड्राइव के साथ ठीक से काम करने के लिए पर्याप्त है, इसलिए यह ठीक है जिस तरह से है।


11

सबसे पहले, सबसे उन्नत प्रारूप ड्राइव 512 बाइट्स का एक तार्किक सेक्टर आकार प्रस्तुत करते हैं , भले ही भौतिक क्षेत्र का आकार 4096 बाइट्स (4KiB) हो। यह ड्राइव के फर्मवेयर में करतब दिखाने वाले डेटा के माध्यम से किया जाता है, और यदि विभाजन ठीक से संरेखित नहीं होते हैं, तो यह प्रदर्शन समस्याओं का परिणाम हो सकता है । संभावना है कि यह आपकी समस्या का स्रोत नहीं है, हालांकि, और विभाजन संरेखण पर आपका ध्यान गलत है। (यह सुनिश्चित हो, विभाजन संरेखण है महत्वपूर्ण है, यह सिर्फ अपने समस्या के स्रोत नहीं है।)

मेरा कूबड़ (और यह है)बस एक कूबड़) यह है कि आपकी समस्या USB संलग्नक और डिस्क के प्रत्यक्ष कनेक्शन के बीच स्विच करने से होती है। कुछ एनक्लोजर डिस्क पर 512-बाइट लॉजिकल सेक्टर को 4096-बाइट लॉजिकल सेक्टर में ट्रांसलेट करते हैं, जो कि कंप्यूटर को प्रस्तुत किया जाता है - जो कि एडवांस फॉर्मेट डिस्क में फर्मवेयर के विपरीत होता है। मैं सकारात्मक नहीं हूं, लेकिन मुझे संदेह है कि कुछ बाड़े केवल ओवर -2 टी डिस्क पर ऐसा करते हैं। MBR और GPT विभाजन योजनाएं, सेक्टर संख्याओं के डेटा को संदर्भित करती हैं, इसलिए सेक्टर आकार को बदलने से विभाजन डेटा अमान्य हो जाता है। इस प्रकार, यदि आप इस तरह से अनुवाद करने वाले USB परिक्षेत्र में डिस्क तैयार करते हैं और फिर सीधे डिस्क (या इसके विपरीत) का उपयोग करने का प्रयास करते हैं, तो आपको त्रुटियां दिखाई देंगी क्योंकि विभाजन (और यहां तक ​​कि GPT बैकअप डेटा) नहीं होगा जहां कंप्यूटर यह होने की उम्मीद करता है। यह एक अंधे व्यक्ति को "

इस समस्या का समाधान डिस्क को एक तरह से तैयार करना और उसका उपयोग करना है - या तो यूएसबी संलग्नक का उपयोग करें या प्रत्यक्ष कनेक्शन का उपयोग करें, दोनों नहीं। यदि दोनों किसी कारण से आवश्यक हैं, तो आपको एक संलग्नक ढूंढना होगा जो इस प्रकार के अनुवाद को लागू किए बिना काम करता है।

मेरी परिकल्पना का परीक्षण करने के लिए, आप एक उपकरण (जैसे parted) का उपयोग कर सकते हैं जो तार्किक क्षेत्र के आकार की रिपोर्ट करता है । उदाहरण के लिए:

sudo parted /dev/sda print
Model: ATA Hitachi HDP72505 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B

मैंने इस आउटपुट से सूचना का एक गुच्छा छोड़ा है। महत्वपूर्ण विस्तार यहां दिखाई गई अंतिम पंक्ति में है: तार्किक और भौतिक क्षेत्र आकार दोनों 512 बाइट्स हैं। यदि आप इस परीक्षण को चलाते हैं, तो डिस्क को दूसरे तरीके से फिर से चलाएँ और इसे फिर से चलाएं, आप परिणामों की तुलना कर सकते हैं। यदि आप डिस्क को कैसे संलग्न करते हैं, इसके आधार पर तार्किक क्षेत्र आकार बदलता है, तो मेरी परिकल्पना सही है और यह आपकी समस्या का स्रोत है। या कम से कम, यह एक समस्या है; अन्य भी हो सकते हैं। विशेष रूप से, Error synchronizing after initial wipeआपके द्वारा उल्लिखित त्रुटि एक और समस्या का संकेत दे सकती है। OTOH, कि एक पक्ष प्रभाव हो सकता हैpartedडिस्क के अंत से परे बैकअप GPT डेटा को पढ़ने की कोशिश कर रहा है। किसी भी तरह से, यदि आप तार्किक क्षेत्र के आकार में परिवर्तन देखते हैं, तो आपको किसी और चीज़ से निपटने से पहले उस मुद्दे को हल करना चाहिए। आप डिस्क repartition चाहते हैं, लेकिन की वजह से समस्या है, तो Error synchronizingत्रुटि का उपयोग करके देखें gdiskया cgdisk(में gdiskपैकेज) के बजाय partedया GParted; gdiskपरिवार त्रुटियों के खिलाफ और अधिक मजबूत है की तुलना में है partedपरिवार।


मुझे विश्वास है कि समस्या USB और आंतरिक के बीच स्विच करने के कारण है। वास्तव में यह मेरा प्रारंभिक विचार था और यही कारण है कि मैंने डिस्क को पीसी में वापस डालने के बाद विभाजन तालिका को फिर से बनाया और sata के साथ जोड़ा। (मैंने अपने डेटा को बाहर निकालने के लिए इसे पहली जगह में लिया)। मैं USB के माध्यम से रिपोर्ट किए गए तार्किक क्षेत्र का परीक्षण करने के लिए इसे फिर से नहीं निकालना चाहता, लेकिन सभी तथ्य यह सुझाव देते हैं।
क़्वाज़िक्स

मैं स्विचिंग इंटरफेस रखने का इरादा नहीं रखता, डिस्क काम करती है जैसा कि अभी है, SATA कनेक्शन के तहत तैयार किया गया है। मैं केवल आपके द्वारा बताए गए प्रदर्शन दंड के बारे में चिंतित हूं और मैं समझना चाहता हूं कि वास्तव में क्या होता है। parted /dev/sdb printरिटर्न 512/4096तो ऐसा लगता है GParted तार्किक सेक्टर आकार जो बताता है कि क्यों @LiveWireBT ही डिस्क (यूएसबी के माध्यम से जुड़े) के लिए 4096 में देखता है और यह भी ऊपर के रूप में अपने कूबड़ की पुष्टि करता है की रिपोर्ट है कि।
कव्वाज़िक्स

Verbatim Store'n'Go बाहरी ड्राइव के साथ भी यही समस्या थी, तार्किक क्षेत्र का आकार 512 है जबकि भौतिक आकार 4096 है।
विस्तृत

4

उन्नत स्वरूप ड्राइव का समर्थन करने के लिए लिनक्स कर्नेल और उपयोगिताओं दोनों में परिवर्तन किए गए हैं। ये परिवर्तन सुनिश्चित करते हैं कि उन्नत प्रारूप ड्राइव पर सभी विभाजन 4K क्षेत्र की सीमाओं पर ठीक से संरेखित हैं। उन्नत स्वरूप ड्राइव के लिए कर्नेल समर्थन कर्नेल संस्करण 2.6.31 और इसके बाद के संस्करण में उपलब्ध है। एडवांस्ड फॉर्मेट ड्राइव को पार्टिंग और फॉर्मेट करने के लिए समर्थन निम्नलिखित लिनक्स उपयोगिताओं में उपलब्ध है:

Fdisk: GNU Fdisk एक कमांड लाइन उपयोगिता है जो हार्ड ड्राइव को विभाजन करती है। संस्करण 1.2.3 और इसके बाद के संस्करण उन्नत प्रारूप ड्राइव।

बिदाई: GNU पार्टिशन हार्ड ड्राइव के विभाजन के लिए एक चित्रमय उपयोगिता है। संस्करण 2.1 और इसके बाद के संस्करण उन्नत प्रारूप ड्राइव का समर्थन करते हैं।

4K देशी (4Kn) डिस्क में 4-केबी लॉजिकल सेक्टर का आकार होता है। आधुनिक ऑपरेटिंग सिस्टम इन डिस्क पर डेटा स्टोर कर सकते हैं, लेकिन वे आमतौर पर इन डिस्क से बूट नहीं कर सकते हैं। ये डिस्क आमतौर पर यूएसबी कनेक्शन के साथ बाहरी ड्राइव हैं।

एक मीडिया भंडारण युक्ति, बस प्रेस के रूप में इस्तेमाल एक विभाजन बनाने के लिए Ctrl+ Alt+ Tटर्मिनल खोलने के लिए अपने कीबोर्ड पर। जब यह खुलता है, तो नीचे कमांड चलाएँ:

sudo mkfs.ext4 -m 0 /dev/sdb1

4k डिस्क में से अधिकांश में 4096 बाइट्स का एक भौतिक क्षेत्र आकार होता है ताकि 3TB प्लेटों पर फिट हो सके, लेकिन उनके पास OS के साथ संगतता के लिए 512B तार्किक क्षेत्र आकार है जो एक सेक्टर 512B होने की उम्मीद करता है। इसीलिए जब आप विवरण को प्रिंट करने के लिए विभाजन में प्रिंट कमांड का उपयोग करते हैं, तो सेक्टर साइज़ लॉजिकल / फिजिकल 512B / 4096B कहता है। यह सामान्य है।

यह "रूपांतरण" डिस्क पर ही खुफिया द्वारा किया जाता है, और यह सामान्य है। यह है कि यह कैसे काम करना चाहिए।

यदि आप BIOS में पूरे 3TB को पहले नहीं देख सकते हैं कि यह डिस्क आकार को सीमित नहीं कर रहा है। हो सकता है कि आपको डिस्क का समर्थन करने के लिए बायोस अपडेट की आवश्यकता हो।

विभाजन का उपयोग करते हुए भी 0 से शुरू होने वाले विभाजन को बनाने के लिए जो एक गलती है। आपको सेक्टर 2048 पर पहला विभाजन शुरू करने की आवश्यकता है जो 1MiB के बराबर है ताकि डिस्क पर विभाजन इष्टतम प्रदर्शन के साथ गठबंधन हो।

तो, यूनिट को MiB में बदलें, डिस्क विवरण प्रिंट करें जो MiB में डिस्क का आकार भी प्रिंट करेगा, और 1MiB से विभाजन (यदि आप केवल एक विभाजन चाहते हैं) बनाएं और अंतिम MiB (या अंतिम से पहले एक) पर समाप्त करें ।

उदाहरण के लिए, 3TB डिस्क में वास्तव में 2,861,022 MiB जैसा कुछ होना चाहिए। इसलिए डिस्क / डिवाइस पर पूरे डिस्क पर फैले एक सिंगल पार्टीशन को बनाना जिसे dev / sdX कहा जाएगा, (X को सही जगह से बदलें):

sudo parted /dev/sdX
unit MiB
mklabel gpt
print (to see the total size in MiB)
mkpart primary 1 2861022
quit

यदि डिस्क का आकार कुछ MiB है या 2861022 से कम है, तो समाप्त होने वाले स्थान को समायोजित करें।

बस। उसके बाद आप उस फाइल सिस्टम को बनाएं जिसे आप पार्टीशन पर चाहते हैं।

स्रोत, और अतिरिक्त पढ़ना

4K- सेक्टर ड्राइव और लिनक्स

लिनक्स में 4k ड्राइव को चेक और इंस्टॉल करने में त्रुटि

उबंटू मंच


प्रतिक्रिया के लिए धन्यवाद, लेकिन यह वास्तव में मेरे सवाल का जवाब नहीं है। मुझे लगता है कि कर्नेल ड्राइव के सेक्टर आकार को पहचानता है और यह कि gparted माना जाता है कि वह भी पहचानता है, लेकिन यह अन्यथा रिपोर्ट करता है और यदि कोई बग है, या यदि मैंने कुछ गलत किया है, तो मुझे समझ में आता है। ।
qwazix

0

जब तक आप एक से अधिक 4KB पर अपने विभाजन संरेखित करते हैं, आप ठीक हैं। अन्यथा आपको 4KB भौतिक क्षेत्रों के साथ ड्राइव के लिए कुछ विशेष नहीं करना है।

पुराने विभाजन सॉफ्टवेयर ने 63x512B सेक्टरों में से कई पर विभाजनों को संरेखित किया, जिसके परिणामस्वरूप ड्राइव खराब हो सकता है अगर ड्राइव में 4KB भौतिक क्षेत्र हैं, क्योंकि यह 31 और एक आधा किलोबाइट है, न कि 4KB का एक से अधिक।

वस्तुतः उबंटू में अब उपलब्ध कोई भी विभाजन सॉफ्टवेयर अब ऐसा नहीं करेगा (जब तक कि आप विशेष रूप से किसी तरह इसका अनुरोध न करें)। अधिकांश डिफ़ॉल्ट रूप से 1MiB (2048x512B सेक्टर, जो 256x4KB सेक्टर भी है) के कई को संरेखित करेगा।

यदि आपने इसे संरेखित नहीं किया तो क्या होगा?

यदि आप 4KB के गुणकों में विभाजनों को संरेखित नहीं करते हैं, तो जो सबसे खराब होने वाला है, वह एक प्रदर्शन हानि (एक महत्वपूर्ण फ़ाइल के लिए महत्वपूर्ण) है। 4KB सेक्टर के साथ ड्राइव मौजूदा सिस्टम के साथ संगतता के लिए 512B सेक्टर का अनुकरण करते हैं। तो वे पूरी तरह से अच्छी तरह से काम करते हैं यदि आप उन्हें केवल 512B सेक्टर ड्राइव के रूप में मानते हैं। लेकिन जब आप किसी एकल 512B क्षेत्र में लिखते हैं, तो यह पूरे 4KB क्षेत्र को फिर से लिख देगा।

इसलिए, प्रदर्शन कारणों के लिए यह सुनिश्चित करना महत्वपूर्ण है कि 4KB क्लस्टर आप अपने फाइल सिस्टम में उपयोग करते हैं, जो ड्राइव पर 4KB सेक्टरों के साथ संरेखित करते हैं, ताकि एकल क्लस्टर लिखने से ड्राइव पर दो 4KB सेक्टर लिखने की आवश्यकता न पड़े।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.