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`~$
OK! আমি পরে একাধিক ইনস্ট্যান্স সেট আপ করার চেষ্টা করব।
এবং তারপর ইনস্ট্যান্সটি ধ্বংস করব।
terraform destroy
বোনাস: qcow2 ইমেজ পুনরায় বিতরণ
Devuan-এর অফিসিয়াল qcow2 ইমেজের কোনো আপডেটেড সংস্করণ ছিল না, তাই আমি এটি তৈরি করেছি এবং নিচে হোস্ট করে পুনরায় বিতরণ করছি।
এটি সবার প্রিয় বোনাস।
https//files.soulminingrig.com
নিম্নলিখিত তথ্য দিয়ে লগইন করুন:user : taropassword : toor
উল্লেখ্য, পাসওয়ার্ডটি Devuan-এর অফিসিয়াল ডিফল্ট root পাসওয়ার্ডের মতোই রাখা হয়েছে।
তাহলে আবার দেখা হবে। ধন্যবাদ।
উল্লেখ্য, আমি ভুল করে এই নিবন্ধটি দুবার লিখেছি। তেহেপেরো।