ফেজ ৬ — আসল প্রক্সমক্স VE (Proxmox VE — The Real Thing)#
১০টি লেসন · আনুমানিক ৬ ঘণ্টা ৩০ মিনিট · লেভেল: মধ্যম
ইনস্টল থেকে ক্লাস্টার, ব্যাকআপ, HA, হার্ডেনিং, মনিটরিং ও অটোমেশন — পুরো চক্র।
লেসন ১ — Proxmox VE 9.1.11 ইনস্টল (৩০ মিনিট)#
সহজ ভাষায়#
ইনস্টল সহজ, কিন্তু এই সময়ের সিদ্ধান্তগুলো চিরকাল থেকে যায় — ডিস্ক লেআউট, হোস্টনেম, IP।
ইনস্টলের আগে সিদ্ধান্ত#
| বিষয় | সঠিক পছন্দ |
|---|---|
| ISO | proxmox.com/downloads → Proxmox VE 9.1.11 (Debian 13 Trixie ভিত্তিক) |
| হোস্টনেম | পূর্ণ নাম দিন — pve1.lab.local, শুধু pve নয় |
| IP | স্ট্যাটিক — DHCP ক্লাস্টারে সমস্যা তৈরি করে |
| ডিস্ক | দুই বা বেশি ডিস্ক থাকলে ZFS মিরর, নাহলে ext4 + LVM |
| টাইমজোন | সঠিক দিন — লগ ও শিডিউল এর উপর নির্ভর করে |
ইনস্টলের পরের চেকলিস্ট#
hostnamectl set-hostname pve1.lab.local
# /etc/hosts-এ নিজের এন্ট্রি থাকতে হবে
echo "192.168.1.100 pve1.lab.local pve1" >> /etc/hosts
# enterprise রিপো বন্ধ, no-subscription চালু
echo "# deb https://enterprise.proxmox.com/debian/pve trixie pve-enterprise" \
> /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve trixie pve-no-subscription" \
> /etc/apt/sources.list.d/pve-install-repo.list
apt update && apt dist-upgrade -y && rebootসতর্কতা: ইনস্টলের সময় অবশ্যই স্ট্যাটিক IP দিন। রিবুটের পর DHCP নতুন IP দিলে ওয়েব UI-তে ঢোকার পথ হারিয়ে যাবে।
লেসন ২ — VM তৈরি ও ম্যানেজমেন্ট (৪৫ মিনিট)#
সহজ ভাষায়#
ওয়েব UI-এর প্রতিটি ক্লিকের সমান একটি qm কমান্ড আছে। CLI শিখলে অটোমেশন সম্ভব হয়।
# ISO আপলোড
scp ubuntu-22.04.iso root@pve1:/var/lib/vz/template/iso/
qm create 100 \
--name ubuntu-server \
--memory 2048 \
--cores 2 \
--cpu host \
--net0 virtio,bridge=vmbr0 \
--virtio0 local-lvm:32 \
--cdrom local:iso/ubuntu-22.04.iso \
--boot order=ide2 \
--ostype l26 \
--agent enabled=1 \
--onboot 1
qm start 100
qm terminal 100 # সিরিয়াল কনসোল (দ্রুত)
qm list
qm config 100
qm resize 100 virtio0 +10G # ডিস্ক ১০ GB বাড়ানো
qm migrate 100 pve2 --online # চালু অবস্থায় অন্য নোডে সরানোলেসন ৩ — LXC কন্টেইনার ম্যানেজমেন্ট (৩৫ মিনিট)#
সহজ ভাষায়#
কন্টেইনার এক সেকেন্ডের কমে চালু হয়। Nginx, ডাটাবেস বা অ্যাপ সার্ভারের জন্য আদর্শ।
pveam update
pveam available | grep debian
pveam download local debian-13-standard_13.0-1_amd64.tar.zst
pct create 200 local:vztmpl/debian-13-standard_13.0-1_amd64.tar.zst \
--hostname nginx-web \
--memory 512 --swap 512 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.1.200/24,gw=192.168.1.1 \
--nameserver 1.1.1.1 \
--unprivileged 1 \
--features nesting=1
pct start 200
pct enter 200
pct exec 200 -- apt install nginx -y
pct snapshot 200 before-nginx
pct stop 200টিপ: সবসময়
--unprivileged 1দিন। ভেতরের root হোস্টে সাধারণ ইউজার হিসেবে ম্যাপ হয়।
লেসন ৪ — vzdump ও PBS দিয়ে ব্যাকআপ (৪০ মিনিট)#
সহজ ভাষায়#
ব্যাকআপ ঐচ্ছিক নয়। vzdump দ্রুত ব্যাকআপ দেয়। Proxmox Backup Server (PBS) দেয় ডিডুপ্লিকেশন, ইনক্রিমেন্টাল ও এনক্রিপশন।
vzdump 100 --storage local --compress zstd --mode snapshot
vzdump --all --storage pbs-storage --compress zstd --mode snapshot
# শিডিউল: Datacenter → Backup → Add
# রিস্টোর
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_05_18-12_00_00.vma.zst 100 \
--storage local-lvm
# রিস্টোর পরীক্ষা — নতুন VMID-তে ফিরিয়ে যাচাই করুন
qmrestore backup.vma.zst 999 --storage local-lvm --unique 1
qm start 999
qm destroy 999 --purgeবিপদ: যে ব্যাকআপ কখনো রিস্টোর করে দেখা হয়নি, সেটি ব্যাকআপ নয়। নিয়মিত টেস্ট VM-এ রিস্টোর করে ডাটা যাচাই করুন।
লেসন ৫ — প্রক্সমক্স ক্লাস্টার তৈরি (৪৫ মিনিট)#
সহজ ভাষায়#
ক্লাস্টার একাধিক নোডকে একটি ম্যানেজমেন্টে আনে। VM লাইভ মাইগ্রেট করা যায়, আর HA দিয়ে স্বয়ংক্রিয় রিস্টার্ট সম্ভব হয়। কাজটি দুই ধাপে হয়।
ধাপ ১ — নেটওয়ার্ক সংযোগ (আগে)#
ping 192.168.1.101
cat /etc/hosts # সব নোডের এন্ট্রি থাকতে হবে
getent hosts pve2সতর্কতা:
pvecmচালানোর আগেই নোডগুলোর মধ্যে সংযোগ থাকতে হবে। রুট না থাকলেpvecm addঅনির্দিষ্টকাল ঝুলে থাকে।
ধাপ ২ — সফটওয়্যার ক্লাস্টার#
# প্রথম নোডে
pvecm create mycluster
# বাকি প্রতিটি নোডে
pvecm add 192.168.1.100
pvecm status
pvecm nodesCorosync-এর জন্য স্থিতিশীল, কম লেটেন্সির লিংক দরকার। সম্ভব হলে আলাদা NIC ব্যবহার করুন (/etc/pve/corosync.conf-এ ring0_addr)।
সতর্কতা ১: দুই নোডের ক্লাস্টার QDevice ছাড়া বানাবেন না। একটি নোড পড়লে অন্যটি quorum না পেয়ে সব VM বন্ধ করে দেবে।
সতর্কতা ২: যে নোডে আপনার VM আছে, সেই নোডেই ক্লাস্টার তৈরি করুন। খালি নোডকে যোগ করুন। উল্টো করলে খালি নোডের ডাটাবেস জিতে যায় এবং VM-এর কনফিগ মুছে যায়। (বাস্তব ঘটনা: জার্নি ডকের ৫ নম্বর অধ্যায়।)
লেসন ৬ — হাই অ্যাভেইলেবিলিটি (HA) (৩৫ মিনিট)#
সহজ ভাষায়#
HA মানে: একটি নোড মরে গেলে তার VM অন্য নোডে নিজে থেকে চালু হবে। এর জন্য লাগে ক্লাস্টার, শেয়ার্ড বা রেপ্লিকেটেড স্টোরেজ, এবং কাজ করা fencing।
ha-manager add vm:100 --state started --group ha-group1
ha-manager groupadd ha-group1 --nodes pve1,pve2 --restricted 0
ha-manager status
ha-manager config
pvecm status | grep quorumপরীক্ষা: pve2 বন্ধ করুন। HA প্রায় ১২০ সেকেন্ডের মধ্যে VM pve1-এ চালু করার কথা।
বিপদ: কাজ করা fencing ডিভাইস ছাড়া HA ফেইলওভার করবে না। সার্ভাইভিং নোড নিশ্চিত হতে পারে না যে পুরনো নোড সত্যিই মরেছে, তাই VM চালু করে না — এতে split-brain ও ডাটা নষ্ট হওয়া ঠেকে। IPMI/iDRAC/iLO কনফিগ করুন (Datacenter → HA → Fencing)।
লেসন ৭ — ইনস্টল-পরবর্তী হার্ডেনিং (৪০ মিনিট)#
১. সাবস্ক্রিপশন পপআপ সরানো#
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{\1/g" \
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy২. দুই ধাপের যাচাই (2FA)#
pveum user add admin@pve --password 'StrongPass!'
pveum tfa add admin@pve --type totp
# QR কোড অথেন্টিকেটর অ্যাপে স্ক্যান করুনওয়েব UI: Datacenter → Permissions → Two Factor। TOTP ও WebAuthn দুইটাই চলে।
৩. SSH সুরক্ষা — fail2ban#
apt install fail2ban
cat > /etc/fail2ban/jail.d/proxmox.conf << 'CONF'
[proxmox]
enabled = true
port = https,http,8006
filter = proxmox
logpath = /var/log/daemon.log
maxretry = 3
findtime = 3600
bantime = 3600
CONF
cat > /etc/fail2ban/filter.d/proxmox.conf << 'CONF'
[Definition]
failregex = pvedaemon[.*authentication failure; rhost=<HOST>
CONF
systemctl restart fail2ban
fail2ban-client status proxmox৪. কার্নেল ও আপডেট#
# /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt mitigations=auto transparent_hugepage=never"
update-grub
apt install unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgradesটিপ: Datacenter → Options → Email-এ SMTP বসিয়ে দিন। তাহলে হার্ডওয়্যার সমস্যা, HA ঘটনা ও ব্যাকআপের ফল ইমেইলে আসবে।
লেসন ৮ — Proxmox Backup Server (PBS) বিস্তারিত (৫০ মিনিট)#
vzdump বনাম PBS#
| vzdump | PBS | |
|---|---|---|
| ধরন | ফোল্ডার/NFS-এ ফাইল | ক্লায়েন্ট-সার্ভার |
| প্রতিবার | পূর্ণ ব্যাকআপ | শুধু বদলে যাওয়া ব্লক |
| ডিডুপ | নেই | চাংক পর্যায়ে, সব VM জুড়ে |
| এনক্রিপশন | নেই | আছে |
উদাহরণ: ২০০ GB VM প্রতিদিন ব্যাকআপ করলে PBS-এ প্রথমবারের পর মাত্র ৫–২০ GB যায়।
ইনস্টল#
echo "deb http://download.proxmox.com/debian/pbs trixie pbs-no-subscription" \
> /etc/apt/sources.list.d/pbs-install-repo.list
wget https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-trixie.gpg
apt update && apt install proxmox-backup-server
# ওয়েব UI: https://PBS-IP:8007ডাটাস্টোর ও প্রুনিং#
proxmox-backup-manager datastore create main /mnt/backup-disk
pvesm add pbs pbs-store \
--server 192.168.1.200 \
--datastore main \
--username admin@pbs \
--password 'PBSPass!'
proxmox-backup-manager prune-job create job1 \
--store main \
--keep-daily 7 --keep-weekly 4 --keep-monthly 6
proxmox-backup-client verify --repository admin@pbs!192.168.1.200:main backup/vm/100এনক্রিপশন#
proxmox-backup-client key create /etc/pve/priv/backup-encryption.keyবিপদ: এনক্রিপশন কী ব্যাকআপ ডাটার থেকে আলাদা জায়গায় রাখুন — সম্ভব হলে ছাপিয়ে অফলাইনে। কী আর ডাটা একসাথে হারালে ব্যাকআপ চিরতরে অকেজো।
লেসন ৯ — মনিটরিং, মেট্রিক ও অ্যালার্ট (৪০ মিনিট)#
সহজ ভাষায়#
মনিটরিং ছাড়া ক্লাস্টার চালানো মানে চোখ বেঁধে গাড়ি চালানো।
প্রক্সমক্সের নিজের মেট্রিক#
Datacenter → Options → Metric Server → Add। InfluxDB বা Graphite-এ প্রতি ৬০ সেকেন্ডে নোড, VM ও কন্টেইনারের মেট্রিক পাঠায়।
Prometheus + node_exporter#
apt install prometheus-node-exporter
systemctl enable --now prometheus-node-exporter # পোর্ট 9100
curl http://localhost:9100/metrics | head -20
# VM/CT মেট্রিকের জন্য
apt install prometheus-pve-exporter 2>/dev/null || pip3 install prometheus-pve-exporterইমেইল অ্যালার্ট#
apt install postfix libsasl2-modules
# /etc/postfix/main.cf
# relayhost = [smtp.gmail.com]:587
# smtp_sasl_auth_enable = yes
# smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# smtp_tls_security_level = encrypt
postmap /etc/postfix/sasl_passwd
systemctl restart postfix
echo "Test from Proxmox" | mail -s "PVE Alert" admin@example.comযে মানগুলো দেখা জরুরি#
| মেট্রিক | কী বোঝায় |
|---|---|
| CPU steal time | হোস্ট বেশি overcommit — VM CPU পাচ্ছে না |
| Balloon deflation | হোস্টে RAM চাপ, VM থেকে RAM ফেরত নেওয়া হচ্ছে |
| Disk I/O wait | স্টোরেজ বাধা হয়ে দাঁড়িয়েছে |
| ZFS pool health | zpool status-এ কোনো এরর = জরুরি |
| Ceph OSD down | রিডান্ডেন্সি কমে গেছে |
| Corosync ring | quorum হারানোর ঝুঁকি |
লেসন ১০ — প্রক্সমক্স API ও অটোমেশন (৪৫ মিনিট)#
সহজ ভাষায়#
প্রক্সমক্সের সবকিছু REST API-তে আছে। ওয়েব UI নিজেও সেই API-ই ব্যবহার করে। API দিয়ে ১০টি VM-এর কাজ ১০০০টিতে নিয়ে যাওয়া যায়।
pvesh — API-এর CLI রূপ#
pvesh get /nodes
pvesh get /nodes/pve1/status
pvesh get /nodes/pve1/qemu
pvesh create /nodes/pve1/qemu \
--vmid 200 --name api-test-vm \
--memory 1024 --cores 2 \
--net0 virtio,bridge=vmbr0 \
--virtio0 local-lvm:20
pvesh create /nodes/pve1/qemu/200/status/start
pvesh get /nodes/pve1/qemu/200/configcurl দিয়ে REST API#
TICKET=$(curl -sk -d "username=root@pam&password=YourPass" \
https://192.168.1.100:8006/api2/json/access/ticket | \
python3 -c "import sys,json; print(json.load(sys.stdin)['data']['ticket'])")
curl -sk -b "PVEAuthCookie=${TICKET}" \
https://192.168.1.100:8006/api2/json/nodes/pve1/qemu | python3 -m json.toolTerraform#
provider "proxmox" {
endpoint = "https://192.168.1.100:8006"
api_token = "root@pam!terraform=your-token-uuid"
insecure = true
}
resource "proxmox_virtual_environment_vm" "web_server" {
name = "web-01"
node_name = "pve1"
vm_id = 300
cpu { cores = 2 }
memory { dedicated = 2048 }
network_device { bridge = "vmbr0", model = "virtio" }
disk {
datastore_id = "local-lvm"
size = 32
interface = "virtio0"
}
}টিপ: Terraform/Ansible-এর জন্য আলাদা API টোকেন বানান (Datacenter → Permissions → API Tokens)। যতটুকু দরকার ততটুকুই অনুমতি দিন। অটোমেশনে কখনো root পাসওয়ার্ড ব্যবহার করবেন না।
ফেজ ৬ শেষে আপনি যা পারবেন#
- প্রক্সমক্স ইনস্টল ও ইনস্টল-পরবর্তী কাজ শেষ করা
- CLI থেকে VM ও কন্টেইনার চালানো
- ব্যাকআপ নেওয়া, রিস্টোর করে যাচাই করা
- ক্লাস্টার বানানো ও নোড যোগ করা
- HA ও fencing-এর শর্ত বোঝা
- সার্ভার হার্ডেন করা (2FA, fail2ban, আপডেট)
- PBS দিয়ে ডিডুপ ব্যাকআপ ও প্রুনিং করা
- মনিটরিং ও অ্যালার্ট বসানো
- API/Terraform দিয়ে অটোমেশন করা
পরবর্তী: বাস্তব কেস স্টাডি — VPS ব্যবসা