पहनने के स्तर पर विचार करने के लिए सही ढंग से यूएसबी फ्लैश ड्राइव और किस फाइलसिस्टम का विभाजन करना है?


13

दो समस्याएं। पहला एक: फ्लैश ड्राइव को कैसे विभाजित किया जाए?

मुझे यह करने की आवश्यकता नहीं होनी चाहिए, लेकिन मुझे अब यकीन नहीं है कि जब मेरा विभाजन ठीक से संरेखित किया गया था, जब मुझे हटाने के लिए मजबूर किया गया था और शिकायत के बाद एक नया विभाजन तालिका बनाने के लिए जब मैंने FAT से ext4 तक ड्राइव को प्रारूपित करने की कोशिश की थी।

भोले का जवाब होगा "बस डिफ़ॉल्ट का उपयोग करें और सब कुछ ठीक होने जा रहा है"। हालाँकि यदि आप निम्नलिखित लिंक पढ़ते हैं तो आपको पता चलेगा कि चीजें इतनी सरल नहीं हैं: https://lwn.net/Articles/428584/ और http://linux-howto-guide.blogspot.com/2009/10/increase- USB-फ्लैश ड्राइव लिखने speed.html

फिर सिलेंडर, हेड और सेक्टर का मुद्दा भी है। वर्तमान में मुझे यह मिल गया है:

$sfdisk -l -uM  /dev/sdd
Disk /dev/sdd: 30147 cylinders, 64 heads, 32 sectors/track
Warning: The partition table looks like it was made
   for C/H/S=*/255/63 (instead of 30147/64/32).
For this listing I'll assume that geometry.
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdd1         1  30146  30146   30869504   83  Linux

$fdisk -l /dev/sdd
Disk /dev/sdd: 31.6 GB, 31611420672 bytes
255 heads, 63 sectors/track, 3843 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00010c28

इसलिए मेरी वर्तमान समझ से मुझे 4 MiB पर विभाजन को संरेखित करना चाहिए (वर्तमान में यह 1 MiB पर है)। लेकिन मैं अभी भी नहीं जानता कि अपने डिवाइस के लिए हेड और सेक्टर कैसे ठीक से सेट करूं।

दूसरी समस्या: फाइल सिस्टम।

बेंचमार्क से मैंने देखा कि ext4 सबसे अच्छा प्रदर्शन प्रदान करता है, हालांकि वियर लेवलिंग का मुद्दा है। मैं कैसे जान सकता हूं कि मेरा ट्रांसेंड जेटफ्लाश 700 का माइक्रोकंट्रोलर पहनने के लिए लेवलिंग प्रदान करता है? या मैं सिर्फ अपनी ड्राइव को तेजी से मार रहा हूं?

मैंने वेब पर बहुत सारी पोस्ट देखी हैं जो कहती हैं कि नए ड्राइव की चिंता न करें। लेकिन मैंने कभी भी इसका एक भी सबूत नहीं देखा है और कुछ बिंदु पर लोग SSD को USB फ्लैश ड्राइव तकनीक के साथ मिलाना शुरू करते हैं। सुरक्षित विकल्प ext2 के लिए जाना होगा, हालांकि मैंने जो परीक्षण किए हैं उनमें से एक गंभीर ने भयानक प्रदर्शन दिखाया !!!

ये मूल्य वास्तविक परिदृश्य से हैं न कि कुछ सिंथेटिक परीक्षण से:

42 files: 3,429,415,284 bytes copied to flash drive
original fat32: 15.1 MiB/s
ext4 after new partition table: 10.2 MiB/s
ext2 after new partition table:  1.9 MiB/s

कृपया उन उत्तरों को पढ़ें जिन्हें मैंने उत्तर देने से पहले पोस्ट किया था। मुझे कुछ संदर्भों के साथ दिए गए उत्तरों में भी दिलचस्पी होगी क्योंकि बहुत कुछ कहा जाता है और फिर से कहा जाता है लेकिन फिर इसमें तथ्यों का अभाव होता है।

सहायता के लिए धनयवाद।


"हालांकि वियर लेवलिंग का मुद्दा है" - आपके पास वास्तव में मामले में कोई विकल्प नहीं है। या तो आपके द्वारा खरीदी गई USB फ्लैश ड्राइव या SDcard पहनने-लेवलिंग का संतोषजनक काम करता है या यह नहीं करता है। आप एक फाइल सिस्टम का उपयोग नहीं कर सकते / नहीं करना चाहिए जो पहनने-समतल करने का काम करता है (जैसे JFFS2)। और आप यूबीआई वॉल्यूम प्रबंधन स्थापित नहीं कर सकते हैं (आपको पहले एमटीडी स्थापित करने की आवश्यकता होगी, लेकिन यह कच्चे फ्लैश उपकरणों के लिए है)। तो आप एम्बेडेड नियंत्रक पर भरोसा करने के साथ फंस गए हैं।
चूरा

जवाबों:


8

सिलेंडर, हेड और सेक्टर के बारे में चिंता न करें और केवल सेक्टर के साथ ही काम करें। फाइलसिस्टम को संरेखित करने का सबसे आसान तरीका बस एक विभाजन तालिका नहीं है (यानी /dev/sdXसीधे फाइल सिस्टम बनाएं )। अधिकांश लिनक्स सिस्टम इस जुर्माने को संभाल लेंगे, लेकिन विंडोज खराब हो जाएगी और आप इसे बूट करने योग्य भी नहीं बना पाएंगे। यदि आपको एक विभाजन तालिका की आवश्यकता है, तो कितने 512 बाइट क्षेत्रों को मिटा ब्लॉक बनाएं। मिटाएँ ब्लॉक लगभग 128-512KiB हैं यदि आप यह नहीं पता लगा सकते हैं कि आपके फ्लैश ड्राइव का उपयोग 1024 क्षेत्रों के साथ क्या होता है। सुनिश्चित करें कि विभाजन इस संख्या के कई पर शुरू होते हैं।

आप er2 ब्लॉक आकार के बारे में ext2 / 3/4 बताना चाहते हैं ताकि यह अनावश्यक रूप से संशोधित ब्लॉक से बच सके। एक सेट ब्लॉक करने वाले फाइलसिस्टम ब्लॉक की संख्या strideऔर दोनों को सेट करें stripe-width, इसलिए 512KiB इरेज ब्लॉक पर काम करना निम्नलिखित है:

mkfs.ext4 -b 4096 -E stride=128,stripe-width=128

प्रदर्शन के संदर्भ में, एक पत्रिका के प्रदर्शन में सुधार नहीं होना चाहिए (लेकिन यदि ऑपरेशन बाधित हो तो डेटा भ्रष्टाचार की संभावना बढ़ जाती है)। हालाँकि, ext4 के extents को प्रदर्शन में सुधार करना चाहिए क्योंकि कम मेटाडेटा को बड़ी फ़ाइलों के लिए संशोधित करने की आवश्यकता होती है। मैं शायद अक्षम जर्नल के साथ ext4 का उपयोग करूंगा:

tune2fs -O ^has_journal

आप cat /proc/mtdसंलग्न फ़्लैश उपकरणों के लिए ब्लॉक आकार मिटाने के लिए उपयोग कर सकते हैं ।
तोमलक

विभाजन तालिका के बिना फ्लैश ड्राइव को विंडोज पर ठीक काम करना चाहिए जब तक कि फाइलसिस्टम समर्थित है। पेंड्रिव्स में आमतौर पर बॉक्स के बाहर विभाजन तालिका नहीं होती है और वे ठीक काम करते हैं।
ग्रोनोस्तज

ड्रीमप्लग पर लिनक्स / फेडोरा के लिए एसडी-कार्ड पर एफएस को ऑप्टिमाइज़ करने से पता चलता है कि एक्सटे 4 को कैसे मिटा दें " मिटा ब्लॉक आकार " को जानें और उसके अनुसार अपने ब्लॉक आकार और "स्ट्राइड" मान सेट करें । इसके अलावा, मेरा मानना ​​है कि / proc / mtd यहाँ प्रासंगिक नहीं है क्योंकि यह केवल कच्चे फ़्लैश उपकरणों के लिए उपलब्ध है जैसा कि चूरा ने कहा है, SD / स्टिक फ़्लैश मेमोरी डिवाइस के लिए नहीं।
tuk0z 16

कोशिश की, यह एक बहुत बुरी सलाह थी। USB फ्लैश ड्राइव के साथ उन मापदंडों का उपयोग न करें। blogofterje.wordpress.com/2012/01/14/optimizing-fs-on-sd-card - इस आदमी के पास बेहतर पैरामीटर हैं, लेकिन यह अभी भी केवल थोड़ा बेहतर है, अगर सभी, डिफ़ॉल्ट रूप से gparted का उपयोग करता है।
ज़ेडिनेक

यह वही लिंक है जो मैंने सितंबर में दिया था ^ ^ बिदाई / Gparted AFAIK के बारे में सही।
tuk0z

4

इन दिनों अधिकांश लिनक्स विभाजन और फाइलसिस्टम निर्माण उपकरण उन मानों के लिए डिफ़ॉल्ट है जो 4K सीमाओं पर डेटा संरेखित करते हैं और यहां तक ​​कि अंतर्निहित ब्लॉक आकार का उपयोग करेंगे यदि डिस्क इसे उजागर करती है तो चीजें बहुत खराब नहीं होती हैं जैसे कि LWN लेख में:

TLDR; अपने विभाजन और फाइलसिस्टम को बेहतर बनाने के लिए उपकरणों के हाल के संस्करणों के साथ एक आधुनिक लिनक्स डिस्ट्रो (2013 या बाद में) का उपयोग करते समय बेहतर (लेकिन सही नहीं) संरेखण स्वचालित रूप से होगा। यह भी ध्यान रखें - एक एसडी कार्ड के लिए बहुत अच्छे मूल्य एक यूएसबी स्टिक के लिए भिन्न हो सकते हैं (मेरा मानना ​​है कि आपका ट्रांसडेस जेटफ्लाश एक यूएसबी स्टिक है जो एसडी कार्ड नहीं है)। आपको सस्ते फ़्लैश पर वास्तविक अंतर्निहित मिटा ब्लॉक आकार को कम करने के लिए बेंचमार्क करना होगा ...


1

इसके अलावा, आपके fstab में, किसी फ़ाइल के एक्सेस होने पर हर बार अनावश्यक लिखने से बचने के लिए माउंट विकल्प "noatime" का उपयोग करना सुनिश्चित करें।


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