Devuan की qcow2 इमेज बनाकर Terraform से वर्चुअल वातावरण शुरू करना, बोनस के साथ
नमस्ते, मैं अक्षम हूँ। Terraform पर ज़्यादा लेख नहीं थे, इसलिए मैंने इसे लिखने का फैसला किया।
पृष्ठभूमि
मैंने Terraform का नाम बहुत सुना था, लेकिन मुझे इसका ज़्यादा अंदाज़ा नहीं था, इसलिए मैंने इसे आज़माने का सोचा।
इसके अलावा, चूंकि qemu की वर्चुअल डिस्क इमेज, यानी qcow2 इमेज का भी उपयोग किया जा सकता है, तो मैंने सोचा कि यह मेरे अपने वातावरण में भी काम कर सकता है।
अगर यह हो जाए, तो इसे मेरे वर्तमान प्रोडक्शन सर्वर के लिए एक परीक्षण वातावरण के रूप में आसानी से इस्तेमाल किया जा सकता है। मेरा होम सर्वर, जिसे मैंने हल्के-फुल्के अंदाज़ में शुरू किया था, अब काफी हद तक चालू हो गया है, इसलिए मैं जितना हो सके उतना अपटाइम बढ़ाना चाहता हूँ, और वर्चुअल वातावरण को आसानी से डिप्लॉय कर पाना बहुत मददगार होगा।
किसी न किसी तरह, वर्चुअल वातावरण वर्चुअल वातावरण ही हैं, और मुझे लगता था कि वे परेशानी भरे हैं... और मैं उन्हें टालता रहा, लेकिन Terraform के कारण, मुझे लगा कि यह धारणा बदल सकती है, इसलिए मैं इसे कर रहा हूँ।
परेशानी यह है कि मुझे virsh और qemu के सभी विकल्पों को याद रखना पड़ता है, और qemu को शुरू करने के विकल्प भी परेशानी भरे हैं। मैं इसे Terraform से हल करना चाहता हूँ।
qcow2 इमेज बनाना
सबसे पहले, हम Devuan की qcow2 इमेज बनाएंगे।
wget https://files.devuan.org/devuan_daedalus/installer-iso/devuan_daedalus_5.0.1_i386_netinstall.iso
qemu-img create -f qcow2 devuan.qcow2 10G
sudo chown libvirt-qemu:libvirt-qemu devuan.qcow2 devuan_daedalus_5.0.1_i386_netinstall.iso
sudo chmod 644 devuan.qcow2 devuan_daedalus_5.0.1_i386_netinstall.iso
sudo virt-install --name devuan --ram 1024 --disk path=./devuan.qcow2,size=10 --vcpus 1 --os-type linux --os-variant debian10 --network bridge=virbr0 --graphics vnc --console pty,target_type=serial --cdrom devuan_daedalus_5.0.1_i386_netinstall.iso
इससे इंस्टॉलेशन प्रगति पर होने का संकेत मिलेगा, इसलिए कनेक्ट करें और इंस्टॉलेशन पूरा करें।
sudo virt-viewer --connect qemu:///system devuan


यह थोड़ा जटिल है, लेकिन यह स्क्रीन ThinkPad X1 - VNC (जिस पर मैं काम कर रहा हूँ) → मेरे कस्टम-बिल्ट पीसी पर ArtixLinux - virt-viewer → वर्चुअल वातावरण पर Devuan की स्क्रीन है।
यदि आप इंस्टॉलेशन के बाद किसी इमेज को संपादित करना चाहते हैं,
sudo qemu-system-x86_64 -m 2G -smp 2 -drive file=devuan.qcow2,format=qcow2 -net nic -net user -vnc `0 -enable-kvm
से VNC पोर्ट 5900 पर कनेक्ट करें।
vncviewer 192.168.10.100:5900
अब qcow2 इमेज तैयार है।
Terraform कॉन्फ़िगरेशन और स्टार्टअप
मैंने vim main.tf में निम्नलिखित लिखा है।
terraform {
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
version = "~> 0.7.1"
}
}
}
provider "libvirt" {
uri = "qemu:///system"
}
resource "libvirt_volume" "devuan_qcow2" {
name = "devuan.qcow2"
source = "./devuan.qcow2"
format = "qcow2"
}
resource "libvirt_domain" "devuan_vm" {
name = "devuan-vm-new"
memory = "1024"
vcpu = 2
network_interface {
network_name = "default"
}
disk {
volume_id = libvirt_volume.devuan_qcow2.id
}
console {
type = "pty"
target_port = "0"
target_type = "serial"
}
graphics {
type = "vnc"
listen_type = "address"
}
}
अब इसे शुरू करते हैं।
terraform init
terraform plan
terraform apply
और एक बार यह शुरू हो जाए, तो वर्चुअल वातावरण में लॉग इन करें। IP की पुष्टि करें।
$ sudo virsh domifaddr devuan-vm-new
नाम MAC पता प्रोटोकॉल पता
-------------------------------------------------------------------------------
vnet13 52`54`00`0a`e9`bc ipv4 192.168.122.216/24
पुष्टि हो गई। तो, लॉग इन करते हैं।
$ ssh -l taro 192.168.122.216
The authenticity of host '192.168.122.216 (192.168.122.216)' can't be established.
ED25519 key fingerprint is SHA256`VAjob/o7gQXvmeNUodajSfdBky0eXd0RTwomP1wHtWk.
This host key is known by the following other names/addresses`
~/.ssh/known_hosts`5` 192.168.122.83
~/.ssh/known_hosts`6` 192.168.122.163
~/.ssh/known_hosts`7` 192.168.122.162
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning` Permanently added '192.168.122.216' (ED25519) to the list of known hosts.
taro@192.168.122.216's password`
Linux devuan 6.1.0-25-686 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) i686
The programs included with the Devuan GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Devuan GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
taro@devuan`~$
ठीक है! मैं बाद में कई इंस्टेंस बनाने की कोशिश करूँगा।
और फिर मैं इंस्टेंस को नष्ट कर दूँगा।
terraform destroy
बोनस: qcow2 इमेज का पुनर्वितरण
Devuan की आधिकारिक qcow2 इमेज का नवीनतम संस्करण उपलब्ध नहीं था, इसलिए मैंने इसे इस बार बनाया है, और मैं इसे नीचे होस्ट और पुनर्वितरित कर रहा हूँ।
यह सभी का पसंदीदा बोनस है।
https://files.soulminingrig.com/
कृपया नीचे लॉग इन करें।
यूज़र : taro
पासवर्ड : toor
ध्यान दें कि पासवर्ड Devuan के आधिकारिक डिफ़ॉल्ट root पासवर्ड के समान है।
तो, फिर मिलेंगे। धन्यवाद।
वैसे, मैंने गलती से यह लेख उड़ा दिया था और इसे दूसरी बार लिख रहा हूँ। तेहेपेरो।