मैं अपनी विभाजन तालिका को ठीक से कैसे संरेखित करूं?


19

मैं अपनी पहली RAID5 सरणी बनाने की प्रक्रिया में हूं। मैंने निम्नलिखित सेट अप बनाने के लिए mdadm का उपयोग किया है:

root@bondigas:~# mdadm --detail /dev/md1
/dev/md1:
        Version : 00.90
  Creation Time : Wed Oct 20 20:00:41 2010
     Raid Level : raid5
     Array Size : 5860543488 (5589.05 GiB 6001.20 GB)
  Used Dev Size : 1953514496 (1863.02 GiB 2000.40 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Wed Oct 20 20:13:48 2010
          State : clean, degraded, recovering
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 1% complete

           UUID : f6dc829e:aa29b476:edd1ef19:85032322 (local to host bondigas)
         Events : 0.12

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      spare rebuilding   /dev/sde

जब मैं जा रहा हूँ कि मैंने निम्नलिखित कमांड के साथ जानवर को प्रारूपित करने का निर्णय लिया है:

root@bondigas:~# mkfs.ext4 /dev/md1p1 
mke2fs 1.41.11 (14-Mar-2010)
/dev/md1p1 alignment is offset by 63488 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=16 blocks, Stripe width=48 blocks
97853440 inodes, 391394047 blocks
19569702 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
11945 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848

Writing inode tables: ^C 27/11945
root@bondigas:~# ^C

मैं अनिश्चित हूं कि क्या करना है "/ dev / md1p1 संरेखण 63488 बाइट्स द्वारा ऑफसेट है।" और कैसे ठीक से मिलान करने के लिए डिस्क का विभाजन करने के लिए ताकि मैं इसे ठीक से प्रारूपित कर सकूं।

जवाबों:


17

चूंकि संरेखण कई स्थानों पर पॉप अप होता है -

  • 4k ब्लॉकों के साथ "उन्नत प्रारूप" हार्ड ड्राइव
  • SSDs
  • RAID
  • एलवीएम

- मैं सवाल पर थोड़ा विस्तार करूँगा।

विभाजन को संरेखित करना

"लिनक्स 4kB- सेक्टर डिस्क पर" (IBM developerWorks) fdisk, parted और GPT fdisk के साथ चरणों के माध्यम से चलता है।

Fdisk के साथ:

sudo fdisk /dev/XXX 
c # turn off DOS compatibility
u # switch to sector units
p # print current partitions, check that start sectors are multiples of 8

# for a new partition:
n # new partition
<select primary/secondary and partition #>
first sector: 2048 
  # 2048 is default in recent fdisk, 
  # and is compatible with Vista and Win 7, 
  # 4k-sector disks and all common RAID stripe sizes

फ़ाइल सिस्टम संरेखित करना

यह मुख्य रूप से RAID (स्तर 0, 5 और 6; नहीं स्तर 1) के लिए प्रासंगिक है; अगर यह स्ट्राइप साइज़ के ज्ञान के साथ बनाया जाता है तो फ़ाइल सिस्टम बेहतर प्रदर्शन करता है।

यह SSDs के लिए भी उपयोग किया जा सकता है यदि आप फ़ाइल सिस्टम को SSD इरेज़ ब्लॉक आकार (थियोडोर ट्सो, लिनक्स कर्नेल डेवलपर) में संरेखित करना चाहते हैं ।

ओपी पोस्ट में mkfsस्पष्ट रूप से इष्टतम सेटिंग्स का पता लगाया गया, इसलिए आगे की कार्रवाई की आवश्यकता नहीं थी।

यदि आप सत्यापित करना चाहते हैं, तो RAID प्रासंगिक मानकों के लिए है:

  • ब्लॉक आकार (फ़ाइल सिस्टम ब्लॉक आकार, पूर्व 4096)
  • धारी का आकार (mdadm chunk आकार के समान, पूर्व। 64 k)
  • स्ट्राइड: stripe size / block size (पूर्व 64k / 4k = 16)
  • धारी-चौड़ाई: stride * #-of-data-disks (पूर्व 4 डिस्क RAID 5 3 डेटा डिस्क है; 16 * 3 = 48)

से लिनक्स विकी छापे । विभिन्न RAID स्तर और डिस्क की संख्या के लिए यह सरल कैलकुलेटर भी देखें ।

के लिए एसएसडी मिटा ब्लॉक संरेखण पैरामीटर्स हैं:

  • एफएस ब्लॉक आकार (उदा। 4096)
  • SSD ब्लॉक आकार मिटाएँ (उदा। 128 k)
  • धारी-चौड़ाई: मिटा-ब्लॉक-आकार / fs-block-size (उदा। 128 k / 4k = 32)

से थिओडोर के एसएसडी पोस्ट

LVM संरेखित करना

संभावित मुद्दा यह है कि LVM 192k हैडर बनाता है। यह 4k का एक बहु है (इसलिए 4k- ब्लॉक डिस्क के साथ कोई समस्या नहीं है) लेकिन एक से अधिक RAID पट्टी आकार (यदि LVM RAID पर चलता है) या SSD ब्लॉक आकार (यदि LVM SSD पर चलता है) नहीं हो सकता है।

वर्कअराउंड के लिए थियोडोर की पोस्ट देखें ।


@ मार्को ऐसा कैसे? आईबीएम डेवलपर वर्क्स के लिए पहला, यहां तक ​​कि बिना किसी विभाजन के उपयोग के लिए लिखने के प्रदर्शन का एक बेंचमार्क ग्राफ है, और RAID पर एक साइडबार है। SSD संरेखण पर Tso द्वारा ब्लॉगपोस्ट कम से कम दो बार स्थानांतरित किया गया है जब से मैंने यह लिखा है। लिंक को फिर से अपडेट किया, लेकिन इसकी कोई गारंटी नहीं है कि यह काम करता रहेगा।
jg-faustus

SSD पर वैकल्पिक लिंक: SSD विभाजन को संरेखित करना
jg-faustus

8

मेरे एक दोस्त ने बताया कि मैं /dev/md1बिना किसी विभाजन के ही सही mkfs.ex4 कर सकता हूं , इसलिए मैंने विभाजन को हटा दिया और ऐसा किया और यह अब प्रारूपित होता दिखाई दे रहा है।


6

मुझे यह तरीका सबसे आसान लगता है

parted -a opt /dev/md0
(parted) u MiB
(parted) rm 1
(parted) mkpart primary 1 100%

या एक वैकल्पिक गंदा तरीका बस इस तरह जाएगा

(parted) mkpart primary ext4 1 -1

यदि कोई व्यक्ति विभाजन को स्वचालित रूप से अनुकूलित करने का प्रयास करना चाहता है, तो एमबीआर और जीबी का उपयोग करने की सलाह देता है, एमबी और जीबी का उपयोग नहीं करता है।
फेलिप अल्वारेज़

1

ऐसा लगता है कि mkfs.ext4 चाहता है कि आपके सिस्टम पर फाइल सिस्टम 64 केबी सीमा पर शुरू हो। यदि आप पूरी डिस्क का उपयोग करते हैं, तो यह 0 पर शुरू होता है, जो निश्चित रूप से 64 KiB का एक गुण है ...

आजकल विभाजन के अधिकांश उपकरण डिफ़ॉल्ट रूप से 1 मिब सीमा का उपयोग करेंगे (fdisk शायद नहीं)।

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

आपके सॉफ़्टवेयर RAID डिवाइस के मामले में ऐसा ही कुछ होता है: इस पर डेटा 64 kB की "विखंडू" में डिफ़ॉल्ट mdadd सेटिंग्स के साथ संग्रहीत किया जाता है।

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