MagmaFS
મેગ્મા એ ડિસ્ટ્રિબ્યુટેડ હેશ ટેબલ પર આધારિત ડિસ્ટ્રિબ્યુટેડ ફાઇલ સિસ્ટમ છે, જે C માં લખાયેલી છે, જે FUSE નો ઉપયોગ કરીને લિનક્સ અને BSD કર્નલો સાથે સુસંગત છે. પરિભાષા અને મૂળભૂત સિદ્ધાંતો મેગ્મા લાવા રિંગ તરીકે ઓળખાતી સામાન્ય સંગ્રહ જગ્યા બનાવવા માટે ટીસીપી/આઈપી નેટવર્ક દ્વારા એકબીજા સાથે જોડાયેલા કેટલાક યજમાનોને જોડે છે. દરેક યજમાન (અથવા નોડ) ને વલ્કેનો કહેવામાં આવે છે. દરેક વલ્કેનો સામાન્ય કી સ્પેસનો એક ભાગ ધરાવે છે, જે બે SHA1 કીઓ દ્વારા સીમાંકિત છે. દરેક વલ્કેનો ડેટા રીડન્ડન્સીની ખાતરી કરવા માટે અગાઉના નોડની મુખ્ય જગ્યાને પ્રતિબિંબિત કરવા માટે પણ જવાબદાર છે. દરેક કી સંગ્રહસ્થાનની અંદર એક અથવા વધુ પદાર્થનું પ્રતિનિધિત્વ કરી શકે છે. આ પદાર્થોને જ્વાળાઓ કહેવામાં આવે છે. મેગ્મા વસ્તુઓની એક અલગ શ્રેણીને સંગ્રહિત કરી શકે છેઃ ફાઇલો, ડિરેક્ટરીઓ, પ્રતીકાત્મક કડીઓ, બ્લોક અને અક્ષર ઉપકરણો, ફીફો પાઈપો. દરેક પદાર્થ જ્વાળા સાથે બંધાયેલો હોય છે અને તેનાથી ઊલટું. ઉપર સૂચિબદ્ધ છમાં કોઈપણ પ્રકારની જ્વાળા બધા જ્વાળાઓ માટે સામાન્ય કેટલાક મૂળભૂત ગુણધર્મો દ્વારા વર્ણવવામાં આવે છે, જેમ કે પાથ અને હેશ કી. પરંતુ છ પ્રકારોમાંથી દરેકના પોતાના વિશિષ્ટ ગુણધર્મો પણ છે. ઉદાહરણ તરીકે, ડિરેક્ટરી ફ્લેરમાં કેટલીક ચોક્કસ માહિતી હશે જે સાંકેતિક કડીઓ પર લાગુ થતી નથી. માત્ર સામાન્ય માહિતી ધરાવતી જ્વાળાઓને અનકાસ્ટ કહેવામાં આવે છે જ્યારે સંપૂર્ણ જ્વાળાઓને કાસ્ટ કહેવામાં આવે છે. અનકાસ્ટ જ્વાળાઓમાં માહિતી પર કામ કરવા માટે પૂરતી માહિતી હોતી નથી, પરંતુ તેમાં વલ્કેનો ગાંઠો વચ્ચે એક પ્રકારના અપારદર્શક પાત્ર તરીકે ખસેડવા માટે પૂરતી માહિતી હોય છે. સરળતાથી ખસેડી શકાય તે માટે, ડિરેક્ટરીઓ સહિત દરેક પ્રકારની જ્વાળાઓને બે ફાઇલ સમૂહ તરીકે ફરીથી લાગુ કરવામાં આવી છે, પ્રથમમાં જ્વાળા માહિતી (મેટાડેટા) અને બીજામાં જ્વાળા સામગ્રી છે. લાવા રિંગમાં જ્વાળાઓને ખસેડવાનું ભાર સંતુલન કહેવાય છે અને શ્રેષ્ઠ પ્રદર્શન પ્રદાન કરવાના પ્રયાસમાં ગાંઠો વચ્ચે ભાર અસમાનતાનો લાભ લેવા માટે કરવામાં આવે છે. જ્વાળા પ્રણાલી મેગ્માના આંતરિક એન્જિનને જ્વાળા પ્રણાલી કહેવામાં આવે છે અને તેને સ્તરવાળી માળખા તરીકે લાગુ કરવામાં આવે છે. મેગ્મા _ એમકેડીઆર () નો ઉપયોગ લેયર ટ્રાવર્સિંગના ઉદાહરણ તરીકે થઈ શકે છે. આ ફકરામાં ધારવામાં આવશે કે/ઉદાહરણ નામની ડિરેક્ટરી બનાવવામાં આવશે. મેગ્મા _ mkdir () એ સાર્વજનિક API સ્તરનો એક ભાગ છે. તેનો ઉપયોગ નવી ડિરેક્ટરી બનાવવા માટે થાય છે, જેમ કે પ્રમાણભૂત લિબસી સમકક્ષ mkdir () દ્વારા કરવામાં આવે છે. મેગમા _ એમ. કે. ડી. આઈ. આર. () એ સ્થાનિક રીતે સંચાલિત કરી શકાય છે કે નેટવર્ક કામગીરીની જરૂર પડશે તે નક્કી કરવા માટે વિનંતીનો પ્રથમ માર્ગ મોકલે છે. રૂટીંગ કરવા માટે, પાથ/ઉદાહરણને અનુરૂપ SHA1 હેશ કી 81f762fd59d88768b06b8e9de56aef8a95962045 માં અનુવાદિત કરવામાં આવે છે. જો રાઉટીંગ અન્ય વલ્કેનો નોડનો સંપર્ક કરવાની જરૂરિયાત નક્કી કરે છે, તો વિનંતી આ સ્તરને છોડશે નહીં. લાવા નેટવર્ક સ્તર દૂરસ્થ નોડ પર કામગીરીનો પ્રવાહ ચાલુ રાખીને કીની માલિકી ધરાવતા નોડ પર વિનંતી મોકલે છે. રાઉટીંગ એ લાવા નેટવર્ક સ્તરની અડધી ભૂમિકા છે, જેમાં નેટવર્ક મોનિટરિંગ અને વલ્કેનો નોડ્સ બનાવવું, અપડેટ કરવું અને દૂર કરવું પણ સામેલ છે. બંને સ્થાનિક અથવા દૂરસ્થ વિનંતી હોવાથી, છેલ્લું પગલું ફ્લેર સ્તર દ્વારા કરવામાં આવે છે. કી 81f762fd59d88768b06b8e9de56aef8a95962045 ને અનુરૂપ ફ્લેર કેશની અંદર શોધવામાં આવશે. જો ન મળે, તો તે ડિસ્કમાંથી બનાવવામાં આવશે અને લોડ કરવામાં આવશે, જો તે પહેલેથી જ અસ્તિત્વમાં છે. પરિણામી જ્વાળા પદાર્થ પર પ્રથમ પરવાનગી ચકાસણી પરીક્ષણો લાગુ કરવામાં આવે છે. જો ચલાવવાની પરવાનગી આપવામાં આવે, તો પ્રારંભિક વિનંતી પૂર્ણ થાય છેઃ આ ઉદાહરણમાં, જો તે પહેલેથી ન હોય અને ડિસ્કમાં સાચવવામાં આવે તો જ્વાળા ડિરેક્ટરીમાં નાખવામાં આવે છે. રૂટીંગ દરેક વલ્કેનો નોડમાં સંપૂર્ણ નેટવર્ક ટોપોલોજી ઉપલબ્ધ હોવાથી, રૂટીંગ એ નોડ્સ કી-સ્પેસ સાથે જ્વાળા કીઓને મેળ કરવાની અને જ્વાળા ધરાવતા નોડને શોધવાની બાબત છે. નેટવર્ક ટોપોલોજી મેગ્મા ફાઇલસિસ્ટમની અંદર વિતરિત ડિરેક્ટરીમાં પણ સાચવવામાં આવે છે. વલ્કેનો નોડ્સ સમયાંતરે તેમની માહિતીને ડિરેક્ટરીની સામગ્રી સામે ચકાસી શકે છે કે કેમ તે જાણવા માટે કે શું કંઈક બદલાયું છે. નોડ્સ સમયાંતરે તેમની પોતાની માહિતીને ડિરેક્ટરીમાં સાચવે છે. લોડ બેલેન્સિંગ દરેક વલ્કેનો નોડમાં કેટલાક પરિમાણો હોય છે જે બૂટ સમયે જાહેર કરવામાં આવે છે, જેમ કે બેન્ડવિડ્થ અને સંગ્રહ ઉપલબ્ધ છે. બેલેન્સર તરીકે ઓળખાતો એક અલગ થ્રેડ નોડ્સ ઓવરલોડિંગ અથવા અન્ડરલોડિંગને ટાળવા માટે કીઓ વિતરિત કરવા માટે સમર્પિત છે. દરેક નોડમાં ગતિશીલ લોડ મૂલ્ય સંકળાયેલું હોય છે, જેની ગણતરી સૂત્ર દ્વારા કરવામાં આવે છેઃ લઘુગણક સ્કેલ પર ગણતરી કરાયેલ નોડ કી લોડ ક્યાં છે; નોડ બેન્ડવિડ્થ છે અને સરેરાશ બેન્ડવિડ્થ છે; નોડ સંગ્રહ છે અને સરેરાશ સંગ્રહ છે મેગ્મા સોફ્ટવેર વિતરણ મેગ્મા મેગમાડ નામના સર્વર અને mount.magma નામના ક્લાયન્ટના સ્વરૂપમાં વહેંચાયેલું છે. મેગ્મા સર્વર મેગ્મા સર્વર DHT નોડ્સ અને મેગ્મા ક્લાયન્ટ્સ વચ્ચે આંતરસંવાદનું સંચાલન કરે છે. ફ્લેર સિસ્ટમ નેટવર્ક ઇવેન્ટ લૂપ પ્રદાન કરે છે જે આવતા જોડાણોને સ્વીકારે છે. ત્રણ પ્રકારના જોડાણ સ્વીકારવામાં આવે છે. જ્વાળાઓ પર કામ કરવા માટે જ્વાળા પ્રોટોકોલ જોડાણનો ઉપયોગ થાય છેઃ ફાઇલો અને ડિરેક્ટરી ખોલવી, વાંચવું અને લખવું, માહિતી મેળવવી અને કામગીરીને સંતુલિત કરતી વખતે જ્વાળાઓનું આદાનપ્રદાન કરવું. ફ્લેર પ્રોટોકોલ એ દ્વિસંગી પ્રોટોકોલ છે. ઇન્ટર્નોડ પ્રોટોકોલ જોડાણનો ઉપયોગ DHT માહિતીની આપ-લે કરવા અને નવા નોડ્સમાં જોડાવા માટે થાય છે. ઇન્ટરનોડ પ્રોટોકોલ એ દ્વિસંગી પ્રોટોકોલ છે. કન્સોલ પ્રોટોકોલ જોડાણનો ઉપયોગ સંચાલકોને લાવા નેટવર્કની પૂછપરછ કરવા, ડિરેક્ટરી સમાવિષ્ટોને સૂચિબદ્ધ કરવા અને ફાઇલ સામગ્રી બતાવવા જેવી સરળ કામગીરીઓ કરવા અને અંતે નોડ્સને કેટલાક વહીવટી આદેશો જારી કરવા માટે થાય છે (વહીવટી આદેશનું ઉદાહરણ છેઃ બંધ કરવું). કન્સોલ પ્રોટોકોલ એ ટેલનેટ દ્વારા સુલભ લખાણ આધારિત પ્રોટોકોલ છે. મેગ્મા ક્લાયન્ટ મેગ્મા ક્લાયન્ટ FUSE પર આધારિત છે, જે લિનક્સ અને BSD કર્નલો સાથે સુસંગત છે. મેગ્મા ક્લાયન્ટ નજીકના મેગ્મા સર્વર સાથે સંપર્ક કરવા અને સંચાલન કરવા માટે જ્વાળા પ્રોટોકોલ જોડાણનો ઉપયોગ કરે છે. નેટવર્ક ટોપોલોજી અને જ્વાળા સ્થાન ગ્રાહકો માટે સંપૂર્ણપણે પારદર્શક છે. ક્લાયન્ટ ફક્ત એક સર્વરને ચોક્કસ રીતે પૂછપરછ કરે છે કારણ કે બધી માહિતી ફક્ત તે જ યજમાન પર સ્થિત હતી. મેગ્મા ક્લાયન્ટ માટે એક ક્રિપ્ટોગ્રાફિક સ્તરનું આયોજન કરવામાં આવ્યું છે, જે ફાઇલ સમાવિષ્ટોને માત્ર એન્ક્રિપ્શનની મંજૂરી આપે છે. ક્લાયન્ટ બાજુએ ક્રિપ્ટોગ્રાફીનો અમલ સ્કેલેબિલિટી (કોમ્પ્યુટેશનલ વિનંતીના સમાન દરે કોમ્પ્યુટેશનલ શક્તિ વધશે) અને ક્રિપ્ટોગ્રાફિક કી ગોપનીયતા (કી અથવા પાસફ્રેઝ ક્યારેય સર્વર સુધી પહોંચશે નહીં) ને કારણે છે. વૈકલ્પિક એન. એફ. એસ. ઈન્ટરફેસ મેગ્મા ક્લાયન્ટના વિકલ્પ તરીકે, જે ફક્ત લિનક્સ અને બી. એસ. ડી. કર્નલો દ્વારા સમર્થિત છે, મેગ્મા સર્વર અન્ય યુનિસીસ માટે એન. એફ. એસ. ઈન્ટરફેસ પ્રદાન કરવાની યોજના ધરાવે છે. એન. એફ. એસ. એક સ્થાપિત ધોરણ હોવાથી, કોઈ નવી સુવિધાઓ ઉમેરી શકાતી નથી. ઉદાહરણ તરીકે, એન. એફ. એસ. દ્વારા ક્લાયન્ટ માઉન્ટિંગ મેગ્મા શેર માટે ક્રિપ્ટોગ્રાફિક સ્તર ઉપલબ્ધ રહેશે નહીં. બાહ્ય કડીઓ-મેગ્માએફએસ હોમ સાઇટ. યુઝરસ્પેસ ફાઇલ સિસ્ટમો વિતરિત ડેટા સંગ્રહ નેટવર્ક ફાઇલ સિસ્ટમો