PVE প্রক্সমক্স বাংলা ডকুমেন্টেশন

ফেজ ৪ — স্টোরেজ (Storage Fundamentals)#

৭টি লেসন · আনুমানিক ৪ ঘণ্টা ১৫ মিনিট · লেভেল: মধ্যম

ভার্চুয়ালাইজেশনে সবচেয়ে বেশি বাধা আসে স্টোরেজ থেকে। এই ফেজে LVM, ZFS, NFS, Ceph, iSCSI এবং পারফরম্যান্স টিউনিং।


লেসন ১ — LVM: লজিক্যাল ভলিউম ম্যানেজার (৪০ মিনিট)#

সহজ ভাষায়#

LVM প্রক্সমক্সের ডিফল্ট স্টোরেজ। এটি কয়েকটি ডিস্ককে এক পুলে জমা করে, তারপর সেই পুল থেকে ইচ্ছেমতো আকারের ভলিউম কেটে নেয়। চালু অবস্থাতেই আকার বাড়ানো যায়।

চারটি শব্দ#

শব্দমানে
PV (Physical Volume)আসল ডিস্ক বা পার্টিশন (/dev/sda, /dev/nvme0n1)
VG (Volume Group)PV-গুলোর পুল — প্রক্সমক্সে ডিফল্ট নাম pve
LV (Logical Volume)পুল থেকে কাটা ভার্চুয়াল পার্টিশন
Thin Poolthin provisioning — লেখার সময় জায়গা দেয়, আগে নয়
BASH
pvs         # ফিজিক্যাল ভলিউম
vgs         # ভলিউম গ্রুপ
lvs         # লজিক্যাল ভলিউম
lvdisplay   # বিস্তারিত

pvcreate /dev/sdb          # নতুন ডিস্ক LVM-এর জন্য প্রস্তুত
vgextend pve /dev/sdb      # পুলে যোগ
lvcreate -L 200G --thinpool data pve    # নতুন thin pool

lvresize -L +20G /dev/pve/vm-100-disk-0 # ডিস্ক বড় করা
# এরপর VM-এর ভেতরে ফাইল সিস্টেমও বড় করতে হবে

লেসন ২ — ZFS: সুপারিশ করা স্টোরেজ (৪৫ মিনিট)#

সহজ ভাষায়#

নতুন সেটআপের জন্য প্রক্সমক্স ZFS সুপারিশ করে। ZFS-এর ভেতরেই আছে RAID, কম্প্রেশন, চেকসাম (নীরব ডাটা নষ্ট হওয়া ধরে ফেলে), স্ন্যাপশট ও রেপ্লিকেশন।

BASH
# দুইটি ডিস্ক দিয়ে মিরর (RAID-1)
zpool create -f rpool mirror /dev/sdb /dev/sdc

# তিন ডিস্ক দিয়ে RAIDZ (RAID-5-এর মতো)
zpool create datapool raidz /dev/sdb /dev/sdc /dev/sdd

zpool status            # পুলের স্বাস্থ্য
zpool iostat -v 2       # প্রতি ২ সেকেন্ডে I/O

zfs set compression=lz4 rpool    # পুল বানানোর পরপরই দিন
zpool set autotrim=on rpool      # SSD-এর জন্য

zfs create rpool/data
zfs list

# স্ন্যাপশট পাঠিয়ে ব্যাকআপ
zfs snapshot rpool/data@backup-20260518
zfs send rpool/data@backup-20260518 | ssh backup-server zfs recv tank/proxmox

টিপ: পুল তৈরির সাথে সাথেই compression=lz4 চালু করুন। এটি স্বচ্ছ, দ্রুত এবং সাধারণত ২০–৪০% জায়গা বাঁচায়।


লেসন ৩ — NFS ও শেয়ার্ড স্টোরেজ (৩০ মিনিট)#

সহজ ভাষায়#

NFS দিয়ে একাধিক প্রক্সমক্স নোড একই স্টোরেজ ব্যবহার করতে পারে। লাইভ মাইগ্রেশন ও ক্লাস্টার স্টোরেজের জন্য এটি একটি সহজ সমাধান।

BASH
# NFS সার্ভারে
apt install nfs-kernel-server
mkdir -p /exports/proxmox
echo "/exports/proxmox 192.168.10.0/24(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports
exportfs -ra
systemctl enable --now nfs-server

# প্রক্সমক্স নোডে
mount -t nfs 192.168.10.200:/exports/proxmox /mnt/pve/nfs-storage

pvesm add nfs nfs-backups \
  --server 192.168.10.200 \
  --export /exports/proxmox \
  --content backup,iso

লেসন ৪ — Ceph: বিতরণকৃত স্টোরেজ (৪০ মিনিট)#

সহজ ভাষায়#

Ceph অনেক সার্ভারের ডিস্ক মিলিয়ে একটি বড় স্টোরেজ বানায়। কোনো একক ব্যর্থতার বিন্দু থাকে না, আর নোড যোগ করলেই ক্ষমতা বাড়ে। প্রক্সমক্সে এটি ভেতরেই যুক্ত আছে।

Ceph-এর অংশগুলো#

অংশকাজ
MON (Monitor)ক্লাস্টারের মানচিত্র রাখে — বিজোড় সংখ্যায় লাগে (৩, ৫, ৭)
OSDপ্রতি ডিস্কে একটি — আসল ডাটা রাখে
MGR (Manager)ড্যাশবোর্ড ও মেট্রিক
MDSশুধু CephFS-এর জন্য
BASH
pveceph init --network 10.10.10.0/24
pveceph mon create                  # প্রতিটি নোডে
pveceph osd create /dev/sdb         # প্রতিটি ডিস্কের জন্য
pveceph pool create vm-store --add_storages true

ceph status
ceph osd tree
ceph df

সতর্কতা: Ceph-এর জন্য কমপক্ষে ৩টি নোড লাগে। দুই নোডের Ceph ক্লাস্টার কখনো বানাবেন না — একটি নোড পড়ে গেলে quorum থাকবে না।


লেসন ৫ — ডিস্ক, RAID ও SMART মনিটরিং (৩৫ মিনিট)#

ডিস্কের ধরন#

ধরনলেটেন্সিকোথায় ব্যবহার
HDD~৫ msবাল্ক ব্যাকআপ — VM ডিস্কের জন্য নয়
SATA/SAS SSD~০.১ msসাধারণ VM স্টোরেজ
NVMe~০.০২ msদ্রুত VM স্টোরেজ, ZFS SLOG/L2ARC

RAID-এর উপায়#

উপায়মন্তব্য
ZFS RAID (সেরা)RAIDZ1=RAID5, RAIDZ2=RAID6, Mirror=RAID1 — সাথে চেকসাম
mdadmকাজ করে, কিন্তু চেকসাম নেই
LVM RAIDকম নমনীয়
হার্ডওয়্যার RAIDএড়িয়ে চলুন — ডিস্কের এরর ZFS থেকে লুকিয়ে ফেলে

SMART দিয়ে ডিস্কের স্বাস্থ্য#

BASH
apt install smartmontools
smartctl -t short /dev/sda     # ছোট পরীক্ষা চালান
smartctl -a /dev/sda           # ফলাফল দেখুন

systemctl enable --now smartd  # স্বয়ংক্রিয় নজরদারি

যে মানগুলো দেখবেন:

মানকী বোঝায়
Reallocated_Sector_Ctনষ্ট সেক্টর — ০ থাকা উচিত
Current_Pending_Sectorপড়া যাচ্ছে না — সাথে সাথে দেখুন
Offline_Uncorrectableঠিক করা যায়নি
Power_On_Hoursডিস্কের বয়স
Temperature_CelsiusSSD < ৬০°C, HDD < ৫০°C

টিপ: ZFS ডিস্কের স্বাস্থ্য সবচেয়ে ভালো দেখায়। zpool status -v প্রতিটি ডিস্কের এরর গোনে। মাসে একবার zfs scrub চালান — এটি সব ডাটার চেকসাম মিলিয়ে দেখে।


লেসন ৬ — iSCSI: নেটওয়ার্কে ব্লক স্টোরেজ (৩০ মিনিট)#

সহজ ভাষায়#

iSCSI নেটওয়ার্কের উপর দিয়ে ব্লক ডিভাইস দেয়। NAS (TrueNAS, Synology) বা SAN থেকে প্রক্সমক্স VM ডিস্কের জন্য স্টোরেজ নিতে পারে।

শব্দমানে
Targetযে সার্ভার স্টোরেজ দেয় (NAS/SAN)
Initiatorযে সংযোগ করে (প্রক্সমক্স নোড)
IQNঅনন্য নাম — iqn.2024-01.com.example:storage
LUNনির্দিষ্ট একটি স্টোরেজ ইউনিট
BASH
apt install open-iscsi

iscsiadm -m discovery -t sendtargets -p 192.168.10.200
iscsiadm -m node -T iqn.2024-01.com.nas:storage1 -p 192.168.10.200 --login
iscsiadm -m session
lsblk                                # নতুন ডিভাইস দেখা যাবে

pvesm add iscsi iscsi-nas \
  --portal 192.168.10.200 \
  --target iqn.2024-01.com.nas:storage1 \
  --content images

সতর্কতা: iSCSI-এর জন্য আলাদা নেটওয়ার্ক (আলাদা NIC বা VLAN) ব্যবহার করুন। VM ট্রাফিকের সাথে একই NIC-এ রাখলে লেটেন্সি অস্থির হয়ে যায়।


লেসন ৭ — স্টোরেজ পারফরম্যান্স টিউনিং (৩৫ মিনিট)#

ZFS ARC (RAM ক্যাশ) সীমিত করা#

ZFS ডিফল্টে হোস্টের অর্ধেক RAM ক্যাশ হিসেবে নিয়ে নেয়। প্রক্সমক্সে এটি সীমিত করতে হয়, নাহলে VM-এর জন্য RAM কমে যায়।

BASH
arc_summary | head -30

# ARC সর্বোচ্চ ৮ GB
echo "options zfs zfs_arc_max=8589934592" > /etc/modprobe.d/zfs.conf
update-initramfs -u

# রিবুট ছাড়াই এখনই
echo 8589934592 > /sys/module/zfs/parameters/zfs_arc_max

# NVMe-কে দ্বিতীয় স্তরের ক্যাশ বানানো
zpool add rpool cache /dev/nvme1n1

I/O শিডিউলার#

BASH
cat /sys/block/sda/queue/scheduler

# NVMe → none (কার্নেল নিজেই সামলায়)
# SSD  → mq-deadline বা none
# HDD  → mq-deadline বা bfq

echo mq-deadline > /sys/block/sda/queue/scheduler

স্থায়ী করতে /etc/udev/rules.d/60-schedulers.rules ফাইলে rule লিখুন।

VM ডিস্ক ক্যাশ মোড#

মোডমানে
none (ডিফল্ট)হোস্ট ক্যাশ করে না — সবচেয়ে নিরাপদ। ZFS-এর সাথে এটাই ব্যবহার করুন
writebackহোস্ট লেখা ক্যাশ করে — দ্রুত, কিন্তু হোস্ট ক্র্যাশ করলে ডাটা যেতে পারে
writethroughশুধু পড়া ক্যাশ করে — মাঝামাঝি
BASH
qm set 100 --virtio0 local-lvm:vm-100-disk-0,cache=none

# VM-এর ভেতরে গতি মাপা
apt install fio
fio --name=randread --ioengine=libaio --iodepth=64 \
  --rw=randread --bs=4k --size=4G --numjobs=4 \
  --runtime=60 --group_reporting

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

  • LVM-এর গঠন বোঝা ও ডিস্ক যোগ করা
  • ZFS মিরর/RAIDZ পুল বানানো ও কম্প্রেশন চালু করা
  • NFS শেয়ার্ড স্টোরেজ যুক্ত করা
  • Ceph-এর অংশগুলো চেনা ও পুল বানানো
  • SMART দিয়ে ডিস্কের স্বাস্থ্য দেখা
  • iSCSI স্টোরেজ যুক্ত করা
  • ARC, শিডিউলার ও ক্যাশ মোড টিউন করা

পরবর্তী: ফেজ ৫ — প্রক্সমক্স নেটওয়ার্কিং