'सिंक' और 'एसिंक्स' माउंट विकल्पों के बीच अंतर


42

अंतिम-उपयोगकर्ता के दृष्टिकोण से विकल्पों syncऔर asyncमाउंट के बीच अंतर क्या है ? क्या फ़ाइल विकल्प इन विकल्पों में से किसी एक के साथ मुहिम शुरू करने की तुलना में तेजी से काम करता है? कौन सा विकल्प डिफ़ॉल्ट है, यदि उनमें से कोई भी सेट नहीं है?

man mountकहते हैं कि syncविकल्प फ्लैश मेमोरी के जीवनकाल को कम कर सकता है, लेकिन यह अप्रचलित पारंपरिक ज्ञान से हो सकता है। वैसे भी यह मुझे थोड़ा चिंतित करता है, क्योंकि मेरी प्राथमिक हार्ड ड्राइव, जहां विभाजन /और /homeरखे गए हैं, एसएसडी ड्राइव है।

Ubuntu इंस्टॉलर (14.04) ने विभाजन के लिए syncन तो asyncविकल्प निर्दिष्ट किया है और न ही विकल्प के लिए /निर्धारित asyncकिया /homeहै defaults। यहाँ मेरा है /etc/fstab, मैंने कुछ अतिरिक्त लाइनें जोड़ी (टिप्पणी देखें), लेकिन इंस्टॉलर द्वारा बनाई गई लाइनों में कुछ भी नहीं बदला:

# / was on /dev/sda2 during installation
UUID=7e4f7654-3143-4fe7-8ced-445b0dc5b742 /     ext4  errors=remount-ro 0  1
# /home was on /dev/sda3 during installation
UUID=d29541fc-adfa-4637-936e-b5b9dbb0ba67 /home ext4  defaults          0  2
# swap was on /dev/sda4 during installation
UUID=f9b53b49-94bc-4d8c-918d-809c9cefe79f none  swap  sw                0  0

# here goes part written by me:

# /mnt/storage
UUID=4e04381d-8d01-4282-a56f-358ea299326e /mnt/storage ext4 defaults  0  2
# Windows C: /dev/sda1
UUID=2EF64975F6493DF9   /mnt/win_c    ntfs    auto,umask=0222,ro      0  0
# Windows D: /dev/sdb1
UUID=50C40C08C40BEED2   /mnt/win_d    ntfs    auto,umask=0222,ro      0  0

तो अगर मेरा /dev/sdaSSD है, तो क्या मुझे - पहनने को कम करने के लिए - और फाइल सिस्टम के asyncलिए विकल्प जोड़ना चाहिए ? क्या मुझे अपने द्वारा परिभाषित अतिरिक्त विभाजनों के लिए सेट या विकल्प करना चाहिए ? SSD और HDD ड्राइव के लिए अनुशंसित दृष्टिकोण क्या है?//homesyncasync/etc/fstab


1
क्रॉस पोस्ट askubuntu.com/questions/502691/… को
cuonglm

@Gnouc क्रॉसपोस्टिंग में क्या गलत है? वैसे भी, मैंने उबंटू से पोस्ट डिलीट कर दी है, जैसा आपने अनुरोध किया था।

2

जवाबों:


49

asyncइसके विपरीत है sync, जिसका उपयोग शायद ही कभी किया जाता है। asyncडिफ़ॉल्ट है, आपको इसे स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता नहीं है।

विकल्प का syncअर्थ है कि तदनुसार फाइल सिस्टम के सभी परिवर्तन तुरंत डिस्क में फ्लश हो जाते हैं; संबंधित लेखन कार्यों के लिए प्रतीक्षा की जा रही है। यांत्रिक ड्राइव के लिए जिसका अर्थ है कि सिस्टम के डिस्क हेड को सही स्थिति में ले जाने के लिए एक बड़ी धीमी गति; उपयोगकर्ता के साथ syncप्रक्रिया को पूरा करने के लिए ऑपरेशन के लिए इंतजार करना होगा। इसके विपरीत, asyncसिस्टम बफ़र के साथ राइट ऑपरेशन करता है और वास्तविक राइट्स का अनुकूलन करता है; इस बीच, यूजरलैंड में प्रक्रिया अवरुद्ध होने के बजाय चलती रहती है। (अगर कुछ गलत होता है, तो साथ close()लौटता -1है errno = EIO।)

एसएसडी: मुझे नहीं पता कि एसएसडी मेमोरी रैम मेमोरी की तुलना में कितनी तेज है, लेकिन निश्चित रूप से यह तेज नहीं है, इसलिए syncप्रदर्शन पेनल्टी देने की संभावना है, हालांकि मैकेनिकल डिस्क ड्राइव के साथ उतना बुरा नहीं है। जीवनकाल के अनुसार, ज्ञान अभी भी मान्य है, क्योंकि एसएसडी के लिए बहुत कुछ "बंद" पहनता है। सबसे खराब परिदृश्य एक ऐसी प्रक्रिया होगी जो एक ही स्थान पर बहुत सारे बदलाव करती है; साथ syncउनमें से प्रत्येक एसएसडी, जबकि साथ हिट async(डिफ़ॉल्ट) एसएसडी उनमें से ज्यादातर नहीं देखेंगे गिरी बफरिंग की वजह से।

दिन के अंत में, परेशान मत हो sync, यह सबसे अधिक संभावना है कि आप ठीक हैं async


उस स्थिति में जब कोई स्थानीय एप्लिकेशन माउंटेड ड्राइव को हटा रहा है और लिख रहा है (बाहरी विंडोज बॉक्स की ओर इशारा करते हुए); क्या ऐसी संभावना है कि डिफ़ॉल्ट, async मोड असुरक्षित है? परिदृश्य एक मतदान ऐप है, जो माउंट पर एक फ़ोल्डर में देख रहा है, उप फ़ोल्डर को रोक रहा है और फिर उन्हें हटा रहा है।
हेलिशहेट

@ हेलिश हेट आपको इसे एक अलग प्रश्न के रूप में पूछना चाहिए जिसमें आपके पास मौजूद परिदृश्य का पर्याप्त विवरण हो।
countermode

विभिन्न भंडारण परतों की गति क्या है: रैम नैनोसेकंड है, फ्लैश माइक्रोसेकंड है (10 के लिए लिखते हैं, लगभग 100 पढ़ता है), घूर्णी डिस्क मिलीसेकंड है (5 एमएस सबसे अच्छा मामला, 10 से 100 सेमी यदि डिस्क का बैकअप है और एक्सेस है बेतरतीब हैं)। एक फ्लैश डिवाइस पर एक ही स्थान पर लिखता है एक संधारित्र समर्थित SRAM को लिख सकता है और नंद के लिए सभी तरह से नहीं लिखा जा सकता है। इस प्रकार यह पहनने या गति प्रभाव को निर्धारित करने के लिए कठिन है।
ब्रायन बुल्कोव्स्की

इसका मतलब एक कॉल करने के लिए की जरूरत नहीं है करता है syncया fsyncया fdatasyncFS घुड़सवार एक सिंक पर syscalls?
CMCDragonkai

1
@ini आप के साथ डेटा की हानि का जोखिम हो सकता है async। फिर भी, अगर यह एक मुद्दा है, तो syncजवाब नहीं है - प्रदर्शन का दंड syncकेवल निषेधात्मक है।
countermode

5

सावधानी के शब्द: 'async' माउंट विकल्प का उपयोग करना सबसे अच्छा विचार नहीं हो सकता है अगर आपके पास एक माउंट है जो लगातार (पूर्व मूल्यवान लॉग, सुरक्षा कैमरा रिकॉर्डिंग, आदि) के लिए किया जा रहा है और आप अचानक पावर आउटेज से सुरक्षित नहीं हैं। । यह गुम रिकॉर्ड या अपूर्ण (बेकार) डेटा हो सकता है। नहीं-तो-स्मार्ट उदाहरण: एक चोर की दुकान में घुसने और तुरंत कैमरा पावर केबल को काटने की कल्पना करें। ब्रेक-इन की वीडियो रिकॉर्डिंग रिकॉर्ड की गई थी, लेकिन हो सकता है कि इसे फ्लश नहीं किया गया हो / डिस्क से सिंक नहीं किया गया हो (या इसके कुछ हिस्से) इसके बजाय मेमोरी में बफ़र किए गए हों, इस प्रकार कैमरा खो जाने पर पावर खो जाती है।


आधुनिक सर्वर में RAID नियंत्रकों में बैटरी समर्थित डिस्क कैश हैं, जो बिजली की हानि के मामले में भी डेटा हानि से बचाएगा।
टोनियोक

async कई सेकंड के लिए नहीं लिखता है? लगभग कितने सेकंड?
आईएनआई

@ मुझे लगता है कि इसका उपयोग उस फाइल सिस्टम पर निर्भर करता है जिसका मैं विश्वास करता हूं।
bd1251252

ओएस को वैसे भी यह सुनिश्चित करना चाहिए कि जब आप शटडाउन करते हैं, तो सब कुछ ssd / hdd को लिखा जाए। पावर-आउटेज की स्थिति में आप कुछ डेटा को ढीला कर सकते हैं। क्या मैं सही कह रहा हूँ?
ini

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