VF ভার্টফিউশন বাংলা ডকুমেন্টেশন
English

ফেজ ১ — পরিচিতি ও স্থাপত্য#

৬টি লেসন · লেভেল: শুরুর

VirtFusion কী করে, ভেতরে কীভাবে সাজানো, আর কোন শব্দ কী মানে — এই ফেজেই।

এই ফেজে কী আছে#

লেসনকী শিখবেন
১ — VirtFusion কী, কোন সমস্যার সমাধানশুধু KVM-এর উপরে VirtFusion বাড়তি কী দেয়, আর কী দেয় না
২ — কন্ট্রোল সার্ভার ও হাইপারভাইজারদুই অংশ কী করে, আর কোন পোর্টে একে অন্যের সাথে কথা বলে
৩ — মূল শব্দগুলোর মানেযে শব্দগুলো বাকি ছয় ফেজে বারবার আসবে
৪ — লাইসেন্স ও খরচের হিসাবক্লাস্টারে একটি কী, আর প্রতিটি নোডে VM-এর সীমা
৫ — প্রয়োজনীয় পোর্ট ও নেটওয়ার্ক প্রবাহকোন পোর্ট কোন দিকে খোলা রাখতে হয়
৬ — VirtFusion না Proxmox: প্রথম ধারণাদুইটির উদ্দেশ্য কোথায় আলাদা

লেসন ১ — VirtFusion কী, কোন সমস্যার সমাধান#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: KVM দিয়েই সার্ভার কেটে VPS বানানো যায়। যেটা যায় না, সেটা হলো কাস্টমারকে প্যানেল দেওয়া, IP বিলি করা, ব্যান্ডউইথ গোনা আর বিলিং সিস্টেমের সাথে কথা বলা। VirtFusion ঠিক ওই অংশটাই। এটা KVM-এর উপরে বসে, নিজে হাইপারভাইজার নয়।

সহজ ভাষায়#

আপনার কাছে বেয়ার-মেটাল সার্ভার আছে। আপনি তা ভাগ করে VPS বানিয়ে বিক্রি করতে চান। শুধু KVM দিয়েও করা যায়, কিন্তু তখন সবকিছু নিজে বানাতে হয়: কাস্টমার প্যানেল, IP বরাদ্দ, OS টেমপ্লেট, ব্যান্ডউইথ হিসাব, VNC কনসোল, বিলিং সংযোগ।

VirtFusion ঠিক এই স্তরটিই দেয়। এটি নিজে হাইপারভাইজার নয় — নিচে চলে সাধারণ লিনাক্স KVM (libvirt + QEMU)। VirtFusion তার উপরে বসে ব্যবস্থাপনা, প্যানেল ও API দেয়।

কী কী দেয়#

দেয়মানে
দুই প্যানেলঅ্যাডমিনের জন্য একটি, কাস্টমারের জন্য আরেকটি
VM লাইফসাইকেলতৈরি, বিল্ড, চালু/বন্ধ, রিবিল্ড, রিসাইজ, ডিলিট
IP ব্যবস্থাপনাIPv4/IPv6 ব্লক, স্বয়ংক্রিয় বরাদ্দ, rDNS
OS টেমপ্লেটcloud-init ভিত্তিক Linux ও Windows টেমপ্লেট
কনসোলব্রাউজারে VNC, SSH ছাড়াই
ট্রাফিক হিসাবপ্রতি সার্ভারে ব্যান্ডউইথ গণনা ও সীমা
ব্যাকআপইনক্রিমেন্টাল ব্যাকআপ, একাধিক স্টোরেজ ব্যাকএন্ড
বিলিং সংযোগWHMCS সহ ৭টি বিলিং সিস্টেমের মডিউল
APIপূর্ণ REST API, সব কাজ স্ক্রিপ্ট করা যায়

কী দেয় না#

  • বিলিং নিজে করে না — ইনভয়েস, পেমেন্ট গেটওয়ে, ট্যাক্স আলাদা সিস্টেমের কাজ

(ব্যতিক্রম: Self Service-এর ঘণ্টাভিত্তিক ক্রেডিট, ফেজ ৬ দেখুন)

  • কন্টেইনার চালায় না — LXC/Docker নেই, শুধু পূর্ণ VM
  • নেটওয়ার্ক সুইচ কনফিগ করে না — VLAN, রাউটিং আপনার দায়িত্ব

লেসন ২ — কন্ট্রোল সার্ভার ও হাইপারভাইজার#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: VirtFusion দুই টুকরায় চলে। কন্ট্রোল সার্ভার হলো মাথা, আর সেখানে একটাও VM চলে না। হাইপারভাইজার হলো গায়ের জোর, কাস্টমারের VM ওখানেই থাকে। ক্লাস্টারে একটা কন্ট্রোল সার্ভার, হাইপারভাইজার যত খুশি। এই ভাগটা না বুঝলে বাকি সব ঘোলাটে লাগবে।

সহজ ভাষায়#

VirtFusion দুই অংশে ইনস্টল হয়। এই ভাগটা না বুঝলে বাকি সব গুলিয়ে যাবে।

অংশকী চালায়কয়টি লাগে
কন্ট্রোল সার্ভারওয়েব প্যানেল, API, ডাটাবেস, টাস্ক কিউ১টি। এটাই ক্লাস্টার ঠিক করে দেয়
হাইপারভাইজারKVM, libvirt, আসল VM-গুলোযত ইচ্ছা, যত জায়গায় ইচ্ছা

কন্ট্রোল সার্ভার কোনো VM চালায় না। এটি শুধু নির্দেশ দেয়। হাইপারভাইজার সেই নির্দেশ পালন করে এবং অবস্থা ফেরত জানায়।

"ক্লাস্টারে ১টি" মানে "প্রতি রিজিয়নে ১টি" নয়#

ক্লাস্টার মানে একটি কন্ট্রোল সার্ভার আর সে যত হাইপারভাইজার চালায় তার সবগুলো। ক্লাস্টার ঠিক করে দেয় কন্ট্রোল সার্ভার — ভূগোল নয়।

তাই একটি কন্ট্রোল সার্ভার একই সাথে সিঙ্গাপুর, ফ্রাঙ্কফুর্ট ও ডালাসের নোড চালাতে পারে। সেটা তবুও একটাই ক্লাস্টার, আর একটাই লাইসেন্স। লোকেশনগুলো আলাদা করতে হাইপারভাইজার গ্রুপ ব্যবহার করুন, আর কাস্টমার অর্ডারের সময় গ্রুপ বেছে নেয়।

দ্বিতীয় কন্ট্রোল সার্ভার তখনই লাগে যখন আপনি সত্যিই আলাদা একটা ক্লাস্টার চান — মাপা যায় এমন লেটেন্সির জন্য, ব্যর্থতা আলাদা রাখার জন্য, অথবা আইন বলছে ডেটা এক দেশেই থাকতে হবে বলে। দ্বিতীয় ক্লাস্টার মানে দ্বিতীয় লাইসেন্স।

নোট: এর পরের ব্যাপারটা ফেজ ৫, লেসন ৫-এ আছে। একাধিক ক্লাস্টার চালালে প্রতিটির নিজস্ব বেস URL ও নিজস্ব API টোকেন থাকে, আর কোন সার্ভার কোন ক্লাস্টারের সেটা আপনার অ্যাপ্লিকেশনকে লিখে রাখতে হবে।

যোগাযোগ কীভাবে হয়#

CODE
কাস্টমার ব্রাউজার ──443──▶ কন্ট্রোল সার্ভার
                                │
                                │ 8892 (HTTPS, দুই দিকেই)
                                ▼
                        হাইপারভাইজার ১ … n
                                │
কাস্টমার ব্রাউজার ──5900+─────────┘   (VNC কনসোল)
  • কন্ট্রোল সার্ভার হাইপারভাইজারকে কাজ পাঠায় পোর্ট 8892-এ
  • হাইপারভাইজারও একই পোর্টে ফেরত রিপোর্ট করে — তাই দুই দিকেই খোলা রাখতে হয়
  • VNC কনসোল কাস্টমারের ব্রাউজার থেকে সরাসরি হাইপারভাইজারের 5900+ পোর্টে যায়

একই মেশিনে দুইটাই?#

পরীক্ষার জন্য চলে, কিন্তু সুপারিশ নয়। বিশেষ করে NAT ব্যবহার করলে চলবেই না — প্রক্সি পোর্ট সংঘাত করে (ফেজ ৩, লেসন ৪)।


লেসন ৩ — মূল শব্দগুলোর মানে#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: এটা শব্দের তালিকা। মুখস্থ করার দরকার নেই, শুধু জেনে রাখুন এখানে আছে। পরের ছয়টা ফেজে ঠিক এই শব্দগুলোই ব্যবহার হবে, আর প্রতিটার মানে একদম নির্দিষ্ট।

KVM, হাইপারভাইজার, VM — কোনটা কী#

এই তিনটা শব্দ এমনভাবে ব্যবহার হয় যেন একই জিনিস। আসলে এক নয়, আর গুলিয়ে ফেললে এরপরের সবকিছু অকারণে কঠিন লাগে।

KVM কোনো প্রোগ্রাম নয় যেটা আপনি চালান। এটা Linux কার্নেলের ভেতরের একটা মডিউল, যেটা একটা ফিজিক্যাল CPU-কে অনেকগুলোর মতো আচরণ করতে দেয়। ২০০৭ সাল থেকে এটা Linux-এর সাথেই আসে। কোনো মেশিনে এটা হয় আছে, নয় নেই — আর সেটা নির্ভর করে BIOS-এ VT-x (Intel) বা AMD-V (AMD) চালু আছে কিনা তার উপর। VT-x বা AMD-V না থাকলে KVM নেই, আর কনফিগারেশন দিয়ে এই কথা বদলানো যায় না।

QEMU হলো সেই প্রোগ্রাম যেটা হার্ডওয়্যার সেজে বসে থাকে — ডিস্ক, নেটওয়ার্ক কার্ড, স্ক্রিন। প্রতি VM-এর জন্য একটা QEMU প্রসেস। একা QEMU ধীর, কারণ ও সফটওয়্যার দিয়ে CPU নকল করে। KVM-এর সাথে জুড়লে গেস্টের নির্দেশ আসল CPU-তেই চলে, প্রায় নেটিভ গতিতে। লোকে "KVM ভার্চুয়ালাইজেশন" বলতে এই জোড়াটাই বোঝায়।

libvirt হলো ম্যানেজার। এই ডেমনটাই ওই QEMU প্রসেসগুলো তৈরি করে, চালু করে, বন্ধ করে আর খবর নেয়, আর virsh হলো তার কমান্ড লাইন। কন্ট্রোল সার্ভার বন্ধ থাকা অবস্থায় আপনি যখন নোডে SSH করে হাতে কাস্টমারের VM রিবুট করেন, তখন আসলে libvirt-এর সাথেই কথা বলছেন।

হাইপারভাইজার এখানে কোনো সফটওয়্যার নয়, এটা মেশিন। একটা বেয়ার-মেটাল বাক্স, যাতে KVM সহ কার্নেল, তার সাথে QEMU, libvirt আর VirtFusion এজেন্ট চলছে। প্যানেলে "Hypervisor" মানে ঠিক এটাই — আপনার র‍্যাকের একটা ফিজিক্যাল নোড।

VM হলো একটা গেস্ট। নিজের কার্নেল, নিজের অপারেটিং সিস্টেম, নিজের IP, নিজের রুট পাসওয়ার্ড। VirtFusion একে বলে Server। আর বেচার সময় আপনি বলেন VPS। তিনটা নাম, জিনিস একটাই।

আর VirtFusion এর কোনোটাই নয়। এটা সেই স্তর যেটা হাইপারভাইজারদের কাজের নির্দেশ দেয় আর কাস্টমারকে বোতাম টেপার জায়গা দেয়। নিজে একটাও VM চালায় না।

শব্দআসলে জিনিসটা কীকোথায় থাকে
KVMLinux কার্নেল মডিউল, যেটা আসল CPU ভার্চুয়ালাইজেশন দেয়প্রতিটি হাইপারভাইজারের কার্নেলের ভেতরে
QEMUযে প্রোগ্রাম একটি গেস্টের হার্ডওয়্যার নকল করেহাইপারভাইজারে, প্রতি VM-এ একটি প্রসেস
libvirtযে ডেমন গেস্ট তৈরি, চালু ও বন্ধ করেহাইপারভাইজারে। virsh তার CLI
Hypervisorযে বেয়ার-মেটাল মেশিনে এই তিনটাই একসাথে চলেআপনার র‍্যাকে
VM (Server, VPS)একটি গেস্ট, নিজের OS ও নিজের IP সহএকটি হাইপারভাইজারের ভেতরে
VirtFusionযে প্যানেল ও API হাইপারভাইজারদের নির্দেশ দেয়কন্ট্রোল সার্ভারে

আরেকটা জিনিস অনেকে গুলিয়ে ফেলে: কন্টেইনার (LXC, Docker) কিন্তু VM নয়। কন্টেইনার হোস্টের কার্নেল ভাগ করে নেয়, আর VM নিজের কার্নেল নিয়ে আসে। VirtFusion শুধু VM চালায়। কন্টেইনার লাগলে সেটা Proxmox, আর ফেজ ৭-এ দুইটার তুলনা আছে।

সহজ ভাষায়#

VirtFusion-এ প্রতিটি জিনিসের একটি নির্দিষ্ট নাম আছে। এই টেবিলটি মুখস্থ না হলেও বারবার ফিরে দেখুন — বাকি ছয়টি ফেজ এই শব্দেই লেখা।

শব্দমানে
Hypervisorএকটি বেয়ার-মেটাল নোড, যেখানে VM চলে
Clusterএকটি কন্ট্রোল সার্ভার আর সে যত হাইপারভাইজার চালায় তার সবগুলো। এটি একাধিক রিজিয়ন জুড়ে থাকতে পারে
Hypervisor Groupকয়েকটি হাইপারভাইজারের দল — সাধারণত এক লোকেশন = এক গ্রুপ
Server Distributionগ্রুপের ভেতরে নতুন VM কোন নোডে বসবে, তার নিয়ম
Packageরিসোর্স প্ল্যান: vCPU, RAM, ডিস্ক, ট্রাফিক, IP সংখ্যা
Serverএকটি VM
TemplateOS ইমেজ (cloud-init প্রস্তুত), যা থেকে সার্ভার বিল্ড হয়
Mediaটেমপ্লেট ও ISO রাখার জায়গা
IP BlockIPv4 বা IPv6 রেঞ্জ, যা হাইপারভাইজারে বরাদ্দ হয়
Userকাস্টমার অ্যাকাউন্ট
extRelationIdআপনার নিজের সিস্টেমের ইউজার আইডি, VirtFusion ইউজারের সাথে জোড়া
Provisionerপ্রথম বুটে চলা স্ক্রিপ্ট (bash/python/cloud-init)
Queue / Taskপটভূমির কাজ — বিল্ড, রিবুট, ব্যাকআপ সব এখানেই সারিবদ্ধ হয়
Self Serviceকাস্টমার নিজেই সার্ভার বানাবে-মুছবে, এমন ব্যবস্থা
Resource PackSelf Service-এর জন্য কাস্টমারকে দেওয়া রিসোর্স কোটা
AssetGPU বা USB-এর মতো হার্ডওয়্যার, যা VM-এ পাসথ্রু হয়
Elevateসার্ভারে অস্থায়ী পরিবর্তন — পরে commit বা discard

extRelationId — সবচেয়ে গুরুত্বপূর্ণ ধারণা#

আপনার নিজের অ্যাপ বা WHMCS-এর ইউজার আইডি VirtFusion-এ extRelationId হিসেবে রাখুন। তাহলে VirtFusion-এর ভেতরের ইউজার আইডি মনে রাখতে হয় না — নিজের আইডি দিয়েই খুঁজে নেওয়া যায়:

CODE
GET /api/v1/users/{আপনার-সিস্টেমের-user-id}/byExtRelation

নিয়ম: নিজের ডাটাবেসে VirtFusion-এর ইউজার আইডি প্রাইমারি কী হিসেবে রাখবেন না। নিজের আইডি আর VirtFusion ইউজারের মধ্যে extRelationId-ই একমাত্র নির্ভরযোগ্য যোগসূত্র। ইউজার মুছে আবার তৈরি হলে ভেতরের আইডি বদলায়, আপনার আইডি বদলায় না।


লেসন ৪ — লাইসেন্স ও খরচের হিসাব#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: একটা কী দিয়েই পুরো ক্লাস্টার চলে, আর সেটা কন্ট্রোল সার্ভারের সাথে বাঁধা। তবে প্রতিটা হাইপারভাইজারের জন্য একটা টিয়ার লাগে, যেটা ঠিক করে ওই নোডে কয়টা VM চলবে। টিয়ার মিশিয়ে ব্যবহার করা যায় — বড় নোডে Unlimited, ছোট টেস্ট নোডে ৫।

কন্ট্রোল সার্ভারের License পেজ। লাইসেন্স একটি IP-তে বাঁধা থাকে, আর প্রতিটি হাইপারভাইজারের জন্য নির্দিষ্ট সংখ্যক সার্ভার স্লট দেয়।
কন্ট্রোল সার্ভারের License পেজ। লাইসেন্স একটি IP-তে বাঁধা থাকে, আর প্রতিটি হাইপারভাইজারের জন্য নির্দিষ্ট সংখ্যক সার্ভার স্লট দেয়।

সহজ ভাষায়#

লাইসেন্স প্রতি ক্লাস্টারে একটি — অর্থাৎ কন্ট্রোল সার্ভারের সাথে যুক্ত থাকে। হাইপারভাইজার যতগুলোই হোক, কী একটিই লাগে। তবে প্রতিটি হাইপারভাইজারের জন্য আলাদা স্তর (tier) বেছে নিতে হয়।

স্তরওই হাইপারভাইজারে সর্বোচ্চ VM
Unlimitedসীমা নেই
35 servers৩৫টি
5 servers৫টি
1 server১টি
Branding RemovalVirtFusion-এর ব্র্যান্ডিং সরায় (অ্যাড-অন)

একই লাইসেন্সে ভিন্ন ভিন্ন স্তর একসাথে ব্যবহার করা যায় — যেমন বড় নোডে Unlimited, ছোট টেস্ট নোডে 5।

বাস্তব বিষয়গুলো#

  • আপগ্রেড/ডাউনগ্রেড অ্যাকাউন্ট পোর্টাল থেকে যেকোনো সময় (বকেয়া ইনভয়েস না থাকলে)
  • লাইসেন্স কন্ট্রোল সার্ভারে লক হয়ে যায়। নতুন সার্ভারে নিতে হলে re-issue করতে হয়,

এবং re-issue-এর সংখ্যা সীমিত

  • একই তথ্য দিয়ে একাধিক অ্যাকাউন্ট খুললে স্বয়ংক্রিয় বাতিল হতে পারে

সতর্কতা: কন্ট্রোল সার্ভারের ঘড়ি ৬০ সেকেন্ডের বেশি এদিক-ওদিক হলে লাইসেন্স যাচাই ব্যর্থ হয়। NTP চালু রাখুন — chronyc বা ntpdate দিয়ে মিলিয়ে নিন।


লেসন ৫ — প্রয়োজনীয় পোর্ট ও নেটওয়ার্ক প্রবাহ#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: কন্ট্রোল সার্ভারে ৮০ আর ৪৪৩ ঢুকতে দিন, প্রতিটা হাইপারভাইজারে ৮৮৯২ দুই দিকে, আর কনসোলের জন্য ৫৯০০+। মূল কথা হলো প্রতিটা হাইপারভাইজারে UFW আগে থেকেই চালু থাকে। VM-এ ইন্টারনেট না আসার পেছনে ওটাই সবচেয়ে বড় কারণ।

পোর্ট তালিকা#

উপাদানপোর্টপ্রোটোকলদিককাজ
কন্ট্রোল সার্ভার80HTTPইনবাউন্ডSSL সার্টিফিকেট নেওয়া (ACME)
কন্ট্রোল সার্ভার443HTTPSইনবাউন্ডপ্যানেল ও API
হাইপারভাইজার8892HTTPSদুই দিকেইকন্ট্রোল ↔ হাইপারভাইজার যোগাযোগ
হাইপারভাইজার5900+VNCইনবাউন্ডকনসোল, প্রতি সেশনে একটি পোর্ট

হাইপারভাইজারে ডিফল্টে UFW ইনস্টল ও চালু থাকে। নিয়ম যোগ করার সময় মনে রাখুন।

সতর্কতা: VM ইন্টারনেট পাচ্ছে না অথচ হোস্ট পাচ্ছে — সবচেয়ে সাধারণ কারণ UFW রাউট করা প্যাকেট আটকাচ্ছে। সমাধান হাইপারভাইজারে:

BASH
ufw default allow routed

সাধারণ ভুল#

  • ৮৮৯২ শুধু একদিকে খোলা → হাইপারভাইজার "commissioned" দেখায় না
  • ৫৯০০+ ব্লক → কনসোল কালো পর্দা
  • কন্ট্রোল সার্ভারের IP বদলেছে অথচ হাইপারভাইজার জানে না → 401 এরর

(সমাধান ফেজ ৭, লেসন ৩)


লেসন ৬ — VirtFusion না Proxmox: প্রথম ধারণা#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: দুটোই KVM চালায়, তাই প্রশ্নটা কোনটা শক্তিশালী তা নয়। প্রশ্ন হলো আপনি কী করছেন। কাস্টমারের কাছে VPS বেচলে VirtFusion। নিজের সার্ভার চালালে Proxmox। সিদ্ধান্তটা এটুকুই।

সহজ ভাষায়#

দুইটিই KVM চালায়। পার্থক্য উদ্দেশ্যে।

VirtFusionProxmox VE
কাদের জন্যহোস্টিং প্রোভাইডার, মাল্টি-টেন্যান্টসিসঅ্যাডমিন, নিজের অবকাঠামো
কাস্টমার প্যানেলআছে, শুরু থেকেইনেই (সবাই অ্যাডমিন-মুখী UI দেখে)
কন্টেইনারনেইLXC আছে
স্টোরেজlocal, Ceph, StorPool, Lightbits, remote FSLVM, ZFS, Ceph, NFS, iSCSI
ক্লাস্টারিংকন্ট্রোল সার্ভার + নোড (quorum লাগে না)Corosync quorum, QDevice
HA ফেইলওভারনেই (নোড নষ্ট হলে ম্যানুয়াল/DR)আছে (fencing দরকার)
বিলিং সংযোগ৭টি বিলিং সিস্টেমের মডিউলনেই
লাইসেন্সবাণিজ্যিক, ক্লাস্টারপ্রতিফ্রি (সাবস্ক্রিপশন ঐচ্ছিক)

মোদ্দা কথা: VPS বিক্রি করলে VirtFusion, নিজের সার্ভার চালালে Proxmox। বিস্তারিত তুলনা ও মাইগ্রেশন পথ ফেজ ৭-এ।


ফেজ ১ শেষে আপনি যা পারবেন#

  • VirtFusion কী দেয়, কী দেয় না — আলাদা করা
  • কন্ট্রোল সার্ভার ও হাইপারভাইজারের ভূমিকা বলা
  • প্রতিটি মূল শব্দের মানে জানা
  • লাইসেন্স কীভাবে হিসাব করা হয় বোঝা
  • কোন পোর্ট কেন লাগে জানা

পরবর্তী: ফেজ ২ — ইনস্টলেশন