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

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

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

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

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

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

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

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: VM-এর নেটওয়ার্ক দেওয়ার ছয়টা উপায় আছে, আর পছন্দমতো একটা বেছে নেওয়ার সুযোগ আপনার নেই। প্রোভাইডার কীভাবে IP দিয়েছে সেটাই ঠিক করে দিয়েছে। MacVTap ডিফল্ট আর সাধারণত ওটাই ঠিক। IP দামি হলে NAT।

সহজ ভাষায়#

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 ব্লক তৈরি ও বরাদ্দ#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: প্রথমে VirtFusion-কে বলুন কোন IP আপনার, তারপর ওই ব্লকটা একটা হাইপারভাইজারকে দিন। আসল কথা দ্বিতীয় অংশে। assign না করলে ব্লক বসেই থাকবে, আর প্রতিটা বিল্ড "no IP available" বলে মরবে।

Create IP Block ডায়ালগ। ব্লক শুরু হয় একটি নাম ও একটি ধরন দিয়ে। IPv4 ও IPv6 আলাদা ধরন।
Create IP Block ডায়ালগ। ব্লক শুরু হয় একটি নাম ও একটি ধরন দিয়ে। IPv4 ও IPv6 আলাদা ধরন।
ব্লকের General ট্যাব। গেটওয়ে, নেটমাস্ক ও দুইটি রিসলভার এখানে বসে। হাইপারভাইজার বরাদ্দ না করা পর্যন্ত ব্লক কাজ করে না।
ব্লকের General ট্যাব। গেটওয়ে, নেটমাস্ক ও দুইটি রিসলভার এখানে বসে। হাইপারভাইজার বরাদ্দ না করা পর্যন্ত ব্লক কাজ করে না।
ব্লকের Addresses ট্যাব। সাবনেট ও CIDR এখানে দিতে হয়। প্রতিটি ঠিকানার সার্ভার, rDNS ও MAC দেখা যায়।
ব্লকের Addresses ট্যাব। সাবনেট ও CIDR এখানে দিতে হয়। প্রতিটি ঠিকানার সার্ভার, rDNS ও MAC দেখা যায়।

ধাপে ধাপে#

  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 একটা গোটা /64 পায়। আপনি বড় সাবনেট দেবেন, VirtFusion ছোট করে কাটবে। প্রতিটাকে /64 দিতে মন না চাইলে routed block দিয়ে আরও ছোট দেওয়া যায়।

সহজ ভাষায়#

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 সেটআপ#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: নোডে একটা পাবলিক IP, বাকি সব VM প্রাইভেট রেঞ্জে, আর বাইরে থেকে ঢুকতে পোর্ট ফরওয়ার্ডিং। IP দামি হলে সত্যিই টাকা বাঁচে। বিনিময়ে হাইপারভাইজারে Dnsmasq আর HAProxy বসাতে হয়, মানে যন্ত্রপাতি বাড়ে।

সহজ ভাষায়#

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

যা লাগবে#

হাইপারভাইজারে Dnsmasq ও HAProxy ইনস্টল থাকতে হবে। তারপর একটি নেটওয়ার্ক 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 নিজের VM-এ বসিয়ে ট্রাফিক টেনে নিতে পারে, MAC-ও নকল করতে পারে। ফিল্টার চালু রাখুন। "None" কখনোই বেছে নেবেন না।

সহজ ভাষায়#

একই ব্রিজে থাকা এক কাস্টমার অন্যের 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 নিয়ম, set ও unset অংশসহ।


লেসন ৬ — rDNS ও DHCP#

ভাই, জিনিসটা কী? আসলে ব্যাপারটা হলো: কাস্টমার মেইল সার্ভার চালালে rDNS লাগবেই, না হলে মেইল স্প্যামে যাবে। হয় প্রতিবার টিকিট এলে নিজে হাতে বসাবেন, নয়তো Automation চালু করে কাস্টমারকেই PTR বসাতে দেবেন। দ্বিতীয়টা পুরো এক শ্রেণির টিকিট শেষ করে দেয়।

রিভার্স DNS#

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

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

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

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

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

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


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

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

সহজ ভাষায়#

ডিফল্টে 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-কে দিতে চাইলে এটাই পথ। আগে BIOS-এ IOMMU ঠিক করুন, তারপর অ্যাসেটগুলো গ্রুপে ফেলে গ্রুপটা প্যাকেজে জুড়ে দিন।

সহজ ভাষায়#

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 পাসথ্রু ও তার সীমা বোঝা

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