हां, मैंने एमबीआर / पीबीआर / जीपीटी / एमडी / एलवीएम के सभी डिस्क-डिस्क लेआउट की भी जांच की, और उसी निष्कर्ष पर पहुंचा।
आपके मामले के लिए (कच्ची डिस्क पर LVM), अगर LVM-PE (भौतिक सीमा) 1MB-pvcreate के साथ संरेखित है, तो आप सुनिश्चित कर सकते हैं कि जब तक आप आवंटन आकार (1MB * N) रखते हैं, तब तक सभी फ़ॉथर डेटा आवंटन गठबंधन किए जाएंगे। ।
चूंकि "vgcreate -s" और "lvcreate -L" दोनों ही डिफ़ॉल्ट रूप से MB-मान के रूप में आकार-रहित-इकाई को संभालते हैं, इसलिए आपको अपने pvcreate को ठीक से करने के बाद संरेखण के बारे में अधिक ध्यान रखने की आवश्यकता नहीं है। बस सुनिश्चित करें कि% / PEs (lvcreate -l के लिए) और B (बाइट) / S (512B - सेक्टर हमेशा LVM में 512B है) / K (KB) (vgcreate -s और lvcreate -L के लिए) को आकार न दें।
=== स्पष्टीकरण के लिए जोड़ा गया ===
बस एक फॉलोअप के रूप में, जबकि SSD में एक पूरे डिवाइस के रूप में 1024KB ब्लॉक आकार हो सकता है, प्रत्येक आंतरिक फ्लैश चिप का erase ब्लॉक आकार / आरडब्ल्यू पृष्ठ का आकार संभवतः लगभग 32KB-128KB / 512B-8KB है।
यद्यपि यह प्रत्येक SSD के नियंत्रक पर निर्भर करता है, अतिरिक्त पठन-संशोधित-लेखन चक्र के कारण I / O दंड संभवत: तब तक नहीं होगा जब तक आप प्रत्येक आंतरिक चिप के ब्लॉक आकार को मिटाने के लिए अपने लेखन को संरेखित रखते हैं, जो कि ऊपर 32KB-128KB है उदाहरण। यह सिर्फ इतना है कि आप चाहते हैं कि एकल लेखन अनुरोध काफी बड़ा हो (= SSD-as-a-the-device का ब्लॉक आकार मिटाएं), इसलिए आप सभी आंतरिक चिप्स / चैनलों को कुशलतापूर्वक चलाकर बेहतर प्रदर्शन की उम्मीद कर सकते हैं।
मेरी समझ यह है कि 1024KB- संरेखण केवल एक सुरक्षा उपाय है, क्योंकि नियंत्रक चिप फ़ंक्शन एक विक्रेता द्वारा भिन्न होता है, और फ्लैश चिप की कल्पना तेजी से बदलती है। ओएस-स्तर के लिखने का अनुरोध एक बड़े बंडल (इस मामले में 1024KB) में किया जाना अधिक महत्वपूर्ण है।
अब, कहा जा रहा है कि, 1 एमबी-संरेखित LVM ब्लॉक पर mkfs (8) करने से फाइल-स्तरीय डेटा / मेटाडेटा के लिए लगभग 1MB-संरेखण टूट जाएगा। अधिकांश फाइलसिस्टम केवल 4KB- संरेखण करने की परवाह करते हैं, इसलिए यह शायद SSDs के लिए एकदम सही नहीं है (लेकिन, IIRC, हाल ही में btrfs की तरह fs, आंतरिक आकस्मिक ब्लॉक आवंटित करते समय 64KB + संरेखण रखने की कोशिश करता है)। लेकिन कई fs में RAID से प्रदर्शन प्राप्त करने के लिए राइट (पूर्व: स्ट्राइप-साइज़ कॉन्फ़िगरेशन) को बंडल करने की सुविधा होती है, ताकि इसका उपयोग SSD के पास-इष्टतम करने के लिए लिखने का अनुरोध करने के लिए किया जा सके।
मैं वास्तव में वास्तविक डेटा के साथ अपने बयान को वापस करना चाहता हूं, लेकिन यह साबित करना बहुत मुश्किल था कि आज का एसएसडी नियंत्रक इतना बुद्धिमान है, और दोनों के संरेखण आकार और लेखन आकार एक बार बहुत बड़ा प्रदर्शन नहीं दिखाएगा "आकार काफी बड़ा है"। बस यह सुनिश्चित करें कि यह बीमार नहीं है (हर कीमत पर <4KB-aligment से बचें) और बहुत छोटा नहीं है (1024KB काफी छोटा है)।
इसके अलावा, अगर आप वास्तव में IO पेनल्टी के बारे में परवाह करते हैं, तो डिवाइस कैश को अक्षम करके दोहराएं और सिंक-एड रीड-राइट-रीराइट टेस्ट के साथ बेंचमार्किंग करें।