वीएम के लिए वजन-आधारित ब्लॉक आईओ नियंत्रण


13

मैं अपनी वर्चुअल मशीनों का प्रबंधन करने के लिए KVM का उपयोग करता हूं। मैं VMs के लिए प्रदान किए गए संसाधनों को सीमित करने की कोशिश कर रहा हूं। मैं libvirt / cgroups का उपयोग करके VMs के लिए आवंटित CPU और मेमोरी को सीमित करने में सक्षम हूं। अब मैं प्रत्येक वीएम के लिए कुछ वेट लगाकर आवंटित डिस्क समय को नियंत्रित करना चाहता हूं। मैं cgroups से blkio नियंत्रण को देखा। चूंकि VM सिर्फ एक लिनक्स प्रक्रिया है, मैं cgroups का उपयोग करने में सक्षम हो जाएगा, लेकिन मुझे यकीन नहीं है कि यह अतुल्यकालिक IO के लिए भी काम करेगा। यदि नहीं, तो क्या कोई अच्छा वैकल्पिक समाधान सुझा सकता है?

जवाबों:


2

ब्लॉकग्रुप शब्दावली में ब्लकिओ ब्लॉक उपकरणों पर I / O तक पहुंच के लिए खड़ा है । यह उन सभी अलग-अलग तरीकों को विनियमित करने के बारे में नहीं लगता है जो सॉफ्टवेयर डेवलपर्स के पास आई / ओ-संबंधित उद्देश्यों के लिए हैं।

यह मुख्य रूप से उपकरणों पर I / O को लक्षित किया गया लगता है , न कि जिस तरह से सॉफ़्टवेयर के पास उपकरणों तक पहुंच है। यह iops की संख्या, बैंडविड्थ या अन्य प्रक्रियाओं के साथ एक वजन, अन्य चीजों में सीमित कर सकता है। ऐसा लगता है कि फ़िलहाल बफ़र लिखना ब्लॉकियो द्वारा समर्थित नहीं है। यह आधिकारिक दस्तावेज में है :

वर्तमान में, ब्लॉक I / O सबसिस्टम बफर लेखन कार्यों के लिए काम नहीं करता है। यह मुख्य रूप से प्रत्यक्ष I / O पर लक्षित है, हालांकि यह बफर रीड ऑपरेशन के लिए काम करता है।

यदि आप Red Hat के लिंडा वांग और बॉब कोज़ेम्बा की इस प्रस्तुति पर एक नज़र डालते हैं , तो पृष्ठ 20+ पर, आप देखेंगे कि ग्राफ़ प्रति VM के डिवाइस बैंडविड्थ के बारे में है, न कि यादृच्छिक बनाम अवरुद्ध अतुल्यकालिक I / O के बारे में।

ऐसा लगता है कि Red Hat द्वारा हाल ही में काम किया गया है ताकि इसे सीधे वायरल में लागू किया जा सके। यह पिछले हफ्ते libvirt 0.9.9 में जारी किया गया है । कुछ महीनों में, आप अपने पसंदीदा वितरण में ऐसा कुछ कर पाएंगे:

virsh blkiotune domA --device-weights /dev/sda,250
virsh blkiotune domB --device-weights /dev/sda,750

0

आप आयनिस का उपयोग करना चाह सकते हैं, यह अच्छा है लेकिन आईओ के लिए है।


1
क्या cgroups ioniceसे उपयोग करने blkioसे बेहतर विकल्प है ? क्या यह कुछ प्रदान करता है ओपी का वर्तमान समाधान नहीं करता है? क्या आप जानते हैं कि यह अतुल्यकालिक IO से कैसे संबंधित है?
कालेब

Caleb यह बहुत अच्छा होगा अगर आप सिर्फ एसिंक्रोनस IO पर एक सार दे सकते हैं और यह एक ऑपरेटिंग सिस्टम के संबंध में सिंक्रोनस IO से कैसे भिन्न होता है।
सेतु

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