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

ফেজ ৩ — নেটওয়ার্ক ও স্টোরেজ#

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

VPS ব্যবসায় সবচেয়ে বেশি সাপোর্ট টিকিট আসে নেটওয়ার্ক থেকে। এই ফেজটি ভালো করে পড়ুন।

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

লেসনকী শিখবেন
১ — নেটওয়ার্ক মোড: কোনটি কখনছয়টি মোডের কোনটি আপনার IP বরাদ্দে খাটে
২ — IPv4 ব্লক তৈরি ও বরাদ্দব্লক বানিয়ে নোডে বরাদ্দ করা
৩ — IPv6 ব্লক ও রুট ব্লকমাস্টার সাবনেট ভাগ করে প্রতি VM-কে একটি /64
৪ — NAT সেটআপএকটি পাবলিক IP-তে অনেক VM চালানো
৫ — নেটওয়ার্ক ফিল্টারিংএক কাস্টমার যেন অন্যের IP বা MAC না নিতে পারে
৬ — rDNS ও DHCPমেইলের জন্য PTR, আর VM-এ IP বসানোর দুই পথ
৭ — স্টোরেজের ধরনস্থানীয় ডিস্ক না শেয়ার্ড স্টোরেজ
৮ — হাইপারভাইজার অ্যাসেট: GPU ও CPU পিনিংনির্দিষ্ট ডিভাইস বা কোর একটি VM-কে দেওয়া

লেসন ১ — নেটওয়ার্ক মোড: কোনটি কখন#

সহজ ভাষায়#

VirtFusion ছয় ধরনের নেটওয়ার্ক দিতে পারে। পছন্দ নির্ভর করে প্রোভাইডার আপনাকে কীভাবে IP দিয়েছে তার উপরে।

মোডকীভাবে কাজ করেকখন ব্যবহার করবেন
Direct (MacVTap)VM সরাসরি ফিজিক্যাল NIC-এর উপরে বসে, নিজস্ব MAC পায়ডিফল্ট। প্রোভাইডার IP রুট করে দিলে সবচেয়ে সহজ
Bridgedলিনাক্স ব্রিজ (br0) দিয়ে VM LAN-এ যুক্ত হয়পুরনো সেটআপ, বা ব্রিজে বিশেষ নিয়ম দরকার হলে
Routedহোস্ট রাউটার হিসেবে কাজ করে, প্রতি VM-এ /32 রুটপ্রোভাইডার MAC ফিল্টার করলে
NATহাইপারভাইজারে একটি পাবলিক IP, VM-রা প্রাইভেট IPIP-র দাম বেশি বা সংখ্যা কম হলে
Open vSwitch BridgedOVS ব্রিজ — VLAN, ফ্লো নিয়ন্ত্রণবড় সেটআপ, VLAN-ভিত্তিক আইসোলেশন
Isolatedশুধু হোস্ট ও নিজেদের মধ্যেভেতরের নেটওয়ার্ক, পরীক্ষা

MacVTap ১.৭.২ সংস্করণ থেকে ডিফল্ট এবং বেশিরভাগ ক্ষেত্রে বাড়তি কনফিগ লাগে না।

সতর্কতা: প্রোভাইডার প্রায়ই সার্ভারপ্রতি IP বেঁধে দেয় (ARP/MAC ফিল্টার)। এক নোডের IP অন্য নোডের VM-এ বসালে প্যাকেট নীরবে হারায় — কোনো এরর আসে না। কোন IP কোন নোডের, তা লিখে রাখুন।

ইন্টারফেসের নাম ভুল হলে#

CODE
Unable to get index for interface eth0: No such device

MacVTap-এর ইন্টারফেসের নাম ভুল। নোডে ip a চালিয়ে আসল নাম দেখুন, তারপর Hypervisor → Networks → Primary Network → Interface Name ঠিক করুন।


লেসন ২ — IPv4 ব্লক তৈরি ও বরাদ্দ#

ধাপে ধাপে#

  1. Admin → IP Address Blocks → Create Block, ধরন IPv4
  2. নেটওয়ার্কের তথ্য দিন: সাবনেট, গেটওয়ে, নেটমাস্ক
  3. ব্যবহারযোগ্য রেঞ্জ যোগ করুন (শুরু ও শেষ IP)
  4. ব্লকটি এক বা একাধিক হাইপারভাইজারে অ্যাসাইন করুন

অ্যাসাইন না করলে ব্লক অকেজো — সার্ভার তৈরির সময় "no IP available" আসবে।

বরাদ্দের নিয়ম#

  • সার্ভার তৈরির সময় প্যাকেজে বলা সংখ্যক IPv4 স্বয়ংক্রিয়ভাবে বসে
  • পরে বাড়ানো-কমানো যায় (API: /servers/{id}/ipv4Qty)
  • গেটওয়ে, নেটওয়ার্ক ও ব্রডকাস্ট ঠিকানা রেঞ্জের বাইরে রাখুন

ব্যবহারিক পরামর্শ#

অভ্যাসকারণ
প্রতি নোডের ব্লক আলাদা রাখুনভুল নোডে IP যাওয়া ঠেকায়
কিছু IP সংরক্ষিত রাখুনমাইগ্রেশন ও জরুরি কাজে লাগে
ব্লকের নামে লোকেশন লিখুনপরে খুঁজতে সুবিধা

লেসন ৩ — IPv6 ব্লক ও রুট ব্লক#

সহজ ভাষায়#

IPv6-এ ঠিকানা প্রায় অফুরন্ত, তাই প্রতিটি VM-কে সাধারণত একটি সাবনেট দেওয়া হয়।

  1. Create Block → IPv6
  2. মাস্টার সাবনেট দিন (যেমন 2001:db8:100::/48)
  3. তার ভেতরে ছোট সাবনেটে ভাগ করুন (সাধারণত /64 প্রতি VM)
  4. অব্যবহৃত অংশ ব্ল্যাকলিস্ট করা যায়
  5. হাইপারভাইজারে অ্যাসাইন করুন

রুট ব্লক#

প্রতি VM-এ পুরো /64 দিতে না চাইলে আরও ছোট সাবনেট দেওয়া যায়। প্রোভাইডার বড় ব্লক রুট করে দিলে VirtFusion সেই ব্লকের ভেতরে /128, /127 বা /126 সাবনেট বরাদ্দ করতে পারে।

cloud-init ও IPv6#

Ubuntu টেমপ্লেটে রাউটার অ্যাডভার্টাইজমেন্ট বন্ধ রাখা দরকার হতে পারে, নাহলে VM নিজে থেকেই বাড়তি ঠিকানা নেয়। cloud-init দিয়ে netplan ফাইল বসানো যায়:

YAML
# /etc/netplan/99-user-conf.yaml — cloud-init write_files দিয়ে বসানো হয়
network:
  version: 2
  ethernets:
    ens3:
      accept-ra: false

লেসন ৪ — NAT সেটআপ#

সহজ ভাষায়#

NAT মানে: হাইপারভাইজারে একটি পাবলিক IPv4, আর সব VM প্রাইভেট রেঞ্জে (যেমন 192.168.200.0/24)। বাইরে থেকে ঢোকা হয় পোর্ট ফরওয়ার্ডিং দিয়ে। IP-র দাম বেশি হলে এটি খরচ অনেক কমায়।

যা লাগবে#

হাইপারভাইজারে DnsmasqHAProxy ইনস্টল থাকতে হবে। তারপর একটি নেটওয়ার্ক XML ফাইল বানাতে হয়, যেখানে IP রেঞ্জ ও প্রধান ডিভাইস লেখা থাকে।

VirtFusion-এর দিকে#

  1. ওই প্রাইভেট রেঞ্জটি সাধারণ IP ব্লক হিসেবে যোগ করুন

(.0, .1 আর .255 বাদ রাখুন)

  1. হাইপারভাইজারের নেটওয়ার্ক টাইপ NAT v1, ইন্টারফেসের নাম natbr0

IPv6#

NAT-এ থাকা VM-কেও নেটিভ IPv6 দেওয়া যায় — নেটওয়ার্ক কনফিগে বৈধ IPv6 ঠিকানা (সম্ভব হলে /64) উল্লেখ করলে হয়।

তিনটি সীমা

  1. কন্ট্রোল ও হাইপারভাইজার একই মেশিনে হলে NAT চলবে না — প্রক্সি পোর্ট সংঘাত করে
  2. IPv4 NAT-এ VM-এর প্রাথমিক ইন্টারফেসই ব্যবহার করতে হয়
  3. NAT ইন্টারফেসওয়ালা সার্ভার মাইগ্রেট করা যায় না (live বা hybrid, কোনোটিই নয়)

লেসন ৫ — নেটওয়ার্ক ফিল্টারিং (IP হাইজ্যাক ঠেকানো)#

সহজ ভাষায়#

একই ব্রিজে থাকা এক কাস্টমার অন্যের IP বসিয়ে ট্রাফিক চুরি করতে পারে, বা MAC স্পুফ করতে পারে। VirtFusion-এ ব্রিজ পর্যায়ের ফিল্টার এটি ঠেকায়।

ফিল্টারকী করে
Noneকিছুই না — ব্যবহার করবেন না
Libvirtlibvirt-এর মানসম্মত ফিল্টার (MAC স্পুফ ও IP চুরি ঠেকায়)
Native StandardLibvirt-এর সমান নিয়ম, VirtFusion-এর নিজস্ব বাস্তবায়ন
Native Performance (IPv4)ন্যূনতম নিয়ম, শুধু IPv4 — দ্রুততম
Native Performance (IPv4 + IPv6)ন্যূনতম নিয়ম, সাথে ICMPv6 সামলানো

নতুন হাইপারভাইজারে ডিফল্ট Native Performance (IPv4 + IPv6) (২.৪ সংস্করণ থেকে)। পুরনো ইনস্টলে Libvirt ফিল্টার রয়ে যায়, হাতে বদলাতে হয়।

বিদ্যমান সার্ভারে প্রয়োগ#

ফিল্টার বদলালে তা কেবল নতুন সার্ভারে বা যেসব সার্ভারে কোনো অ্যাকশন চলেছে সেখানে বসে। সব সার্ভারে একসাথে বসাতে কন্ট্রোল সার্ভারে:

BASH
vfcli-ctrl server:configurations HYPERVISOR_ID --options=network

কাস্টম ফিল্টার#

ডিফল্ট কনফিগ কপি করে /home/vf-data/conf/netfilters/-এ রাখুন — JSON ফাইলে ebtables নিয়ম, setunset অংশসহ।


লেসন ৬ — rDNS ও DHCP#

রিভার্স DNS#

মেইল পাঠানোর জন্য কাস্টমারের rDNS দরকার হয়। VirtFusion দুই ভাবে দেয়:

মোডমানে
Manualকাস্টমার অনুরোধ করে, আপনি হাতে বসান
Automationপ্যানেল সরাসরি DNS প্রোভাইডারে রেকর্ড লেখে

Automation চালু থাকলে কাস্টমার নিজেই প্যানেল থেকে PTR বদলাতে পারে — সাপোর্ট টিকিট অনেক কমে।

হাইপারভাইজারে DHCP#

কিছু নেটওয়ার্ক নকশায় VM-দের DHCP দিয়ে IP দেওয়া হয়। তখন হাইপারভাইজারে একটি DHCP সার্ভার (dnsmasq) চালাতে হয়। VirtFusion-এর DHCP গাইড এই সেটআপ দেখায়।

সাধারণ পরামর্শ: সম্ভব হলে স্ট্যাটিক (cloud-init) ব্যবহার করুন। DHCP-তে লিজ শেষ হওয়া, ভুল রেঞ্জ ও দুই সার্ভারে একই IP — এই সমস্যাগুলো বাড়ে।


লেসন ৭ — স্টোরেজের ধরন#

সহজ ভাষায়#

ডিফল্টে VM ডিস্ক থাকে হাইপারভাইজারের স্থানীয় ডিস্কে (/home)। বড় সেটআপে শেয়ার্ড স্টোরেজ যুক্ত করা যায়।

ধরনবৈশিষ্ট্যকখন
Local (ডিফল্ট)দ্রুততম, সহজ। নোড নষ্ট হলে ডিস্কেও পৌঁছানো যাবে নাছোট ও মাঝারি প্রোভাইডার
Ceph RBDবিতরণকৃত, রিডান্ডেন্ট, live migration সহজবড় ক্লাস্টার, ৩+ নোড
Remote FilesystemNFS-জাতীয় মাউন্টভাগাভাগি করা ইমেজ, ব্যাকআপ
StorPoolবাণিজ্যিক উচ্চ-পারফরম্যান্স SDSএন্টারপ্রাইজ
LightbitsNVMe/TCP ভিত্তিককম লেটেন্সি, বড় স্কেল

বেছে নেওয়ার নিয়ম#

  • শুরু করছেন? স্থানীয় NVMe দিয়ে শুরু করুন — সবচেয়ে কম জটিলতা, সবচেয়ে বেশি IOPS
  • একটি নোড নষ্ট হলেও VM চালু রাখতে চান? Ceph ছাড়া উপায় নেই
  • মনে রাখুন: Ceph-এ লেটেন্সি বাড়ে, নেটওয়ার্ক আলাদা করতে হয় (কমপক্ষে ১০ GbE)

সতর্কতা: ডিজাস্টার রিকভারি (vfcli-hv dr:backup) শুধু স্থানীয় ডিস্কের ব্যাকআপ নেয় — Ceph-এর মতো শেয়ার্ড স্টোরেজ বাদ পড়ে। শেয়ার্ড স্টোরেজের নিজস্ব রিডান্ডেন্সি ও ব্যাকআপ আলাদা করে ভাবতে হবে।


লেসন ৮ — হাইপারভাইজার অ্যাসেট: GPU ও CPU পিনিং#

সহজ ভাষায়#

GPU, USB ডিভাইস বা নির্দিষ্ট CPU কোর কোনো VM-কে সরাসরি দিতে চাইলে "Asset" ব্যবহার হয় (৫.১ সংস্করণ থেকে)।

কনফিগ#

Compute Resources → Hypervisors → [নোড] → Assets

  • নাম দিন, ধরন বাছুন (যেমন "Device"), ডিভাইসের XML দিন
  • GPU পাসথ্রুর জন্য আগে IOMMU গ্রুপিং ঠিক থাকতে হবে (BIOS-এ VT-d/AMD-Vi চালু)
  • অ্যাসেটগুলো গ্রুপ করে প্যাকেজে যুক্ত করতে হয়

প্যাকেজে অ্যাসেট গ্রুপ যুক্ত থাকলে সার্ভার তৈরির সময় ফাঁকা অ্যাসেট স্বয়ংক্রিয়ভাবে বসে। API দিয়ে সার্ভার তৈরির সময় ডিফল্ট গ্রুপ ওভাররাইড করা যায়।

সীমা#

সতর্কতা: অ্যাসেট হাইপারভাইজার-নির্দিষ্ট। কোনো সার্ভারে অ্যাসেট যুক্ত থাকলে সেটি মাইগ্রেট করা যাবে না। GPU VPS বিক্রি করলে এই সীমাটি বিজ্ঞাপনেই বলে দিন।

কাস্টমারকে অ্যাসেটের তথ্য দেখানো যায়, সাথে নিজের আইকনও দেওয়া যায় (PNG, ~২৫০×২৫০, রাখতে হয় /opt/virtfusion/app/control/public/custom/img/assets/-এ)।


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

  • সঠিক নেটওয়ার্ক মোড বেছে নেওয়া
  • IPv4 ও IPv6 ব্লক তৈরি করে নোডে বসানো
  • NAT দিয়ে কম IP-তে বেশি VM চালানো
  • IP হাইজ্যাক ঠেকানো
  • rDNS ও DHCP-এর সিদ্ধান্ত নেওয়া
  • স্টোরেজ ব্যাকএন্ড বাছা
  • GPU পাসথ্রু ও তার সীমা বোঝা

পরবর্তী: ফেজ ৪ — দৈনন্দিন অ্যাডমিন