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

ফেজ ৪ — দৈনন্দিন অ্যাডমিন#

১১টি লেসন · লেভেল: মধ্যম

প্যানেল চালু হয়ে গেছে। এখন আসল কাজ — টেমপ্লেট, প্যাকেজ, কাস্টমার, সার্ভার, ব্যাকআপ।

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

লেসনকী শিখবেন
১ — OS টেমপ্লেট ও মিডিয়াটেমপ্লেট, কাস্টম ISO ও Windows প্রস্তুত করা
২ — প্যাকেজ (রিসোর্স প্ল্যান)বিক্রয়যোগ্য প্ল্যান বানানো
৩ — ইউজার তৈরি ও extRelationIdনিজের সিস্টেমের আইডির সাথে কাস্টমার মেলানো
৪ — সার্ভার তৈরি ও বিল্ডকাজটি কেন দুই ধাপে হয়
৫ — সার্ভারের দৈনন্দিন কাজপাওয়ার, রিবিল্ড, পাসওয়ার্ড ও ট্রাফিক রিসেট
৬ — মাইগ্রেশন: hybrid ও liveকোন সার্ভার কোন পথে অন্য নোডে যাবে
৭ — Elevate: ঝুঁকি ছাড়া পরীক্ষাপরিবর্তন করে পরে commit বা discard
৮ — Backup Manager (v7)ইনক্রিমেন্টাল ও এনক্রিপ্টেড ব্যাকআপ বসানো
৯ — ইউজার ব্যাকআপ ও ডিজাস্টার রিকভারিকাস্টমারের ব্যাকআপ, আর নোড নষ্ট হলে করণীয়
১০ — পুরনো KVM সার্ভার ইমপোর্টঅন্য প্যানেল থেকে VM নিজে হাতে সরিয়ে আনা
১১ — মেইলআউট, লোকালাইজেশন ও ট্রাফিকঘোষণা পাঠানো, ভাষা ও ব্যান্ডউইথ হিসাব

লেসন ১ — OS টেমপ্লেট ও মিডিয়া#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: টেমপ্লেট মানে আগে থেকে বানানো OS ইমেজ। কাস্টমার "Ubuntu 24.04" বাছলে VirtFusion ওই টেমপ্লেট কপি করে, আর cloud-init ভেতরে হোস্টনেম, IP, পাসওয়ার্ড ও SSH কী লিখে দেয়। ইমেজে cloud-init না থাকলে এর কিছুই লেখা হয় না।

সহজ ভাষায়#

টেমপ্লেট হলো তৈরি OS ইমেজ। কাস্টমার "Ubuntu 24.04" বাছলে VirtFusion ওই টেমপ্লেট কপি করে, cloud-init দিয়ে হোস্টনেম, IP, পাসওয়ার্ড ও SSH কী বসিয়ে দেয়।

Media → Templates থেকে টেমপ্লেট ব্যবস্থাপনা হয়। টেমপ্লেট গ্রুপে সাজানো যায় (Linux / Windows / Panels ইত্যাদি)।

যা মনে রাখবেন#

বিষয়কারণ
cloud-init থাকতেই হবেনা থাকলে IP ও পাসওয়ার্ড বসবে না
QEMU guest agent রাখুনভেতরের IP, ভদ্র শাটডাউন, ফাইল সিস্টেম ফ্রিজ
টেমপ্লেট হালকা রাখুনক্লোন দ্রুত হয়, ডিস্ক বাঁচে
নিয়মিত হালনাগাদ করুনকাস্টমার প্রথম বুটেই ১০০টা প্যাচ টানবে না

কাস্টম ISO#

কাস্টমার নিজের ISO থেকে ইনস্টল করতে চাইলে VirtFusion দূরবর্তী সার্ভার থেকে ISO স্ট্রিম করতে পারে — ISO-এর URL দিলেই হয়। বড় ISO আগে থেকে হোস্ট করে রাখুন।

নিজের আইকন#

সর্বোচ্চ ২০টি নিজস্ব আইকন (লোগো) যোগ করা যায়, রাখতে হয় /opt/virtfusion/app/control/public/img/logo-তে। নিজের ব্র্যান্ডের OS ইমেজ থাকলে কাজে লাগে।

Windows টেমপ্লেট#

Windows-এর জন্য আলাদা যত্ন লাগে:

  • VirtIO ড্রাইভার টেমপ্লেটে আগে থেকেই থাকতে হবে
  • Cloudbase-Init (Windows-এর cloud-init) বসাতে হবে
  • Hyper-V enlightenments চালু রাখলে পারফরম্যান্স অনেক ভালো হয়

Cloudbase-Init-এর লগ: C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\cloudbase-init


লেসন ২ — প্যাকেজ (রিসোর্স প্ল্যান)#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: প্যাকেজই আসলে আপনি যেটা বেচেন — vCPU, RAM, ডিস্ক, ট্রাফিক। প্রতিটা সার্ভার একটা প্যাকেজ থেকেই বানানো হয়। এখানকার সংখ্যাগুলো ঠিক থাকলে প্যানেলের বাকিটা মোটামুটি নিজেই সামলে যায়।

Create Package ডায়ালগ। নতুন প্যাকেজ শুধু একটি নাম দিয়ে শুরু হয়। রিসোর্স পরের পেজে সেট করতে হয়।
Create Package ডায়ালগ। নতুন প্যাকেজ শুধু একটি নাম দিয়ে শুরু হয়। রিসোর্স পরের পেজে সেট করতে হয়।
প্যাকেজের General ও CPU অংশ। Priority একটি আপেক্ষিক ওজন। 2048 মান 1024-এর দ্বিগুণ CPU সময় পায়।
প্যাকেজের General ও CPU অংশ। Priority একটি আপেক্ষিক ওজন। 2048 মান 1024-এর দ্বিগুণ CPU সময় পায়।
প্যাকেজের Backups ও Misc অংশ। Machine Type ও CPU Model হাইপারভাইজারের সেটিং থেকে নিতে পারে।
প্যাকেজের Backups ও Misc অংশ। Machine Type ও CPU Model হাইপারভাইজারের সেটিং থেকে নিতে পারে।

সহজ ভাষায়#

প্যাকেজ হলো আপনার বিক্রয় পরিকল্পনা — কত vCPU, কত RAM, কত ডিস্ক, কত ট্রাফিক। সার্ভার সবসময় কোনো একটি প্যাকেজ থেকে তৈরি হয়।

Admin → Packages → Create

প্যাকেজে যা থাকে#

ক্ষেত্রমন্তব্য
CPU coresvCPU সংখ্যা
CPU throttleশতাংশে CPU সীমা (ওভারসেল সামলাতে)
MemoryRAM (MB)
Storageপ্রাথমিক ডিস্ক (GB)
Trafficমাসিক ব্যান্ডউইথ (GB), ০ = সীমাহীন
Network speedইনবাউন্ড/আউটবাউন্ড গতি সীমা
IPv4 countকতটি IPv4 বসবে
Backup planকোন ব্যাকআপ পরিকল্পনা যুক্ত হবে
Asset groupGPU ইত্যাদি অ্যাসেট

বাস্তব পরামর্শ#

  • প্যাকেজের নামে রিসোর্স লিখুন (VPS-2C-4G-80N) — বিলিং সিস্টেমে মেলাতে সহজ
  • বিলিং মডিউলে প্যাকেজের ID লাগে, নাম নয়। ID লিখে রাখুন
  • CPU throttle দিয়ে ওভারসেল সামলান — একজন কাস্টমার পুরো নোড খেয়ে ফেলতে পারবে না

লেসন ৩ — ইউজার তৈরি ও extRelationId#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: প্রতি কাস্টমারের জন্য একটা VirtFusion ইউজার, আর তাতে নিজের ডাটাবেসের id বসিয়ে দিন extRelationId হিসেবে। তাহলে পরে নিজের দিক থেকেই খুঁজে পাবেন। VirtFusion-এর id কখনো নিজের প্রাইমারি কী বানাবেন না।

সহজ ভাষায়#

প্রতিটি কাস্টমারের জন্য একটি VirtFusion ইউজার। বিলিং সিস্টেম বা আপনার নিজের অ্যাপ এই ইউজার তৈরি করে এবং নিজের আইডি extRelationId-তে বসিয়ে দেয়।

CODE
আপনার অ্যাপের users.id = 4821
        │
        ▼
VirtFusion user (extRelationId = 4821, নিজস্ব id = 93)

পরে সেই ইউজার খুঁজতে নিজের আইডিই যথেষ্ট:

CODE
GET /api/v1/users/4821/byExtRelation

নিয়ম#

  1. প্রতি কাস্টমারে একটি VirtFusion ইউজার — বেশি নয়
  2. extRelationId একবার বসিয়ে আর বদলাবেন না
  3. হাতে তৈরি ইউজারে extRelationId বসাতে ভুলবেন না, নইলে SSO লগইন ভাঙবে

সতর্কতা: WHMCS মডিউলে "Oops! Something went wrong" এরর সাধারণত তিনটি কারণে আসে। এক, HTTPS ঠিক নেই। দুই, VirtFusion অ্যাডমিন অ্যাকাউন্ট দিয়ে কাস্টমার-লগইন চেষ্টা করা হয়েছে। তিন, হাতে তৈরি ইউজারে extRelationId ম্যাপিং নেই।


লেসন ৪ — সার্ভার তৈরি ও বিল্ড#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: সার্ভার বানানো এক ধাপ নয়, দুই ধাপ। Create রিসোর্স আর IP আটকে রাখে। Build আসলে OS বসায়। প্যানেলে জোড়াটা দেখা যায় না বলে এক বাটন মনে হয়, কিন্তু API-তে দুইটা কল করতেই হয় — এখানেই বেশিরভাগ লোক আটকায়।

দুই ধাপ#

VirtFusion-এ সার্ভার তৈরি হয় দুই ধাপে — এটি না জানলে API-তে বিভ্রান্তি হয়।

ধাপকী হয়
১. Createসার্ভারের রেকর্ড তৈরি হয়, রিসোর্স ও IP বরাদ্দ হয়। OS বসে না
২. Buildটেমপ্লেট কপি হয়, cloud-init চলে, VM চালু হয়

প্যানেলে দুই ধাপ একসাথে দেখা যায়, কিন্তু API-তে আলাদা কল (POST /servers, তারপর POST /servers/{id}/build)। বিস্তারিত ফেজ ৫-এ।

বিল্ডের সময় যা দেওয়া হয়#

  • OS টেমপ্লেট
  • হোস্টনেম
  • root পাসওয়ার্ড (বা কাস্টমারের SSH কী)
  • ঐচ্ছিক: প্রভিশনার স্ক্রিপ্ট

প্রভিশনার#

প্রভিশনার হলো প্রথম বুটে চলা স্ক্রিপ্ট — bash, python, PowerShell বা cloud-init YAML।

  1. Server → Provisioners-এ স্ক্রিপ্ট তৈরি করুন
  2. Media → Templates-এ টেমপ্লেটের সাথে যুক্ত করুন
  3. ওই টেমপ্লেট দিয়ে সার্ভার হলে স্ক্রিপ্ট নিজে থেকেই চলে

সার্ভারের ভেরিয়েবল (হোস্টনেম, IP ইত্যাদি) স্ক্রিপ্টে ইনজেক্ট করা যায়।

কাজে লাগে: ফায়ারওয়াল বসানো, মনিটরিং এজেন্ট, নিজস্ব SSH ব্যানার, প্যানেল ইনস্টল।

ডিবাগ: স্ক্রিপ্ট ব্যর্থ হলে সার্ভারের ভেতরে দেখুন — /var/log/cloud-init.log ও /var/log/cloud-init-output.log।


লেসন ৫ — সার্ভারের দৈনন্দিন কাজ#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: এটাই রোজকার কাজ। চালু, বন্ধ, রিবিল্ড, রিসাইজ, পাসওয়ার্ড রিসেট, বিল না দিলে সাসপেন্ড। সবই প্যানেল বা API দিয়ে হয়। শুধু মনে রাখবেন রিবিল্ড ডিস্ক মুছে দেয়।

অ্যাডমিন ড্যাশবোর্ড। কার্ডগুলো সার্ভার সংখ্যা, সিস্টেমের অবস্থা, IPv4 পুল ও সক্রিয় ইউজার দেখায়।
অ্যাডমিন ড্যাশবোর্ড। কার্ডগুলো সার্ভার সংখ্যা, সিস্টেমের অবস্থা, IPv4 পুল ও সক্রিয় ইউজার দেখায়।
Step Up Authentication। সংবেদনশীল কাজের আগে VirtFusion অ্যাডমিনের পাসওয়ার্ড আবার চায়।
Step Up Authentication। সংবেদনশীল কাজের আগে VirtFusion অ্যাডমিনের পাসওয়ার্ড আবার চায়।

কাজের তালিকা#

কাজকোথায় / কীভাবে
চালু / বন্ধ / রিবুটপ্যানেল বা API /servers/{id}/power/{action}
রিবিল্ড (OS পুনরায়)Build আবার চালানো — ডিস্ক মুছে যায়
রিসাইজCPU, RAM, ট্রাফিক আলাদা আলাদা বদলানো যায়
root পাসওয়ার্ড রিসেটপ্যানেল বা API /servers/{id}/resetPassword
সাসপেন্ড / আনসাসপেন্ডবিল না দিলে সাসপেন্ড; ডিস্ক থাকে, সার্ভার বন্ধ
ট্রাফিক দেখাপ্রতি সার্ভারে মাসিক হিসাব
ডিলিটরিসোর্স ও IP ফেরত আসে

ভুলে ডিলিট ঠেকানো#

গুরুত্বপূর্ণ সার্ভারে "do not disturb" চালু রাখুন:

BASH
vfcli-ctrl server:dnd enable SERVER_ID
vfcli-ctrl server:dnd disable SERVER_ID

শেষ পাসওয়ার্ড দেখা#

BASH
vfcli-ctrl server:password show SERVER_ID

ট্রাফিক হিসাব রিসেট#

BASH
vfcli-ctrl server:traffic-statistics reset-all
vfcli-ctrl server:traffic-statistics reset-all --include-datastore

সতর্কতা: --include-datastore দিলে পুরনো ট্রাফিক ইতিহাসও মুছে যায়। বিলিং বিতর্কে প্রমাণ থাকবে না। খুব দরকার ছাড়া ব্যবহার করবেন না।

সেটিংস কোথায় থাকে#

সাইডবারের Settings-এ ছয়টি ট্যাব আছে। একটি ফিল্ড খুঁজতে যেন ছয়টি ট্যাবই খুলতে না হয়, তাই কোনটি কী নিয়ন্ত্রণ করে এই তালিকায় দেওয়া হলো।

ট্যাবকী নিয়ন্ত্রণ করে
Generalকোম্পানির নাম, গ্রাহককে দেখানো লিংক, ক্যাপচা, মেইনটেন্যান্স মোড ও ভাষা
Emailমেইল ট্রান্সপোর্ট ও প্রেরক
Look & Feelথিম, লোগো ও রঙ
Virtualizationনতুন সার্ভারের ডিফল্ট মান
SecurityAdmin IP Restrict (শুধু পড়া যায়, নিচে দেখুন)
Otherসিস্টেম ও VNC-এর websocket পোর্ট ও পাথ
Settings-এর General ট্যাব। কোম্পানির নাম, ক্যাপচা, মেইনটেন্যান্স মোড ও ডিফল্ট ভাষা এখানে থাকে।
Settings-এর General ট্যাব। কোম্পানির নাম, ক্যাপচা, মেইনটেন্যান্স মোড ও ডিফল্ট ভাষা এখানে থাকে।

নোট: ক্যাপচা ডিফল্টে বন্ধ থাকে। VirtFusion সমর্থন করে Google reCAPTCHA v2, Cloudflare Turnstile, hCaptcha ও MTCaptcha।

Admin IP Restrict শুধু CLI দিয়ে হয়#

Security ট্যাব বর্তমান অবস্থা ও ঠিকানাগুলো দেখায়, কিন্তু সেখান থেকে বদলানো যায় না। VirtFusion ইচ্ছা করেই এটি করেছে, যেন চুরি হওয়া ব্রাউজার সেশন দিয়ে নতুন ঠিকানার জন্য অ্যাডমিন এলাকা খুলে দেওয়া না যায়।

Settings-এর Security ট্যাব। ব্রাউজার এই তালিকা বদলাতে পারে না, তাই পেজটি CLI কমান্ড দেখায়।
Settings-এর Security ট্যাব। ব্রাউজার এই তালিকা বদলাতে পারে না, তাই পেজটি CLI কমান্ড দেখায়।

সতর্কতা: সীমা চালু করার আগে নিজের ঠিকানা যোগ করুন। উল্টো করলে নিজেই অ্যাডমিন এলাকা থেকে বেরিয়ে যাবেন।


লেসন ৬ — মাইগ্রেশন: hybrid ও live#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: VM অন্য নোডে সরানোর দুইটা পথ। Hybrid সার্ভার চালু বা বন্ধ — দুই অবস্থাতেই চলে, সামান্য ডাউনটাইম নেয়। Live চলন্ত অবস্থায় সরায়, তবে CPU মিলতে হবে আর শুরু করতে হয় CLI থেকে।

দুই ধরন#

ধরনকীভাবেকোথা থেকে চালাবেন
Hybridসার্ভার চালু বা বন্ধ — দুইভাবেই চলে। চালু থাকলে ডিস্ক দুই ধাপে যায়: প্রথমে চালু অবস্থায়, তারপর সাসপেন্ড করে বাকিটাকন্ট্রোল প্যানেল (UI)
Livelibvirt/QEMU-এর লাইভ মাইগ্রেশন, local বা Ceph স্টোরেজেকন্ট্রোল সার্ভারের CLI (লগ প্যানেলে দেখা যায়)

Live মাইগ্রেশনের শর্ত#

  • সার্ভার online, suspended বা awaiting setup অবস্থায় (offline হলে --force-offline)
  • গন্তব্য নোডে SSH (root) চালু ও সঠিক পোর্টে
  • সার্ভারের সব IP গন্তব্য নোডে বৈধ — নাহলে নেটওয়ার্ক মরে যাবে
  • স্টোরেজ মাউন্ট পয়েন্ট গন্তব্যে আছে, সব স্টোরেজ চালু
  • উৎস ও গন্তব্যের CPU একই ভেন্ডরের

ডকুমেন্টেশনের পরামর্শ: দুই হাইপারভাইজার যতটা সম্ভব অভিন্ন রাখুন — OS সংস্করণ, libvirt ও QEMU সংস্করণসহ।

সতর্কতা: NAT ইন্টারফেসওয়ালা সার্ভার এখনো কোনো মাইগ্রেশনেই যায় না। অ্যাসেট (GPU ইত্যাদি) যুক্ত সার্ভারও নয়।

আটকে যাওয়া hybrid মাইগ্রেশন#

Server → Migrations → আটকে থাকা মাইগ্রেশনের লগ খুলুন → Commands অংশের প্রথম কমান্ডটি কপি করে কন্ট্রোল সার্ভারে SSH-এ চালান।


লেসন ৭ — Elevate: ঝুঁকি ছাড়া পরীক্ষা#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: Elevate আপনার আনডু বাটন। ঝুঁকির কাজটা করুন, পরীক্ষা করুন, তারপর হয় commit করুন নয়তো ফেলে দিন — সার্ভার আগের অবস্থায় ফিরে যাবে। VirtFusion-এ Proxmox স্ন্যাপশটের সবচেয়ে কাছের জিনিস এটাই।

সহজ ভাষায়#

Elevate (৪.১+) সার্ভারে অস্থায়ী পরিবর্তনের সুযোগ দেয়। পরে হয় commit, নয় discard।

  1. কোন ড্রাইভ elevate হবে বাছুন
  2. সার্ভারে পরিবর্তন করুন, পরীক্ষা করুন
  3. ঠিক থাকলে প্রতি ড্রাইভে commit; না হলে discard — elevate-এর মুহূর্তের অবস্থায় ফিরে যায়

কাজে লাগে: বড় আপগ্রেড, কার্নেল বদল, ঝুঁকিপূর্ণ কনফিগ পরীক্ষা। Proxmox-এর স্ন্যাপশটের সবচেয়ে কাছাকাছি জিনিস এটিই।


লেসন ৮ — Backup Manager (v7)#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: ৭ ভার্সনে ব্যাকআপ সিস্টেম পুরো বদলে গেছে। এটা ইনক্রিমেন্টাল ও এনক্রিপ্টেড, আর কয়েক ধরনের স্টোরেজে লিখতে পারে। Full হলো চেইনের ভিত্তি, incremental হলো সস্তা দৈনিক ব্যাকআপ।

সহজ ভাষায়#

৭.x সংস্করণে সম্পূর্ণ নতুন ব্যাকআপ ব্যবস্থা এসেছে — ইনক্রিমেন্টাল, এনক্রিপ্টেড, একাধিক স্টোরেজ ব্যাকএন্ডসহ।

ব্যাকআপের ধরন#

ধরনকী নেয়
Fullপুরো ডিস্ক ইমেজ — চেইনের ভিত্তি
Incrementalগত ব্যাকআপের পর বদলানো ব্লক — সবচেয়ে ছোট ও দ্রুত
Differentialশেষ full-এর পর বদলানো সব ব্লক
Copyস্বতন্ত্র full, চেইনে প্রভাব ফেলে না

সিস্টেম নিজেই চেইন সামলায় — নির্দিষ্ট বিরতির পর (ডিফল্ট ৭ দিন) নতুন চেইন শুরু করে।

স্টোরেজ ব্যাকএন্ড#

  • SSH/SFTP
  • S3-সঙ্গতিপূর্ণ (AWS, MinIO, Wasabi, Cloudflare R2, Backblaze B2)
  • Proxmox Backup Server (PBS) — চাংক পর্যায়ে ডিডুপ্লিকেশন
  • FTP/FTPS
  • Rclone

সেটআপ#

  1. Backup Manager → Storage — ব্যাকএন্ডের সংযোগ তথ্য দিন
  2. Schedule — হাইপারভাইজারের সাথে স্টোরেজ জুড়ে বিরতি ঠিক করুন
  3. প্রথম ব্যাকআপ সবসময় full; এরপর নির্ধারিত বিরতিতে চলে

রিটেনশন#

নীতিকীভাবে
Age-basedনির্দিষ্ট সময়ের ভেতরের সব রাখে, পুরনো ছাঁটে (১ সপ্তাহ – ১০ বছর)
GFSদিন/সপ্তাহ/মাস/বছরে একটি করে রাখে — জায়গা অনেক কম লাগে

দুইটির সাথেই "Keep Last N" মেলানো যায় — শেষ N-টি ব্যাকআপ বয়স নির্বিশেষে থাকে।

রিস্টোর#

অ্যাডমিন ইন্টারফেস থেকে ডিস্ক, চেইন ও রিস্টোর পয়েন্ট বেছে রিস্টোর করা যায়। অন্য সার্ভারেও রিস্টোর করা যায় (cross-server restore)।

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


লেসন ৯ — ইউজার ব্যাকআপ ও ডিজাস্টার রিকভারি#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: এটা কাস্টমারের নিজের ব্যাকআপ নেওয়া, আর পুরো নোড মরে গেলে আপনার পরিকল্পনা। সেটআপ তিন টুকরা — স্টোরেজ, ব্যাকআপ মেশিনে একটা SSH ইউজার, আর প্যাকেজে জোড়া একটা প্ল্যান।

ইউজার-পর্যায়ের ব্যাকআপ#

কাস্টমার নিজে ব্যাকআপ নিতে পারে — on demand বা নির্ধারিত সময়ে।

সেটআপ তিন ধাপে:

  1. Backups → Backup Storage — স্টোরেজ যোগ করুন, কোন হাইপারভাইজার ব্যবহার করবে ঠিক করুন
  2. দূরবর্তী ব্যাকআপ সার্ভারে: একটি Unix ইউজার, VirtFusion-এর পাবলিক SSH কী

authorized_keys-এ, এবং rsync ইনস্টল

  1. Backups → Server Backup Plan — পরিকল্পনা তৈরি করে প্যাকেজে বা নির্দিষ্ট সার্ভারে দিন

কাস্টমার তখন তার সার্ভারের "Backups" ট্যাবে বিকল্প দেখতে পায়।

"Failed to login on the SSH2 check" এররের মানে — কন্ট্রোল সার্ভার, হাইপারভাইজার ও ব্যাকআপ সার্ভারের মধ্যে সংযোগ বা ফায়ারওয়াল সমস্যা।

ডিজাস্টার রিকভারি (হাইপারভাইজার স্তর)#

পুরো নোড মরে গেলে যাতে ফেরানো যায়, তার জন্য vfcli-hv dr।

BASH
vfcli-hv dr:backup                          # সব
vfcli-hv dr:backup --only-servers=1754,1253 # নির্দিষ্ট সার্ভার
vfcli-hv dr:backup --exclude-system-data    # শুধু সার্ভারের ডিস্ক
  • স্টোরেজ: S3-সঙ্গতিপূর্ণ, অথবা স্থানীয় পার্টিশন
  • S3 হলে AWS CLI বসিয়ে /root/.aws/config-এ virtfusion নামে প্রোফাইল রাখুন
  • কনফিগ ফাইল: /home/vf-data/conf/dr.json (কম্প্রেশন, রিটেনশন)
  • cron দিয়ে নিয়মিত চালান

নোড বদলাতে হলে: নতুন হার্ডওয়্যারে VirtFusion বসান → ব্যাকআপ অ্যাক্সেস দিন → কন্ট্রোল সার্ভারে যুক্ত করুন → সিস্টেম ফাইল ও সার্ভার রিস্টোর করুন।

সীমা: DR শুধু স্থানীয় ডিস্ক নেয়। Ceph-এর মতো শেয়ার্ড স্টোরেজ বাদ যায়।

কন্ট্রোল সার্ভারের ব্যাকআপ#

সবচেয়ে বেশি অবহেলিত অংশ। কন্ট্রোল সার্ভারের ডাটাবেস ও এনক্রিপশন কী ব্যাকআপ না থাকলে সব হাইপারভাইজার বেঁচে থাকলেও প্যানেল ফেরানো যাবে না। VirtFusion-এর "System Backup" গাইড এই প্রক্রিয়া দেখায় — নিয়মিত চালান এবং অন্য মেশিনে রাখুন।


লেসন ১০ — পুরনো KVM সার্ভার ইমপোর্ট#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: SolusVM বা Virtualizor থেকে VM আনা যায়, কিন্তু কোনো ইমপোর্ট টুল নেই। প্রতিবার হাতে করতে হবে। সার্ভার বন্ধ করুন, ডিস্ক কনভার্ট করুন, ভেতরে cloud-init আর গেস্ট এজেন্ট বসান, তারপর জায়গামতো রাখুন।

সহজ ভাষায়#

অন্য প্যানেল (SolusVM, Virtualizor) থেকে আসা VM VirtFusion-এ আনা যায়, তবে পুরো কাজটি হাতে করতে হয় — কোনো স্বয়ংক্রিয় ইমপোর্ট টুল নেই।

ধাপ#

  1. সার্ভার বন্ধ করুন। সব ডিস্ক অপারেশন অফলাইনে করতে হবে
  2. ডিস্ক প্রস্তুত করুন — LVM হলে qemu-img দিয়ে ইমেজে রূপান্তর

(VirtFusion ডিফল্টে qcow2, raw-ও চলে)

  1. ভেতরে cloud-init ও QEMU guest agent বসান — নইলে VirtFusion সার্ভারটি

পুরোপুরি নিয়ন্ত্রণ করতে পারবে না

  1. নেটওয়ার্ক কনফিগ পরিষ্কার করুন। Debian-এ /etc/network/interfaces-এ শুধু

source /etc/network/interfaces.d/* রাখুন, যাতে cloud-init নিয়ন্ত্রণ নিতে পারে

  1. VirtFusion-এ সমান আকারের সার্ভার তৈরি করে কাছাকাছি OS ইনস্টল করুন
  2. প্রস্তুত ডিস্ক হাইপারভাইজারে নিয়ে সঠিক নামে বসান: [UUID]_[DISK_ID].img

লেসন ১১ — মেইলআউট, লোকালাইজেশন ও ট্রাফিক#

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

মেইলআউট#

রক্ষণাবেক্ষণের নোটিশ বা ঘোষণা সব কাস্টমারকে পাঠাতে Mailouts ব্যবহার করুন। নোড রিবুট বা নেটওয়ার্ক কাজের আগে আগেভাগে জানিয়ে রাখাই পেশাদার কাজ।

লোকালাইজেশন#

প্যানেল একাধিক ভাষায় দেখানো যায়। বাংলাভাষী কাস্টমার থাকলে ভাষা তালিকা দেখে নিন।

ট্রাফিক হিসাব#

  • প্রতি সার্ভারে মাসিক ব্যান্ডউইথ হিসাব করা হয়
  • প্যাকেজে সীমা বসানো যায়, সীমা ছাড়ালে গতি কমানো বা সাসপেন্ড করার নীতি ঠিক করুন
  • সার্ভারের তৈরির তারিখ বদলালে মাসিক ইতিহাস মুছে যায়:
BASH
  vfcli-ctrl server:creation-date SERVER_ID '2026-08-01 00:00:00'

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

  • টেমপ্লেট ও ISO ব্যবস্থাপনা, Windows টেমপ্লেট প্রস্তুত করা
  • বিক্রয়যোগ্য প্যাকেজ বানানো
  • কাস্টমার ইউজার ও extRelationId ম্যাপিং ঠিক রাখা
  • সার্ভার তৈরি, বিল্ড ও প্রভিশনার চালানো
  • মাইগ্রেশন ও Elevate ব্যবহার করা
  • ব্যাকআপ, ইউজার ব্যাকআপ ও DR সাজানো
  • পুরনো KVM সার্ভার ইমপোর্ট করা

পরবর্তী: ফেজ ৫ — API ও ইন্টিগ্রেশন