VM डोमेन नियंत्रक के लिए हाइपर-वी टाइम सिंक


13

हमारे पास 8 वीएम के बीच 2 भौतिक हाइपर-वी सर्वर हैं, प्रत्येक भौतिक सर्वर में एक डोमेन नियंत्रक है जो वीएम में चल रहा है और सभी सर्वर 2008R2 हैं

VM PDC, NTP और time.microsoft.com के साथ सिंक करने के लिए सेट है और बाकी भौतिक सर्वर सहित NT5DS हैं। यह मुख्य वीएम पीडीसी निश्चित रूप से एफएसएमओ है और यूडीपी 123 सक्रिय है

जब मैं w32tm / क्वेरी / स्थिति चलाते हैं

Im दोनों VM DC पर VM IC टाइम सिंक्रोनाइज़ेशन प्रोवाइडर प्राप्त कर रहा है, मुझे पता है कि इसका मतलब होस्ट के साथ सिंक करना है।

जब मैं w32tm / resync / rediscover चलाता हूं

मुझे "resync नहीं मिला क्योंकि कोई समय डेटा उपलब्ध नहीं था" और उस पर कोई भी विचार लॉग में इवेंट ID 134?

मैं भी लॉग के माध्यम से देखा और घटना 144 और 12 मिल गया है

मैंने एक बाह्य समय स्रोत स्थापित करने और सभी रजिस्ट्री परिवर्तन करने पर MS KB विवरणों का पालन किया है, लेकिन मुझे लगता है कि DNS मुझे मिल रहा है?

लेकिन जब मैं भौतिक मशीनों में से एक पर समय बदलता हूं तो यह वह जगह है जहां से समय निर्धारित किया जा रहा है। हो सकता है अगर मैं उन सभी को अपंजीकृत करूं और रजिस्टर करूं और अपडेट करूं और सिंक करूं लेकिन im il is a big problem!

मैं वीएम और हाइपर-वी होस्ट के बीच टाइम सिंक को छोड़ने की कोशिश कर रहा हूं, क्योंकि मेरा मानना ​​है कि मैंने जो पढ़ा है, उससे यह सबसे अच्छा अभ्यास है।

आपकी सहायता के लिए धन्यवाद



मुझे आखिरकार यह काम मिल गया है! इसका लक्ष्य उन लोगों की मदद करना है जो एक डोमेन समय की शुरुआत में शुरुआत कर रहे हैं।

इस उदाहरण में सभी सर्वर, प्राथमिक डोमेन नियंत्रक (PDC), अन्य डोमेन नियंत्रक (DC) और अन्य सर्वर Windows 2008 R2 चला रहे हैं और हाइपर- V के साथ वर्चुअलाइज्ड हैं।

हाइपर-वी के भीतर किसी भी वर्चुअल मशीन पर 'टाइम सिंक्रोनाइजेशन इंटीग्रेशन सर्विस' को डिसेबल करने के लिए सबसे पहले आप पढ़ेंगे, लेकिन इसके बजाय आपको वर्चुअल डीसी के भीतर से विंडोज टाइम सर्विस (w32tm सर्विस) में हेरफेर करना चाहिए, आपको इसे तब डिसेबल नहीं करना चाहिए क्योंकि जब ए वीएम पुनः आरंभ करता है इससे समस्याएं पैदा होंगी, इसे w32tm के साथ किया जाना चाहिए। http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

आपको यह पता लगाना होगा कि कौन सा सर्वर पीडीसी है और एफएसएमओ भूमिका निभा रहा है। इसे चलाएं: netdom query fsmo परिणाम आपका PDC होना चाहिए और यह वह जगह है जहाँ आप अपने अधिकांश परिवर्तन करते हैं।

फ़ायरवॉल में सुनिश्चित करें कि UDP123 पर एक "आउटबाउंड" नियम है और प्रोग्राम% SystemRoot% \ System32 \ w32tm.exe है बस विंडोज़ निर्देशिका में ब्राउज़ करें और समय के लिए exe ढूंढें

यह वह जगह है जहाँ रजिस्ट्री परिवर्तन नीचे जाते हैं! HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time

सुनिश्चित करें कि उपरोक्त रजिस्ट्री पते में PDC विन्यास के तहत NTP में "टाइप" के लिए सेट है और अन्य सभी सर्वर NT5DS हैं, इसका मतलब है कि NTP डैडी है! यहां सबसे अच्छा अभ्यास है कि समय के लिए पीडीसी बाहरी दिखे और इसके लिए सब कुछ सिंक हो।

इसे सभी डोमेन नियंत्रकों (पीडीसी सहित) पर चलाएं, यह आंशिक रूप से विंडोज़ समय को अक्षम कर देगा, इसलिए यह समय के लिए होस्ट मशीन को नहीं देखता है, महत्वपूर्ण है क्योंकि हम वर्चुअलाइज्ड हैं। reg जोड़ें HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ VMICTimeProvider / v सक्षम / t reg_dword / d 0

आप अपने बाहरी समय को सिंक करने के लिए निकटतम सर्वर खोजने के लिए ntp.org http://support.ntp.org/bin/view/Servers/WebHome साइट पर जा सकते हैं । मैं अनुशंसा करता हूं कि वे Microsoft का उपयोग न करें क्योंकि वे बहुत अधिक उपयोग किए जाते हैं और इस वजह से बाहर खिसक सकते हैं।

नीचे कमांड पीडीसी को बाहरी रूप से देखने के लिए सेट करेगा, लेकिन बाहरी रूप से सिंक करने के लिए यहां रजिस्ट्री सेटिंग्स की भी जांच करें (आपको दोनों करने की आवश्यकता है) http://support.microsoft.com/kb/816042

इसे PDC w32tm / config /manualpeerlist: d0.pool.ntp.org,0x1 "/ Syncfromflags: MANUAL / विश्वसनीय पर चलाएँ: हाँ w32tm / config / update w32tm / resync w32tm / resync / rediscover

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

फिर पीडीसी को छोड़कर सभी डीसी पर इसे चलाएं, यह उन्हें समय के लिए पीडीसी को देखेगा और इसे w32tm / config / syncfromflags के लिए रीसेट करेगा: DOMHIER / अपडेट नेट स्टॉप w32time नेट स्टार्ट w32time yttm / resync / force

समस्याएँ: जब आप स्टेटस या सोर्स क्वेरी चलाते हैं तो बदलावों के बाद उन्हें एक या दो मिनट दें, आपको लोकल CMOS क्लॉक नहीं देखना चाहिए और आपको स्रोत के रूप में vm ic टाइम सिंक्रोनाइज़ेशन प्रोवाइडर का उपयोग नहीं करना चाहिए।

यदि सफल पीडीसी को आपके द्वारा निर्धारित बाहरी साइट को पढ़ना चाहिए और अन्य सर्वरों को पीडीसी को स्रोत के रूप में कहना चाहिए

आशा है कि यह लोगों को अच्छी किस्मत में मदद करता है!


नमस्ते, उत्तर उत्तर अनुभाग में जाते हैं, प्रश्न के संपादन के रूप में नहीं।
माइकल हैम्पटन

2
यह पूरी तरह से नवीनतम एकीकरण अपडेट के साथ नए हाइपर-वी 2012 आर 2 में काम नहीं करता है, क्योंकि एनटीपी सर्वर द्वारा सेट किए जाने के बाद समय तुरंत अंतर्निहित होस्ट को वापस स्नैप करता है। कुछ देर बैठने के बाद भी गलत समय पर अटक गया। मैंने पाया कि रजिस्ट्री कुंजी TimeProviders / VMICTimeProvider / InputProvider = 0 को संशोधित करके, सर्वर ने अंतर्निहित होस्ट को इतनी आसानी से वापस स्नैप करना बंद कर दिया।
ब्रेन २२

1
मैंने बेहतर पठनीयता के लिए आपके जवाब को नीचे प्रारूपित किया । हो सकता है कि आप अपने प्रश्न से उत्तर हटाना चाहते हैं और केवल आपके उत्तर का संदर्भ लें।
तीलो

जवाबों:


12

@PSaul ज्यादातर सही है। आप अपने डोमेन नियंत्रक के लिए पीडीसी एमुलेटर FSMO रोल को धारण करने के लिए time.microsoftया time.windows.comअपने समय स्रोत के रूप में उपयोग नहीं करना चाहते हैं । डिफ़ॉल्ट रूप से वे भारी उपयोग किए जाते हैं, अक्सर स्थानीयता की कमी और कभी-कभी अनुपलब्ध होने के कारण धीमा हो जाता है। एक एनटीपी पूल चुनें जो आपके करीब हो।

हालाँकि, हाइपर- V टाइम सिंक्रनाइज़ेशन एकीकरण को अक्षम न करें । रिबूट के बाद या वर्चुअल मशीन को सहेजे गए स्थिति से वापस आने पर कुछ रीसेट करने जैसे कुछ कार्यों के लिए यह आवश्यक है। अपने हाइपर- V होस्ट को एक समय स्रोत के रूप में अनदेखा करने के लिए आप अपने वर्चुअलाइज्ड डोमेन नियंत्रकों को बताना चाहते हैं।

इसे इस प्रकार किया जा सकता है:

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

यह कमांड W32Time के लिए संभव स्रोत के रूप में हाइपर- V समय स्रोत को हटाता है।

w32tm /config /syncfromflags:DOMHIER /update

अब W32Time को डोमेन पदानुक्रम में सर्वश्रेष्ठ संभव समय स्रोत की खोज करने के लिए कहें। यदि आप दोनों डोमेन नियंत्रकों के लिए किसी बाहरी स्रोत का उपयोग करना चाहते हैं, तो आप इसे ऐसा करने के लिए कॉन्फ़िगर कर सकते हैं कमांड @PSaul पोस्ट या यहाँ से । सामान्यतया, PDC एमुलेटर भूमिका रखने वाले डोमेन नियंत्रक को बाहरी स्रोत से सिंक करना चाहिए और आपके अन्य डोमेन नियंत्रकों को इससे सिंक करना चाहिए।

net stop w32time & net start w32time
w32tm /resync /force

समय सेवा को पुनरारंभ करें और एक पुन: सिंक्रनाइज़ेशन को बाध्य करें।

w32tm /query /source

अंत में आपको पुष्टि करनी चाहिए कि आपके डोमेन नियंत्रकों के पास सही समय स्रोत है।

अधिक विवरण के लिए बेन आर्मस्ट्रांग का उत्कृष्ट ब्लॉग पोस्ट देखें।


इस जानकारी के लिए धन्यवाद, मैंने बेन आर्मस्ट्रांग को ब्लॉग पढ़ा था और सर्वोत्तम प्रथाओं से चिपके रहना चाहता था। VM पर जो आज PDC है, मैं दौड़ा: w32tm / config /manualpeerlist: l0.pool.ntp.org,0x1 "/ Syncfromflags: MANUAL / विश्वसनीय: हाँ w32tm /" w32tm / resync w32tm / resync / rediscover
कार्ल

रजिस्ट्री में 0.pool.ntp.org, 0x1 अब NTP सर्वर के लिए मान है। मैं पीडीसी से 0.pool.ntp.org को पिंग कर सकता हूं लेकिन फिर भी कैंट पिंग टाइम.windows.com जो मुझे लगा अजीब था! समय एक मेजबानों द्वारा निर्धारित किया जा रहा है, जिसके बारे में मुझे यकीन है, लेकिन यह NT5DS पर सेट है और यह / क्वेरी / स्थिति मुझे पीडीसी का उपयोग करके बता रहा है, क्या मुझे इसे फिर से शुरू करने के लिए होस्ट पर कुछ कमांड चलाने की आवश्यकता है VM PDC को मैंने रेग ऐड कमांड देखी है और मुझे लगता है कि यह सब डीसी पर किया जाना चाहिए? मुझे आश्चर्य है कि w32tm / config / syncfromflags: DOMHIER / अपडेट को भी PDC या अन्य सभी DC पर चलाने की आवश्यकता है?
कार्ल

मुझे लगता है कि पहली टिप्पणी का अंत याद आ रहा है, जब मैंने पीडीसी पर नीचे की कमांड चलाई। सभी ने कहा कि सफल हुआ, लेकिन जब मैंने w32tm / query / स्टेटस चलाया, तब भी मेरे पास "vm ic time सिंक्रोनाइज़ेशन प्रोवाइडर" का एक स्रोत था। w32tm / config / update w32tm / resync w32tm / resync / rediscover और शुरू और बंद
कार्ल

सभी सलाह के लिए धन्यवाद, जो मुझे लगता है कि मेरे पास आखिरकार है, लेकिन मैं पुष्टि करने के लिए कुछ दिनों के लिए छोड़ दूंगा और फिर मैं अपडेट करूंगा कि मैंने क्या तय किया है
कार्ल


5

मुझे आखिरकार यह काम मिल गया है! इसका लक्ष्य उन लोगों की मदद करना है जो एक डोमेन समय की शुरुआत में शुरुआत कर रहे हैं।

इस उदाहरण में सभी सर्वर, प्राथमिक डोमेन नियंत्रक (PDC), अन्य डोमेन नियंत्रक (DC) और अन्य सर्वर Windows 2008 R2 चला रहे हैं और हाइपर- V के साथ वर्चुअलाइज्ड हैं।

हाइपर-वी के भीतर किसी भी वर्चुअल मशीन पर 'टाइम सिंक्रोनाइजेशन इंटीग्रेशन सर्विस' को डिसेबल करने के लिए सबसे पहले आप पढ़ेंगे, लेकिन इसके बजाय आपको वर्चुअल डीसी के भीतर से विंडोज टाइम सर्विस (w32tm सर्विस) में हेरफेर करना चाहिए, आपको इसे तब डिसेबल नहीं करना चाहिए क्योंकि जब ए वीएम पुनः आरंभ करता है इससे समस्याएं पैदा होंगी, इसे w32tm के साथ किया जाना चाहिए। MSDN जानकारी

आपको यह पता लगाना होगा कि कौन सा सर्वर पीडीसी है और एफएसएमओ भूमिका निभा रहा है। इसे चलाएं: netdom query fsmo परिणाम आपका PDC होना चाहिए और यह वह जगह है जहाँ आप अपने अधिकांश परिवर्तन करते हैं।

फ़ायरवॉल में सुनिश्चित करें कि UDP123 पर एक "आउटबाउंड" नियम है और प्रोग्राम % SystemRoot% \ System32 \ w32tm.exe है बस विंडोज़ निर्देशिका में ब्राउज़ करें और समय के लिए exe ढूंढें

यह वह जगह है जहाँ रजिस्ट्री परिवर्तन नीचे जाते हैं!

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time

सुनिश्चित करें कि उपरोक्त रजिस्ट्री पते में PDC विन्यास के तहत NTP में " टाइप " के लिए सेट है और अन्य सभी सर्वर NT5DS हैं, इसका मतलब है कि NTP डैडी है! यहां सबसे अच्छा अभ्यास है कि समय के लिए पीडीसी बाहरी दिखे और इसके लिए सब कुछ सिंक हो।

इसे सभी डोमेन नियंत्रकों (पीडीसी सहित) पर चलाएं, यह आंशिक रूप से विंडोज़ समय को अक्षम कर देगा, इसलिए यह समय के लिए होस्ट मशीन को नहीं देखता, महत्वपूर्ण है क्योंकि हम आभासी हैं।

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

आप अपने बाहरी समय को सिंक करने के लिए ntp.org साइट पर जा सकते हैं ताकि आप अपने निकटतम सर्वर को ढूंढ सकें । मैं अनुशंसा करता हूं कि वे Microsoft का उपयोग न करें क्योंकि वे बहुत अधिक उपयोग किए जाते हैं और इस वजह से बाहर खिसक सकते हैं।

नीचे दी गई कमांड पीडीसी को बाहरी रूप से देखने के लिए सेट करेगी, लेकिन बाहरी रूप से सिंक करने के लिए यहां बताई गई रजिस्ट्री सेटिंग्स की जांच करें (आपको दोनों करने की आवश्यकता है) MS KB 816042

इसे पीडीसी पर चलाएं

w32tm /config /manualpeerlist:"0.pool.ntp.org,0x1" /syncfromflags:MANUAL /reliable:yes   
w32tm /config /update   
w32tm /resync 
w32tm /resync /rediscover

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

w32tm /query /status  
w32tm /query /source

फिर पीडीसी को छोड़कर सभी डीसी पर इसे चलाएं , यह उन्हें समय के लिए पीडीसी को देखेगा और इसे फिर से सिंक करेगा

w32tm /config /syncfromflags:DOMHIER /update 
net stop w32time 
net start w32time 
w32tm /resync /force

समस्याएँ : जब आप स्टेटस या सोर्स क्वेरी चलाते हैं तो बदलाव के बाद उन्हें एक या 2 मिनट दें, आपको लोकल CMOS क्लॉक नहीं देखना चाहिए और आपको VM IC टाइम सिंक्रोनाइज़ेशन प्रोवाइडर को सोर्स के रूप में भी इस्तेमाल नहीं करना चाहिए ।

यदि सफल पीडीसी को आपके द्वारा निर्धारित बाहरी साइट को पढ़ना चाहिए और अन्य सर्वरों को पीडीसी को स्रोत के रूप में कहना चाहिए

आशा है कि यह लोगों को अच्छी किस्मत में मदद करता है!


दो और चीजें: PDCE पर NTP समय को कॉन्फ़िगर करने के लिए GPO का उपयोग करें - इसका मतलब है कि अगर PDCE भूमिका चलती है तो यह स्वचालित रूप से कॉन्फ़िगर किया जाएगा: www.sysadminlab.net/windows/configuring-ntp-on-windows.use-gpo।
त्रिकोणीय

NTP सेवा पर झंडे स्थापित करने के लिए, 0x8 का उपयोग करने पर विचार करें - इसका मतलब है कि यह एक विश्वसनीय समय स्रोत है जो कहीं न कहीं हार्डवेयर घड़ी के साथ सिंक कर रहा है। इसके अलावा "विशेष समय अंतराल" के लिए 0x1 का उपयोग नहीं करने पर विचार करें । जब तक आपको निर्दिष्ट अंतराल पर अपनी घड़ी को सिंक करने की आवश्यकता नहीं है, यह इन दिनों अनावश्यक है। यदि बूट के बाद डीसी को अपना समय सीधे नहीं मिलता है (जैसे नेटवर्क तैयार नहीं है), तो वह उस पूरे अंतराल का इंतजार करता है। या यदि आप 0x1 / 0x9 का उपयोग करते हैं, तो 0xa - फ़ॉलबैक स्रोत के साथ एक और स्रोत सेट करें, यदि प्राथमिक स्रोत (एस) प्रतिक्रिया नहीं देते हैं, तो तुरंत क्वेरी हो जाती है।
त्रिक

1

मै सुझाव दूंगा:

  • हाइपर वी होस्ट और गेस्ट वीएम के बीच टाइम सिंक को सक्षम नहीं करना - विशेष रूप से डीसी के लिए। PDC भूमिका धारक को कई अच्छे समय स्रोतों से NTP के माध्यम से अद्यतन करना चाहिए। होस्ट की घड़ी NTP के माध्यम से भी अपडेट हो सकती है लेकिन आप चाहते हैं कि PDC अन्य DC और सदस्य सर्वरों के लिए "मास्टर" हो। (कम से कम VMwre के साथ, मैं HyperV के साथ समान मानता हूं)
  • सुनिश्चित करें कि आपके पास आउटबाउंड ट्रैफ़िक के लिए UDP पोर्ट 123 खुला है।
  • आप एनटीपी सर्वर के FQDN को हल कर सकते हैं (क्या आप उन्हें पिंग कर सकते हैं?)
  • अन्य सभी डीसी और सदस्य मशीनों को स्वचालित रूप से अपडेट होना चाहिए।

केवल time.windows.com या time.microsoft.com का उपयोग न करें, एक * .pool.ntp.org सर्वर का उपयोग करें। मैं उत्तर-america.pool.ntp.org या ca.north-america.pool.ntp.org का उपयोग करता हूं - करीब बेहतर। आप अपने नज़दीकी सर्वरों को खोजने के लिए जाँच सकते हैं: http://www.pool.ntp.org/

फिर कुछ इस तरह चलाएं:

w32tm /config /manualpeerlist:"north-america.pool.ntp.org 0.pool.ntp.org" /syncfromflags:MANUAL /update /reliable:YES

(आप जो भी NTP सर्वर चाहते हैं उसमें जोड़ें। कनाडा में मैं time.nrc.ca का उपयोग करता हूं)

के बाद:

net stop w32time
net start w32time

आप साथियों की जाँच कर सकते हैं:

w32tm /query /peers

यह देखने के लिए कि क्या यह अद्यतन हो रहा है, सिस्टम लॉग की जाँच करें। आपको 1min से आगे की घड़ी सेट करने में सक्षम होना चाहिए, w32time सेवा को पुनरारंभ करें और यह 30 सेकंड के भीतर अपडेट हो जाएगा। [AD डोमेन में 5 मिनट से कम समय तिरछा स्वीकार्य है]


0

जैसा कि दूसरों द्वारा अनुशंसित है, निश्चित रूप से मेजबान से अतिथि के लिए हार्डवेयर समय सिंक नहीं है। आपको फ़ॉरेस्ट एनटीटी सर्वर के साथ ही फॉरेस्ट रूट पीडीसी एमुलेटर रोल रखने वाले डोमेन कंट्रोलर से भी सिंक करना चाहिए। यदि आपका फ़ॉरेस्ट रूट PDC एमुलेटर रोल डोमेन कंट्रोलर सिंक्रोनाइज़ नहीं कर रहा है, तो इस पर निर्भर रहने वाले DC को समस्याएँ होने वाली हैं।

आप निम्न हॉटफ़िक्स को आज़माना भी चाह सकते हैं:

W32Time सेवा सफलतापूर्वक Windows Server 2008 या Windows Server 2008 R2 में प्रारंभ होने पर भी समय सिंक्रनाइज़ेशन नहीं किया जाता है

http://support.microsoft.com/kb/2493006

यदि आप w32tm के लिए / वर्बोज़ फ़्लैग का उपयोग करते हैं, तो आपको यह अधिक उपयोगी लग सकता है:

w32tm /query /status /verbose /computer:dcname

अतिरिक्त जानकारी:

https://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv%28WS.10%29.aspx

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

"हाइपर- V समय सिंक्रनाइज़ेशन प्रदाता को अक्षम करने के लिए, VM को बंद करें और एकीकरण सेवाओं के तहत समय सिंक्रनाइज़ेशन चेक बॉक्स को साफ़ करें।"

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