(यह एक टिप्पणी के रूप में शुरू हुआ, लेकिन बहुत लंबा हो गया इसलिए अब एक उत्तर है)
दुर्भाग्य से, जवाब नहीं है"। ऐसा करने का कोई तेज़, या होशियार तरीका नहीं है।
ZFS फाइलसिस्टम (भले ही वे एक ही पूल में हों) अलग फाइल सिस्टम हैं। न तो mv
और न ही कोई अन्य उपकरण केवल ब्लॉक पॉइंटर्स को स्थानांतरित कर सकता है या जो कुछ भी ऐसा है जो fs_a
अभी चालू थी fs_b
।
(BTW, एक ही डिस्क या छापे सरणी पर कई स्वरूपित विभाजन या LVM वॉल्यूम भी अलग-अलग फाइल सिस्टम हैं और उनके mv
लिए कॉपी-और-डिलीट करने के लिए भी समर्पित हैं)
यह मुद्दा वर्षों में कई बार सामने आया है (कुछ उपकरण बनाने के लिए जो आप चाहते हैं) के साथ बात करते हैं और जैसा कि मैं इसे समझता हूं, बड़ी मुश्किल यह है कि इसे बहुत मुश्किल टोकरी में रखा जाए, यह सवाल है कि स्नैपशॉट को कैसे संभालना है - अगर वहाँ स्नैपशॉट हैं fs_a
, तो ब्लॉक एक ही समय में दोनों फ़ाइल सिस्टम में होंगे। हार्ड-लिंक वाली फ़ाइलों का भी यही हाल है।
मैं इसे कई बार चला चुका हूं (जैसे कि डेटासेट के बीच फ़ाइलों को चलते समय, जैसा आपने किया था, या जब मुझे एक उपनिर्देशिका को एफएस में बदलने की आवश्यकता है), और बस असुविधा के साथ रखना सीखा है। यह एक प्रमुख PITA हो सकता है।
यदि fs_b
रिक्त है या अभी तक अस्तित्व में नहीं है और आप ले जाना चाहते पूरे की सामग्री fs_a
के लिए fs_b
(और नहीं बस कुछ या यहां तक कि सबसे फ़ाइलें और निर्देशिका) आप उपयोग कर सकते हैं zfs rename
का नाम बदलने के fs_a
लिए fs_b
। मुझे संदेह है कि यह आपकी स्थिति के लिए प्रासंगिक नहीं है, हालांकि।
इस पर ZFSOnLinux के लिए https://github.com/zfsonlinux/zfs/issues/2991 पर एक खुला मुद्दा है
मैंने खोज नहीं की है, लेकिन मुझे उम्मीद है कि OpenZFS और यहां तक कि Sun / Oracle ZFS में भी शायद ऐसी ही बग-रिपोर्ट / सुविधा-अनुरोध हैं।
BTW, यह भी देखें /server/584693/freenas-why-isnt-mv-command-instant-within-a-raidz1-volume