क्या लिनक्स में zfs raidz पूल के लिए विभाजन का सेक्टर आकार बदलना संभव है?


9

मैं आभासी उपकरणों के माध्यम से नई डिस्क के लिए लिनक्स पर एक zfs raidz पूल का पलायन कर रहा हूं जो विरल फाइलें थीं। मैंने डिस्क पर विभाजन का उपयोग किया है क्योंकि डिस्क प्रत्येक 1.9T के विभिन्न आकार हैं। जोड़ने के लिए अंतिम डिस्क 4Tb डिस्क है और मैंने इसे पूल में जोड़ने के लिए 1.9T विभाजन के साथ दूसरों के रूप में विभाजित किया है। यह एक GPT विभाजन तालिका का उपयोग कर रहा है। जब मैं 4T डिस्क पर 1.9T विभाजन के साथ अंतिम फ़ाइल को बदलने की कोशिश करता हूं तो मुझे निम्नलिखित मिलता है

zpool replace -f zfs_raid /zfs_jbod/zfs_raid/zfs.2 /dev/sdd1 
cannot replace /zfs_jbod/zfs_raid/zfs.2 with /dev/sdd1: devices have different sector alignment

मैं दूसरों की तरह विभाजन क्षेत्र के आकार को 512 में कैसे बदल सकता हूं, या असफल हो सकता है कि अन्य पूल उपकरणों को 4024 में बदलना संभव है? स्पष्ट रूप से तार्किक क्षेत्र का आकार सभी 512 हैं

cat /sys/block/sdd/queue/hw_sector_size
Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes, 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

जैसा कि मैंने उस डिस्क को पुनर्प्रकाशित किया है जिसमें मूल 4 वें फ़ाइल आधारित डिवाइस था जिसे मैं बदलने की कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा था, मैंने डिवाइस फ़ाइल को फिर से बनाया है ताकि यह वर्तमान में फिर से बदल रहा हो।

झूले की स्थिति आउटपुट:

NAME                            STATE     READ WRITE CKSUM
zfs_raid                        DEGRADED     0     0     0
  raidz1-0                      DEGRADED     0     0     0
    sda3                        ONLINE       0     0     0
    sdc2                        ONLINE       0     0     0
    sdb1                        ONLINE       0     0     0
    replacing-3                 OFFLINE      0     0     0
      /zfs_jbod/zfs_raid/zfs.2  OFFLINE      0     0     0
      /mnt/butter2/zfs.4        ONLINE       0     0     0  (resilvering)

क्या आप इसके बजाय zfs को संलग्न नहीं कर सकते zfs_raid <file> <device> और सिंक zfs के बाद zfs_raid <file>
BitsOfNix

5 वीं डिवाइस को अटैच करने से सरणी का विस्तार नहीं होगा? या हो सकता है कि आप एक स्पेयर जोड़ने की तरह कुछ मतलब है?
बैरीमैक

एक अतिरिक्त नहीं जोड़ रहा है या नई डिस्क नहीं जोड़ रहा है, जो कर रहा है, पूल को संलग्न करें old_device new_device, यह old_device को new_device को मिरर करेगा, फिर आप resilver के बाद अपने दर्पण से old_device अलग करें: docs.oracle.com/cd/E26502_01/html/E29007/ gayrd.html # स्क्रॉलटॉक <- अटैच / डिटैच करने की जानकारी और ऐड और अटैच के बीच अंतर।
BitsOfNix

दुर्भाग्य से "एक / संलग्नक / देव / sdd1 को /zfs_jbod/zfs_raid/zfs.2 द्वारा संलग्न नहीं किया जा सकता है: केवल दर्पण और उच्च-स्तरीय डिस्क से संलग्न कर सकते हैं"
barrymac 12/13

क्या आप अपना वर्तमान ज़ूलू स्टेटस zfs_raid आउटपुट डाल सकते हैं, छापे लेआउट को देखने के लिए?
BitsOfNix

जवाबों:


4

मुझे आवश्यक विकल्प मिल गया! पूल वर्तमान में निम्नलिखित आदेश जारी करने के बाद नए विभाजन को फिर से वितरित कर रहा है:

 zpool replace  -o ashift=9 zfs_raid <virtual device> /dev/sdd1

हालांकि यह संभव है, यह उचित नहीं है क्योंकि आपको 512 k के रूप में लिखे जाने के लिए 4k प्रकार की ड्राइव को मजबूर करके भयानक प्रदर्शन मिलता है। मैंने वह कठिन तरीका सीखा है जो एक जोड़ना चाहिए

-o ashift=12 

जब पूल बनाने के बाद इसे फिर से बनाने से बचने के लिए क्योंकि यह वर्तमान में 4k सेक्टर आकार में 'माइग्रेट' करना संभव नहीं है।

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