इसी तरह का सवाल मौजूद है, लेकिन समाधान (उपयोग mv
) भयानक है क्योंकि इस मामले में यह "कॉपी" के रूप में काम करता है, फिर "शुद्ध" चाल के बजाय "हटा दें"।
इसलिए, मैंने एक पूल बनाया:
zpool create tank /dev/loop0
और मेरे डेटा को सीधे किसी अन्य स्टोरेज से rsynced किया ताकि मेरा डेटा अब अंदर हो /tank
।
zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 591G 2.10T 591G /tank
अब मैंने महसूस किया है कि मुझे अपने डेटा को /tank
सीधे फाइल सिस्टम में नहीं बल्कि एक चाइल्ड फाइल सिस्टम में होना चाहिए ।
तो मैं मौजूदा रूट फाइल सिस्टम को कैसे स्थानांतरित या नाम दूं ताकि यह पूल के भीतर एक बच्चा बन जाए?
सरल नाम काम नहीं करेगा:
zfs rename tank tank/mydata
cannot rename to 'tank/mydata': datasets must be within same pool
(Btw, क्यों यह शिकायत करता है कि डेटासेट एक ही पूल के भीतर नहीं हैं, यदि वास्तव में मेरे पास केवल एक पूल है?)
मुझे पता है कि ऐसे समाधान हैं जिनमें सभी डेटा की नकल करना ( mv
या पूरे डेटासेट को किसी अन्य डिवाइस और बैक पर भेजना) शामिल है, लेकिन क्या एक सरल सुरुचिपूर्ण तरीका नहीं होना चाहिए?
बस यह देखते हुए कि मैं इस स्तर पर स्नैपशॉट की परवाह नहीं करता (देखभाल करने के लिए अभी तक कोई नहीं हैं)।