मैंने केवीएम के आधार पर कई लिनक्स होस्ट के साथ एक वातावरण बनाया है। मैं विभिन्न वीएम बनाने के लिए virt-manager का उपयोग कर रहा हूं और मैं विभिन्न होस्टों में वीएम के बीच कनेक्टिविटी बनाने के लिए लिनक्स पुलों का उपयोग कर रहा हूं।क्या मैं ओपनस्टैक या ईसी 2 का उपयोग किए बिना क्लाउड-इनिट वातावरण चला सकता हूं?
अब, मैं एक ऑटो-कॉन्फ़िगरेशन सर्वर चाहता हूं ताकि मेरे वीएम उनके नाम, आईपी पते, कुछ स्क्रिप्ट चलाएं, आदि को एक अद्वितीय आईडी के आधार पर स्वत: कॉन्फ़िगर कर सकें। क्या गैर-ओपनस्टैक वातावरण में क्लाउड-इनिट सेटअप की तरह एक प्रतिलिपि बनाना संभव है?
मैंने निम्नलिखित तरीके से डेटास्रोत NoCloud क्लाउड-इनिट का उपयोग करने का प्रयास किया है। सबसे पहले, मैं वी एम में क्लाउड-init स्थापित और कॉन्फ़िगर किया cloud.cfg:
उपयोगकर्ता-:
datasource:
NoCloud
datasource_list: [ NoCloud ]
disable_ec2_metadata: True
फिर, मैं एक उपयोगकर्ता के डेटा फ़ाइल और निम्नलिखित सामग्री के साथ मेटा डेटा फ़ाइल बनाई है डेटा:
#cloud-config
hostname: prueba
password: passw0rd
chpasswd: { expire: False }
ssh_pwauth: True
मेटा डेटा: एक आईएसओ फ़ाइल
instance-id: iid-local01
local-hostname: prueba
फिर, मैं पैदा किया:
genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
अंत में, मैंने डिस्क को वीएम से जोड़ा है और इसे शुरू किया है।
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/opt/images/seed.iso'/>
<backingStore/>
<target dev='vdb' bus='virtio'/>
<alias name='virtio-disk1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
जब वी एम शुरू होता है, यह कहना है::
2015-05-12 12:12:40,394 - util.py[WARNING]: Getting data from <class 'cloudinit.sources.DataSourceNoCloud.DataSourceNoCloudNet'> failed
* Stopping Read required files in advance (for other mountpoints) [ OK ]
* Stopping Read required files in advance (for other mountpoints) [ OK ]
* Stopping Read required files in advance (for other mountpoints) [ OK ]
2015-05-12 12:12:48,808 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [3/120s]: request error [HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /2009-04-04/meta-data/instance-id (Caused by <class 'socket.error'>: [Errno 113] No route to host)]
यह काम करने के बारे में कोई सुझाव यह XML के प्रासंगिक हिस्सा है?
/etc/cloud/cloud.cfg में डेटा स्रोत मेरे लिए ठीक से काम नहीं कर पाए। मैंने 'dpkg-reconfigure क्लाउड-इनिट' चलाया है और नोक्लाउड डेटासोर्स निर्दिष्ट किया है। उपयोगकर्ता के डेटा और मेटा डेटा के साथ छवि पैदा करने के लिए प्रक्रिया भी कुछ भिन्न था: truncate --size 2 एम init.img mkfs.vfat -n cidata init.img mcopy -oi init1.img उपयोगकर्ता-डेटा मेटा-डेटा :: – garciadeblas
मैंने एक नई डिस्क डाली और परिणाम वीएम के एक्सएमएल libvirt डोमेन डिस्क्रिप्टर में इस तरह था: <डिस्क प्रकार = 'फ़ाइल' डिवाइस = 'डिस्क'> <ड्राइवर नाम = ' qemu 'type =' raw 'cache =' none '/> <स्रोत फ़ाइल ='/images/init।img '/> –
garciadeblas
ऊपरी कॉन्फ़िगरेशन के साथ, मैं कुछ क्लाउड कॉन्फ़िगर कमांड ठीक से काम कर सकता हूं (पासवर्ड और होस्टनाम सेट कर रहा हूं), जबकि रनकएमडी या write_files जैसे अन्य अभी तक काम न करें – garciadeblas