Windows DFSR - बदली गई निर्देशिका अनुमतियाँ और अब एक सप्ताह से अधिक समय के लिए 350,000 का बैकलॉग है


10

प्रश्न: क्या इस 350,000 फाइल बैकलॉग को तेजी से पूरा करने का एक तरीका है? लगभग हर फ़ाइल के लिए प्रत्येक प्रभावित फ़ाइल के लिए ACL में एकमात्र परिवर्तन था। कुछ फ़ाइलों ने सामग्री बदल दी है, लेकिन यह इस स्थिति में सामान्य मामला नहीं है।

यह तय हो सकता है। मैं समय और सत्यापन के बाद सफलता / असफलता की पुष्टि करने के लिए इस पाठ को संपादित करूंगा। इस प्रश्न पाठ के अंत में मैंने हाल ही में किए गए बदलावों को विस्तृत किया है जो इसे तय कर सकते हैं।

हमारे पास लगभग 450,000 फ़ाइलों के साथ DFSR प्रतिकृति समूह है और 1.5TB की जगह लेता है। इस स्थिति में, दो Windows Server 2008 R2 सर्वर हैं जो लगभग 500 मील अलग हैं। अन्य सर्वर हैं, लेकिन वे इस प्रतिकृति समूह में शामिल नहीं हैं। सर्वर अल्फा मुख्य सर्वर है और यह अधिकांश कर्मचारियों द्वारा उपयोग किया जाता है। सर्वर बीटा दूरस्थ कार्यालय में सर्वर है और कम व्यस्त है।

यहाँ इस प्रतिकृति समूह (Google ड्राइव पर होस्ट किया गया PNG) के लिए बैकलॉग का एक ग्राफ है जो धीमी गति से सिंक प्रगति दिखा रहा है।

मुझे एक अनुमति प्रविष्टि को हटाने की आवश्यकता थी जो उस प्रतिकृति समूह की मूल निर्देशिका में थी, जो निश्चित रूप से अधिकांश उप-कुलियों में विरासत में मिली थी। मैंने यह परिवर्तन सर्वर अल्फा पर किया। इसके ठीक बाद, DFSR के पास 350,000 फ़ाइल बैकलॉग था। एक सप्ताह से अधिक हो गया है और अब यह 267,000 पर है। केवल एक चीज जो बदल गई (शुरू में) एकल अनुमति परिवर्तन था।

यह क्या हुआ (यह समाधान नहीं है, इस मुद्दे का कारण बनने के लिए एक और स्पष्टीकरण): http://blogs.technet.com/b/askds/archive/2012/04/14/saturday-mail-sack -because यह बदल जाता है बाहर से शुक्रवार रात था-ठीक-for-fighting.aspx # DFSR

सर्वर बीटा पर होने वाले किसी भी परिवर्तन को सर्वर अल्फा को बहुत जल्दी से दोहराया जाता है क्योंकि उस दिशा में कोई बैकलॉग नहीं होता है। बीटा पर बदली गई कोई भी फाइल बिना किसी परेशानी के अल्फा के लिए कर देती है।

यह 50Mbps कनेक्शन के एक छोर पर 24/7 की पूरी गति से एक फाइबर 100Mbps दूसरे छोर पर प्रतिकृति है। प्रत्येक सर्वर पर स्टेजिंग क्षेत्र 100GB है। इवेंट लॉग में कुछ भी दिलचस्प नहीं है। एक असंबंधित उच्च वॉटरमार्क घटना है जो एक असंबंधित प्रतिकृति समूह के लिए दिखाई देती है जो न तो इस विशेष प्रतिकृति के लिए है और न ही इस अल्फा / बीटा सर्वर जोड़ी के लिए है। विशेष रूप से उच्च वॉटरमार्क और न ही कनेक्शन त्रुटियों के लिए कोई ईवेंट लॉग प्रविष्टियाँ नहीं हैं।

प्रतिकृति समूह का अल्फा का दृष्टिकोण:

बैंडविड्थ की बचत : 99.83% की कमी (30.185 एमबी की जगह 18.1 जीबी)

मेरा मानना ​​है कि 30.85MB / 18.1GB तब से है जब मैंने आखिरी बार अल्फा और बीटा पर DFSR सेवा को फिर से शुरू किया था। यदि ऐसा है, तो यह दिखाता है कि भले ही यह बहुत लंबा समय ले रहा है (अब तक मुझे विश्वास है कि इसे लेना चाहिए) यह वास्तव में तार में फ़ाइल सामग्री को स्थानांतरित नहीं कर रहा है।

प्रतिकृति फ़ोल्डर : 1.46TB (वास्तविक आकार), 439,387 (फ़ाइलें), 52,886 (फ़ोल्डर)

संघर्ष और हटाए गए फ़ोल्डर : 100.00GB (कॉन्फ़िगर किया गया आकार), 34.01GB (वास्तविक आकार), 19,620 (फ़ाइलें), 2,393 (फ़ोल्डर)

मंचन फ़ोल्डर : 200.00GB (कॉन्फ़िगर आकार), 92.54GB (वास्तविक आकार)

मुझे लॉग्स (14 मई, शाम 7 बजे) में एक उच्च वॉटरमार्क त्रुटि मिली और इसलिए स्टैपिंग कोटा को 200GB प्रति 100GB तक ले लिया है। मुझे पता है कि Microsoft द्वारा अनुमोदित मार्ग में 20% की वृद्धि होनी है, लेकिन मैं इस पर नहीं खेल रहा हूँ। स्टेजिंग डिस्क सरणियों पर स्पेयर करने के लिए हमारे पास बहुत सारे डिस्क स्थान हैं।

सभी सर्वरों पर एंटी-वायरस को अक्षम करने से मदद नहीं मिली, हालांकि मुझे लगा कि इससे थोड़ी मदद मिलेगी। अभी के लिए मैंने एंटी-वायरस को फिर से सक्षम किया है, लेकिन समीकरण से उस चर को हटाने के लिए प्रतिकृति समूह को स्कैन से बाहर करने का मार्ग निर्धारित किया है।

वहाँ एक तरीका है यह तेजी से जाने के लिए है? मैं बस के रूप में अच्छी सर्वर बीटा पर यह परिवर्तन करने हैं, लेकिन वहाँ फ़ाइलों अल्फा पर बदल गया है, लेकिन बनाने बीटा पर विरासत में मिला अनुमति परिवर्तन धक्का होगा बीटा के लिए और से दोहराया नहीं है कि कर रहे हैं पुराने अल्फा (क्योंकि DFSR रहा है करने के लिए बीटा से फाइल जब टकराव में विजेता कौन सी फाइल है, इसकी तुलना करते समय फाइल टाइमस्टैम्प्स को अनदेखा करें)। और ऐसा होने के बजाय बुरा होगा।

बैकलॉग धीरे-धीरे कम हो रहा है। बहुत, बहुत धीरे-धीरे। यह आगे जा रहा है, यद्यपि। लेकिन इस दर पर, यह खत्म होने से पहले सप्ताह होगा। मैं सिर्फ 3TB ड्राइव पर सेट किए गए डेटा की एक प्रतिलिपि को हटाने और दूरस्थ कार्यालय में शिपिंग करने पर विचार कर रहा हूं। क्या कोई बेहतर तरीका है?

16 मई, सुबह 4 बजे यूएस पीटी: समस्या क्या हो सकती है (यह मानते हुए कि यह ईमानदारी से तय है, वैसे भी):

मैंने डीसी में कई बदलाव किए हैं जो बहुत पहले किए जाने चाहिए थे। समस्या यह है कि इस नेटवर्क को किसी और से विरासत में मिला था जो शायद इसे किसी और से विरासत में मिला था, आदि। मैं वादा नहीं कर सकता कि किस समस्या ने समस्या को ठीक किया। यहां वे किसी खास क्रम में नहीं हैं:

  • सभी DC "डोमेन कंट्रोलर" OU में नहीं थे। मैंने कभी ऐसा विंडोज डोमेन नहीं देखा है जिसमें उनके डीसी कहीं और हों। मैं उन्हें वापस ले गया जहाँ वे थे। वे पहले OU में थे जिन्हें शहर के प्रत्येक कार्यालय के नाम से अलग किया गया था। (मुझे लगता है कि मुझे अब इससे निपटने के लिए कुछ प्लंबिंग का काम मिल गया है, जिसे मैंने ले लिया, लेकिन वर्तमान में यह सब ठीक है ...)
  • AVG एंटी-वायरस सभी DC और DFSR- भाग लेने वाले सर्वर पर चल रहा है। मैंने सक्रिय / ऑन-एक्सेस स्कैनिंग से प्रतिरूपित फ़ोल्डर और मचान फ़ोल्डर को बाहर कर दिया। मुझे नहीं लगता कि इसने समस्या को ठीक कर दिया है और मुझे इस मुद्दे का परीक्षण करने की संभावना है कि बाद में यह देखने के लिए कि क्या परिवर्तन उस डीएफएसआर की प्रतिकृति गति के साथ हस्तक्षेप करेगा। यह एक और दिन के लिए एक चुनौती है।
  • dcdiag.exe ने RODCs के संबंध में DNS मुद्दे की शिकायत की। मैंने उस समस्या को हल कर दिया, भले ही हमारे पास डोमेन पर कोई RODCs न हो। मुझे इस पर कुछ भी शक है।
  • _Ldap._tcp.domain.GUID._msdcs.DOMAIN.NET SRV रिकॉर्ड्स में से एक DCs (DFSR सर्वरों में से एक नहीं) के लिए गायब था और मैंने इसे फिर से बनाया। मुझे नहीं लगता कि इससे कोई मदद मिली।
  • एक बार जब मैंने सर्वर बीटा को रिबूट किया, तो उसने डीएफएसआर डेटाबेस (ईवेंट 2212) के खराब बंद होने की शिकायत की और इसके बाद डेटाबेस को फिर से बनाने में घंटों लग गए। जब यह समाप्त हुआ तो मुझे यह बताने के लिए 2214 की घटना की सूचना दी। उसके बाद, प्रतिकृति अभी भी बहुत धीमी गति से चल रही थी, लेकिन इससे जो कुछ भी अटक गया था उसे अस्थिर करने में मदद मिल सकती है।
  • DCs में से एक के पास इसके इंटरफ़ेस कॉन्फ़िगरेशन में एक माध्यमिक DNS सर्वर के रूप में 127.0.0.1 नहीं था। मैंने उसे जोड़ा। यह DFSR सर्वरों में से एक नहीं था, जिससे शायद इसका कोई लेना-देना नहीं था।
  • मैंने TechNet ब्लॉग का अनुसरण किया : DFSR में ट्यूनिंग प्रतिकृति प्रदर्शन ने DFSR सर्वर के लिए रजिस्ट्री सेटिंग्स की सिफारिश की। मैंने AsyncIoMaxBufferSizeBytes को छोड़कर 4194304 पर सेट किए गए सभी "परीक्षण किए गए उच्च प्रदर्शन मूल्य" मूल्यों का उपयोग किया, जो उच्च मूल्य से एक पायदान कम है। यह समस्या के साथ मदद कर सकता है ... या शायद नहीं। यह बताना मुश्किल है कि कब कोई बहुत अधिक चर बदलता है।
  • dcdiag.exe ने बीटा पर RPC सेवा के साथ संचार करने में समस्या के बारे में शिकायत की, लेकिन केवल उपरोक्त परिवर्तन करने के बाद ही। यह सबसे अधिक संभावना मुद्दा लग रहा था, लेकिन कुछ भी नहीं था जो मैंने इसे ठीक करने के लिए किया था। VPN ठीक से चल रहा था और फ़ायरवॉल इसे ब्लॉक नहीं कर रहा था। यह संभव है कि उपरोक्त मदों में से एक कारण क्या है और फिर आरपीसी मुद्दे को हटा दिया गया है या यह साधारण संयोग हो सकता है। मुझे अब वह त्रुटि नहीं मिल रही है और वर्तमान में प्रतिकृति सुचारू रूप से चल रही है।

कहानी का नैतिक है: एक समय में एक चीज बदलें या आप वास्तव में कभी नहीं जान पाएंगे कि यह क्या तय किया गया है। लेकिन मैं हताश था और इसे ठीक करने के लिए समय से बाहर चल रहा था, इसलिए मैंने समस्या पर गोलियों का एक गुच्छा निकाल दिया। यदि मैं कभी भी फिक्स को इंगित करता हूं, तो मैं यहां रिपोर्ट करूंगा। हालांकि मुझ पर बैंक इसे कम न करें, हालांकि।

EDIT 5/21/2012: मैंने कल एक दूरस्थ सर्वर (GAMMA) के साथ लगभग सात घंटे तक ड्राइविंग करके इसे दूरस्थ कार्यालय में हल किया। GAMMA अब उनके प्राथमिक स्थानीय सर्वर के रूप में कार्य कर रहा है, जबकि उनके सामान्य सर्वर (BETA) प्रतिकृति पर पकड़ बनाते हैं। जब से मैंने इसे रखा है, सर्वर प्रतिकृति की गति को दोगुना करने जा रहे हैं। हालांकि यह मुझे बताता है कि यह वीपीएन से संबंधित मुद्दा हो सकता है, मुझे विश्वास है कि यह कम है क्योंकि यह सभी नए अपडेट GAMMA को दोहराने के लिए लगता है अल्फा से बहुत जल्दी और अच्छी तरह से जा रहा है।

EDIT 5/22/2012: यह अभी 12000 पर है और इसे कुछ घंटों में समाप्त कर देना चाहिए। मैं धीमी शुरुआत से तेजी से खत्म करने के लिए प्रगति का एक अच्छा ग्राफ पोस्ट करूँगा। समस्या यह है कि केवल एक चीज जो वास्तव में "निश्चित" है वह स्थानीय सर्वर कनेक्शन है। मैं वर्तमान में सोच रहा हूं कि शायद वीपीएन समस्या का हिस्सा है। और अगर ऐसा है, तो मुझे लगता है कि इस सवाल का अभी तक कोई जवाब नहीं मिला है। यह जानने के लिए कि वीपीएन के माध्यम से चीजें कैसे दोहराई जा रही हैं और किसी भी असफलता को देखने के लिए मेरे पास कुछ और समय है, मैं डिबग करूंगा और प्रगति की रिपोर्ट करूंगा।

अगर कुछ बदलता है तो मैं यहां अपडेट करूंगा।


आपकी साइट और दूरस्थ साइट के बीच कितने डेटा की प्रतिकृति की आवश्यकता है और कितना बैंडविड्थ उपलब्ध है? इसके अलावा, क्या आप डीएफएस प्रतिकृति का गला घोंट रहे हैं?
एमडीमैरा

1
जोड़ने का मेरा जवाब एमडीएमरा (आपकी प्रतिकृति अनुसूची और मंचन आकार की जांच) के समान है, इसलिए मैं सिर्फ एक टिप्पणी छोड़ दूंगा। यदि यह एक अनुमति परिवर्तन था, तो यह वास्तविक डेटा नहीं है जिसे दोहराया जा रहा है, बल्कि प्रत्येक फ़ाइल पर सुरक्षा विशेषता है। इन मामलों में, बैकलॉग आमतौर पर बैंडविड्थ पर निर्भर नहीं होता है। आपने इवेंट लॉग में दिखाई गई किसी भी चीज़ का उल्लेख नहीं किया है, लेकिन यह देखने लायक है। प्रतिकृति समूह के लिए DFSR डायग्नोस्टिक रिपोर्ट भी चलाएँ।
जेफ मील्स

2
इसके अलावा, विंडोज सर्वर 2012 में एक विशेषता है जो इस समस्या को हमेशा के लिए दूर कर देना चाहिए: blogs.technet.com/b/askds/archive/2012/04/14/…
जेफ माइल्स

मैंने इन सवालों का जवाब देने के लिए अपडेट किया।
एमल्मी विल्सन

dfsrdiag replicationstate /aदिखाता है कि यह केवल दो फाइलें भेज रहा है, लेकिन दोनों का नाम एक ही है। यह कहता है कि इसके पास अल्फा से दो आउटबाउंड कनेक्शन हैं, वैसे भी। यह जो फ़ाइल भेज रहा है वह 850MB है। जैसा कि पहले वर्णित है, मुझे यकीन नहीं है कि यह वास्तव में पूरी फ़ाइल की सामग्री भेज रहा है, हालांकि मुझे यकीन नहीं है कि यह क्या कर रहा है अगर ऐसा नहीं होता है क्योंकि यह केवल एक फ़ाइल से निपटने के लिए बहुत लंबा समय लेता है। फ़ाइल को अंतिम बार 2008 में (दोनों सर्वरों पर) अपडेट किया गया था, इसलिए कोई कारण नहीं है कि बीटा पर फ़ाइल पर एसीएल जानकारी को अपडेट करने के अलावा कुछ भी करने की आवश्यकता न हो।
एमाले विल्सन

जवाबों:


2

बहुत अजीब समस्या है, खासकर संपादन की समीक्षा के बाद।

मैं DFSR डिबग लॉग का निरीक्षण करूंगा, जो यहां स्थित है:% systemroot% \ debug डिफ़ॉल्ट रूप से 9 पिछली लॉग फाइलें होनी चाहिए जो GZ संग्रहीत की गई हैं, और एक जो वर्तमान में लिखी जा रही है।

एक टेक्स्ट फ़ाइल में खोलें और पाठ "चेतावनी" या "त्रुटि" के लिए एक खोज करें। आप डिबग लॉग पर अधिक विस्तृत जानकारी के लिए इस ब्लॉग श्रृंखला की जांच कर सकते हैं: http://blogs.technet.com/b/askds/archive/2009/03/23/understanding-dfsr-debug-logging-part-1- प्रवेश स्तर-लॉग-प्रारूप-GUID-s.aspx

अन्य प्रश्न / सुझाव:

क्या संसाधन मॉनीटर को देखते समय कुछ भी हो सकता है? एक बेसलाइन के बाहर अतिरिक्त हार्ड ड्राइव या सीपीयू गतिविधि?

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

प्रश्न अद्यतन के आधार पर संपादित करें

आपने 850 एमबी फ़ाइल से संबंधित दो प्रविष्टियों का उल्लेख किया, साथ ही डीएफएसआर डीबग लॉग के भीतर एक त्रुटि।

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


नवीनतम लॉग फ़ाइल में "चेतावनी" से मेल नहीं खाता है, लेकिन इसमें त्रुटियां हैं। त्रुटियाँ सभी इस तरह से हैं: "20120513 23: 38: 59.198 6592 ASYN 755 [WARN] AsyncUnbufferedFileWriter :: SetFileSizeEstimate [त्रुटि: 87 (0x57) FileUtil :: SetFileValidDataLength fileutil.cpp: 1657 6592 "मैंने एंटी-वायरस को निष्क्रिय कर दिया है, साथ ही यह देखने के लिए कि क्या यह भयानक मंदी का कारण है। मैं भूल गया था कि एवी उन सर्वरों पर भी था और यह बहुत अच्छी तरह से परेशानी का कारण हो सकता है। : - |
एमल्मी विल्सन

एंटी-वायरस नोट्स को प्रश्न में जोड़ा गया था। यह कुछ भी प्रभावित करने के लिए प्रकट नहीं होता है, जैसा कि उल्लेख किया गया है।
एमाले विल्सन

मैंने इस मुद्दे को डीबग करने के दौरान कई बार अल्फा और बीटा दोनों को रिबूट किया है। यह विपरीत सर्वर पर ईवेंट लॉग में संबंधित त्रुटियों से अलग किसी भी चीज पर प्रभाव नहीं लगता है। दोनों सर्वरों पर सीपीयू गतिविधि बहुत कम है। यह मुश्किल से औसत मध्य-दिन के लोड के साथ भी 20% है। रैम के साथ भी। डिस्क लिखते बहुत हैं, लेकिन यह कभी नहीं दिखाता है जैसे कि 100% आंकी गई है। यह डिस्क IO बाध्य प्रतीत नहीं होता है। अभी मुझे सिर्फ यह मानना ​​है कि कहीं न कहीं किसी न किसी तरह की प्रतीक्षा और समय की प्रतीक्षा है? मैं इस व्यवहार के लिए कोई अन्य कारण नहीं देखता हूं। मैं अभी भी खुदाई कर रहा हूं ...
एमाले विल्सन

मुझे विंडोज अपडेट के कारण फिर से बीटा को रिबूट करना पड़ा और यह 2212 के साथ वापस आ गया, लेकिन 2214 के साथ वापस नहीं आया, इसलिए अब मैं इंतजार करता हूं और इंतजार करता हूं। शायद यह अच्छी चीजों के आने का संकेत है। या इसका मतलब यह है कि बीटा पर केवल अधिक खराब सामान है। सर्वर: pfft
एमाले विल्सन

... कोई पाँसा नहीं। वही सुस्ती, वही समस्याएं। मैं पुशिन रखूंगा '।
एमाले विल्सन

5

आप DFS-R को ऑफ-स्पीड के दौरान ऑफ-स्पीड (या यदि उपयुक्त हो तो घंटों पर भी) की अनुमति देने के लिए प्रतिकृति शेड्यूल को बदल सकते हैं।

आप बैक लॉग किए गए सर्वर पर स्टेजिंग का आकार बढ़ाने का भी प्रयास कर सकते हैं। उसे इस स्थिति में प्रदर्शन बढ़ाना चाहिए।

आप इसका उल्लेख नहीं करते हैं कि यह छाया हुआ है या नहीं, लेकिन मुझे लगता है कि यह तब से है जब आपके पास वान पर प्रतिकृति है।


मैंने आपकी प्रतिक्रिया का जवाब देने के लिए सवाल अपडेट किया। विशेष रूप से यह 24/7 पूर्ण गति प्रतिकृति अनुसूची और 100GB स्टेजिंग क्षेत्र का विवरण देता है। यदि आपने कहा है कि ये वस्तुएं पहले से ही लागू नहीं होंगी तो क्या उपयोगी होगा। मैं इस पर आपकी बातचीत की सराहना करता हूं।
एमाले विल्सन

1

मेरा अनुभव है कि यह जस्ट हाउ इट वर्क्स है।

मैं 4 डीएफएस प्रतिकृति समूहों (550 जीबी डेटा, 58k फाइलें, 3.4k फ़ोल्डर कुल) के काफी छोटे संग्रह पर सुरक्षा अद्यतन करने के बाद इस पर ठोकर खाई। डेटा वास्तव में तार पर संचारित कम है, इसलिए यह केवल सुरक्षा परिवर्तनों के लिए संपूर्ण फ़ाइलों को स्थानांतरित नहीं करता प्रतीत होता है, लेकिन डिस्क गतिविधि ऐसा महसूस करती है कि पूरी पदानुक्रम को फिर से अपनाया जा रहा है - निरंतर डिस्क स्थानांतरण दर 60-100 एमबी / सेकंड, और डिस्क कतारों के बीच 30 की, SSD tiered भंडारण स्थान पर 500 के रूप में उच्च के रूप में।

मेरी समझ में यह है कि डीएफएस के मंचन और विनाश की प्रक्रिया में बहुत अधिक मंथन होता है जिसके परिणामस्वरूप अत्यधिक डिस्क I / O होता है। दो गीगाबिट लैन कनेक्टेड बॉक्स के बीच एक प्रारंभिक प्रतिकृति प्रक्रिया में समान डेटा की तुलना में अधिक समय लगता है बस बॉक्स के बीच कॉपी की गई फ़ाइल, जो हर बाइट प्रतिकृति को इंगित करने के लिए प्रतीत होता है डिस्क और पढ़ने के कई बाइट्स की आवश्यकता होती है।

सुरक्षा अद्यतनों में 2012 के दावों-आधारित सुरक्षा (जो व्यापक रूप से AFAICT का उपयोग नहीं किया गया है) के उपयोग पर रोक लगाने के लिए कोई विशेष प्रतिकृति तर्क नहीं लगता है, जिसके परिणामस्वरूप डेटा परिवर्तन के लिए आपको एक ही चरण / गंतव्य मंथन मिलेगा।

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