उत्पादन सर्वर के लिए केस-असंवेदनशील फाइल सिस्टम?


10

प्रारंभिक स्थिति इस तरह दिखती है:

  • कॉर्पोरेट सॉफ्टवेयर PHP- आधारित है।
  • यह Apache 2 द्वारा विंडोज 2003 सर्वर पर दिया गया है।
  • यह बड़ा है
  • यह बल्कि अव्यवसायिक डेवलपर्स की विरासत है जिन्होंने केस सेंसिटिविटी या डायरेक्टरी सेपरेटर के बारे में बुरा नहीं माना।

वांछित स्थिति इस तरह दिखती है:

  • अभी तक अछूता स्वाद के लिनक्स वितरण के तहत अपाचे 2 में माइग्रेट किया गया सब कुछ।

मुसीबत:

  • केस-सेंसिटिविटी या डायरेक्टरी सेपरेटर कैरेक्टर के बारे में बिना किसी परवाह के अंतहीन टन।

मैंने पहले से ही कुछ शोध किया था, लेकिन दुर्भाग्य से ऐसा कुछ भी नहीं मिला जो उत्पादन के माहौल के लिए भी उपयुक्त होगा। CIOPFSअच्छा लग रहा है, लेकिन स्पष्ट रूप से इसका मतलब उत्पादन प्रणालियों पर इस्तेमाल नहीं किया जाना है। क्या आपको लगता है कि mod_spellingअपाचे के लिए एक विकल्प होगा? मेरे लिए अभी तक अनसुलझा सवाल है, अगर PHP उस मॉड्यूल या सीधे (जो इसे बेकार कर देगा) की मदद से फाइलों तक पहुंचता है।

क्या हमें कड़वी गोली निगलनी चाहिए और सभी कोड के माध्यम से जाना चाहिए? हम इससे बचना चाहते हैं, क्योंकि हम वर्तमान सॉफ़्टवेयर पर्यावरण के टुकड़े को नए बिल्ड सामान (लंबी अवधि में) के साथ बदल देंगे।


एक और संभावना mod_rewriteनए सर्वर के माध्यम से विरासत एप्लिकेशन (पुराने सेटअप में रहने वाले) के लिए किसी तरह के प्रॉक्सी ( ) बनाने की हो सकती है , इस तरह से भागों की जगह ले सकती है ... शायद।
sr_

लिनक्स के बजाय इसे ओएस एक्स के तहत होस्ट करें ... आपको अभी भी अपना यूनिक्स वातावरण मिलता है, लेकिन आपको बॉक्स के बाहर असंवेदनशील फाइल सिस्टम भी मिलता है।
लार्क्स

@ एसआर_ जो काम कर सकता था। लेकिन जैसा कि हम एक बड़ी ऑनलाइन दुकान प्रणाली चला रहे हैं जो पहले से ही पर्याप्त ट्रैफ़िक का कारण बनती है, यह कम से कम इसे दोगुना कर देगा (नेटवर्क आंतरिक या बाह्य से कोई फर्क नहीं पड़ता)। जहां तक ​​मैं समझता हूं।
पीटर

@ लार्क्स भले ही मैं व्यवसाय के लिए ओएस एक्स को प्रोत्साहित करता हूं, मुझे अब और नहीं लगता कि इसमें बड़े पैमाने पर वेबसर्वर के रूप में भविष्य है। इसके अलावा, हमारी कंपनी खुले स्रोत सॉफ्टवेयर के उपयोग को प्रोत्साहित कर रही है और यथासंभव स्वतंत्र रहने के लिए प्रयास कर रही है।
पीटर

बस एक अपडेट: अपाचे मॉड्यूल दुख की बात नहीं कर रहे हैं क्योंकि HTTP अनुरोधों के मामले में केवल मंगवाए गए हैं, PHP के शामिल फ़ंक्शन उदाहरण के लिए सीधे फाइलों तक पहुंचता है। मैं नीचे दिए गए सांबा दृष्टिकोण को आजमाता हूँ।
पीटर

जवाबों:


3

यहाँ ubuntuforums पर मेरी पोस्ट देखें:

http://ubuntuforums.org/showthread.php?t=1497253

एक वर्चुअल डिस्क बनाएं

dd if=/dev/zero of=virtual.dsk bs=1048576 count=150

इसे प्रारूपित करें

mkfs.vfat virtual.dsk

इसे माउंट करें

sudo mkdir -p /mnt/vfat
sudo mount virtual.dsk /mnt/vfat -t vfat -o loop

पुनश्च: स्थायी रूप से माउंट:

/path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0

अतिरिक्त जानकारी के साथ यहाँ: http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html


3

ZFS और JFS दोनों को असंवेदनशील होने के लिए कॉन्फ़िगर किया जा सकता है:

zfs create -o casesensitivity=insensitive filesystem

jfs_mkfs -O /dev/sdax

संपादित करें (7 साल बाद):

जैसा कि @JorgeYanesDiez ने टिप्पणी की, लिनक्स कर्नेल ने अंतिम रूप से ext4 प्रति निर्देशिका वैकल्पिक केस असंवेदनशीलता को संस्करण 5.2 और efsprogs 1.45 से शुरू किया।

ध्यान दें कि लाइनस टॉर्वाल्ड्स सुविधा के सख्त खिलाफ थे


1
2020 में इसे देखने वालों के लिए, ext4 ने केवल केसफॉल्ड समर्थन जोड़ा। आपको लिनक्स कर्नेल 5.2 और e2fsprogs 1.45 या बाद के संस्करण की आवश्यकता है। चैट्टर + एफ
जॉर्ज येंस डायज़

2

आप एक स्थानीय फाइल सिस्टम को असंवेदनशील तरीके से साझा करने के लिए सांबा का उपयोग कर सकते हैं ... इस लेख में कुछ विवरण हैं।


2
यह पूरी तरह से पागल है, लेकिन IMO अन्य सभी विकल्पों में से सबसे कम पागल है।
jgoldschrafe

@ लार्क्स धन्यवाद, मैं इसमें गहराई से देखूंगा और यह कोशिश करूंगा कि यह कैसे काम करता है।
पीटर

@ लार्क्स भले ही मैंने लेख का पालन किया और कुछ बदलावों की कोशिश की, यह दुख की बात है कि हमारे लिए काम नहीं किया। फिर भी आपका धन्यवाद। हमने सभी सामान को फिर से लिखने का फैसला किया जो संवेदनशील फाइल सिस्टम में नहीं है क्योंकि अन्य विकल्प बहुत अधिक समय लगते हैं।
पीटर

1

अपनी खुद की फ्यूज-रैपर लिखें जो किसी अन्य एफएस पर केस-असंवेदनशीलता करता है? कुछ अजगर कोड के साथ यह जल्दी किया जा सकता है।

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