Fstab वास्तविक फ़ाइल सिस्टम नाम के बजाय UUID का उपयोग क्यों करता है?


21

उदाहरण के लिए, यह मेरी पहली पंक्ति है /etc/fstab:

UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a    /    ext4    errors=remount-ro    0    1

और यहां df -hकमांड का आउटपुट (फ्री डिस्क स्पेस की रिपोर्टिंग) है:

honey@bunny:~$ df -T

Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/vda       ext4      30832636 4884200  24359188  17% /
none           tmpfs            4       0         4   0% /sys/fs/cgroup
udev           devtmpfs    498172      12    498160   1% /dev
tmpfs          tmpfs       101796     320    101476   1% /run
none           tmpfs         5120       0      5120   0% /run/lock
none           tmpfs       508972       0    508972   0% /run/shm
none           tmpfs       102400       0    102400   0% /run/user
  1. दो में से कटौती करना ठीक है जो यह UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13aदर्शाता /dev/vdaहै कि इसमें पहला कॉलम fstabहै <file system>?

  2. तो, क्या यह ठीक होगा अगर मैं इसमें संशोधन /etc/fstabकरूं?

    /dev/vda    /    ext4    errors=remount-ro    0    1
    
  3. संपादित करें: यदि हाँ (उपरोक्त प्रश्न के लिए), तो sudo blkidकमांड एक अलग UUID क्यों दिखाता है /dev/vda?

    $ sudo blkid
    
    /dev/vda: LABEL="DOROOT" UUID="6f469437-4935-44c5-8ac6-53eb54a9af26" TYPE="ext4"
    

    मुझे यहां क्या समझ नहीं आ रहा है?

    उत्तर: मैं अपने मेजबान के बादल में एक बग होने के लिए (3) निष्कर्ष निकालूंगा। तो हां, यूयूआईडी द्वारा सूचित blkid(या ls -l /dev/disk/by-uuid) उसी का होना चाहिए जिसका उपयोग किया गया है /etc/fstab


UUID को sudo blkidकमांड से जांचें ।
अविनाश राज

@AvinashRaj Hmm, अजीब तरह से, sudo blkidकमांड एक अलग UUID के लिए आउटपुट करता है /dev/vda। यह मेरे भ्रम में जोड़ता है। :) (अद्यतित प्रश्न।)
its_me

यह एक अच्छा संकेत नहीं है कि ब्लेक कमांड एक अलग यूयूआईडी दिखाता है - कृपया वर्तमान यूयूआईडी की जांच `एलएस-एल / ​​देव / डिस्क / बाय-यूआईडी 'के साथ करें। अपने vda के बाद से, यह हो सकता है कि अंतर्निहित VM अवसंरचना ने कुछ बदल दिया?
तरल

@ लिकिडैट यह आउटपुट है जो मुझे मिला lrwxrwxrwx 1 root root 9 Jun 18 11:04 6f469437-4935-44c5-8ac6-53eb54a9af26 -> ../../vda:। आपके अन्य प्रश्न के लिए, मैं उस बारे में वेब होस्ट से संपर्क करूंगा।
इसका_मे

मैं कहूंगा कि fstab प्रविष्टि के गलत होने के बाद से मशीन रिबूट नहीं हो सकती है। एक क्लोन डिस्क या कुछ हो सकता है। मैं इसे लेता हूं कि कोई अन्य उपकरण नहीं है जिसे यूएआईडीआईडी ​​दिया गया है जो कि एफएएसटीबी में है?
लिक्विड

जवाबों:


22

यूयूआईडी का उपयोग करने का लाभ यह है कि यह वास्तविक डिवाइस नंबर से स्वतंत्र है ऑपरेटिंग सिस्टम आपकी हार्ड डिस्क देता है।

कल्पना करें कि आप सिस्टम में एक और हार्ड डिस्क जोड़ते हैं, और किसी कारण से ओएस तय करता है कि आपकी पुरानी डिस्क अब sdbइसके बजाय है sda

यदि fstabउपकरण के नाम के लिए आपकी बूट प्रक्रिया खराब हो जाएगी । लेकिन यूयूआईडी के मामले में यह ठीक है।

UUIDs के बारे में अधिक विस्तृत जानकारी ब्लॉग पोस्ट "UUIDs और लिनक्स: आप कभी भी जानने की जरूरत है" पर पाया जा सकता है


हां। यहां तक ​​कि एक नई डिस्क को जोड़े बिना, आपका कर्नेल एक दिन में आपकी दो ड्राइवों की आरोह को स्वैप करने का निर्णय ले सकता है। देखें wiki.archlinux.org/index.php/Persistent_block_device_naming
टॉमी

क्या होगा यदि मैं छवि को किसी अन्य डिस्क पर क्लोन करना चाहता हूं, जिसमें एक अलग यूयूआईडी है?
aloplop85

कम से कम एक स्थिति है जहां यूयूआईडी कम उपयोगी हैं: यदि आप पूरी डिस्क को क्लोन करते हैं, तो रिबूट करें, आपको डिस्क या गलत डिस्क से बढ़ते विभाजन मिल सकते हैं।
बूट 13

यह सच है - लिंक किए गए ब्लॉग पोस्ट की जांच करें, इसमें एक खंड भी है जब उनका उपयोग नहीं करना है।
लिक्विड

यदि आप डिस्क को क्लोन करते हैं तो आपको नई डिस्क पर UUID को बदलना चाहिए। धुन 2ffs_fadmin_admin या reiserfstune आपके फाइल सिस्टम पर निर्भर करता है।
स्टीवेंस

3

उस स्थिति में, क्या मैं इसे संशोधित कर सकता / सकती हूं / etc / fstab?

आप कर सकते हैं और यह शायद ठीक भी होगा, लेकिन सबसे अधिक संभावना है कि यूयूआईडी को छोड़ना बेहतर होगा।

यूयूआईडी अनियंत्रित तार हैं जिन्हें पहचानने के लिए उपयोग किया जाता है, इस मामले में, एक ब्लॉक डिवाइस पर एक विभाजन; इसके विभाजन के साथ ही संग्रहीत है, और अगर वांछित (मैक पते की तरह) की तरह एक अलग सौंपा जा सकता है।

यूयूआईडी का उपयोग करने का लाभ यह है कि यह अचूक है, जबकि /dev/vdaऐसा नहीं है; ऐसा हो सकता है कि यह बूट समय पर एक अलग ड्राइव के रूप में समाप्त होता है, हालांकि यह संदर्भ में पूरी तरह से सैद्धांतिक हो सकता है (जैसे, क्योंकि आपके पास केवल एक विशेष प्रकार की एक ड्राइव है)।

एक और अधिक सूक्ष्म उदाहरण जहां डिवाइस नाम का उपयोग करने से समस्या पैदा हो सकती है लगातार नेटवर्क डिवाइस के नाम का उपयोग करने के लिए कुछ सिस्टम पर हाल ही में स्विच होगा । यदि यह अपग्रेड के रूप में हुआ और आपने कहीं नेटवर्क स्क्रिप्ट में हार्डकोड डिवाइस नाम का उपयोग किया, तो यह टूट जाएगा। एक समानांतर उदाहरण WRT ब्लॉक डिवाइस एक कर्नेल या udev अपग्रेड हो सकता है जो नामकरण योजना को बदल देता है।

यूयूआईडी का एक बिंदु इस तरह की चीजों को संभव और दर्द रहित बनाना है। इसलिए जब आप डिवाइस नाम का उपयोग कर सकते हैं, तब तक ऐसा करने का कोई फायदा नहीं है जब तक कि आपके पास (जैसे) आपके पास एक ऐसी प्रणाली है जहां आप अलग-अलग ड्राइव को स्वैप करते हैं। दूसरे शब्दों में, यदि आपके पास ऐसा करने का कोई अच्छा कारण नहीं है, तो साथ रहें। UUID


ठीक है। तो क्या हुआ के लिए अलग UUIDs बताते हैं /dev/vdaमें /etc/fstabऔर द्वारा रिपोर्ट blkid? (कृपया अपडेट किया हुआ प्रश्न देखें यदि आप नहीं हैं।)
its_me

5
अपडेट में पूछने के बजाय, आपको यह पूछना चाहिए कि एक अलग प्रश्न के रूप में ("मेरे माउंटेड विभाजन UUID fstab में एक से अधिक भिन्न क्यों है?")।
गोल्डीलॉक्स

2

आप फ़ाइल man fstabकी सामग्री और शब्दार्थ पर पढ़े गए संक्षिप्त विवरण के लिए कर सकते हैं /etc/fstab। मेरे x86 पर, अप-टू-डेट आर्क लिनक्स सर्वर, man fstabमुझे यह देता है:

The second field ... describes  the mount point for the filesystem.

तो, हां, /dev/vdaजाहिरा तौर पर कुछ उपकरणों के लिए कई नामों में से एक है, जैसा UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13aकि दिया गया है , दोनों नाम "/" पर माउंट करने के लिए दिखाई देते हैं।

यदि आप निर्देशिका में /dev/disk/by-uuid/देखते हैं तो आप प्रतीकात्मक लिंक देख सकते हैं /dev/sda1, /dev/sdb1जो मेरे सर्वर पर , जैसी चीजों को इंगित करता है। यह आपकी परिकल्पना की जाँच करने का एक और तरीका हो सकता है। /dev/diskउपनिर्देशिका है by-id, by-path, by-uuidजो सभी एक ही डिवाइस के लिए वैकल्पिक नाम दिखाई देते हैं।


उस स्थिति में, समस्या (जैसा कि मेरे प्रश्न में अद्यतन की गई है) है कि मुझे दो अलग-अलग UUID मिलेंगे /dev/vda! कृपया प्रश्न को एक बार देखें।
its_me

1
यदि मैंने मूल प्रश्न का उत्तर दिया है, तो इसे "उत्तर" के रूप में चिह्नित करना और एक नया प्रश्न लिखना एक अच्छा विचार हो सकता है, बस इसलिए आप अप्रासंगिक उत्तर एकत्र नहीं करते हैं, उत्तर मूल के साथ काम करते हैं और संशोधित प्रश्न नहीं।
ब्रूस एडिगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.