می خواهیم روی یک سرور bare metal خوب با یک کارت شبکه فیزیکی و چند IPv4 تعدادی vps راه اندازی کنیم و تعدادی از سرورهاس dedicate فعلی را بصورت مجازی روی این زیرساخت منتقل کنیم.
در خیلی از دیتاسنترهای دنیا می توانید با قیمت های خوب سرورهای عالی بگیرید و تنها مشکل همین وجود یک کارت شبکه فیزیکی است که ممکن است امکان اضافه کردن کارت شبکه جدید نباشد یا هزینه آن زیاد شود. البته مشکلی نیست و روی یک کارت شبکه با پهنای باند خوب هم می توان چند ماشین مجازی با ترفیک متوسط را بخوبی سرویس داد.
بجز هزینه کمی کمتر، مزیت مجازی سازی و استفاده از proxmox این است که :
۱- مدیریت و راهبری و بهره برداری روی زیرساخت مجازی سازی شده از مدیریت و راهبری و بهره برداری چند سرور فیزیکی مجزا راحت تر، مطئمن تر و مانورپذیرتر است.
۲- امکان کلاسترسازی و HA و Migration و ... را روی زیرساخت مجازی خیلی راحت تر داریم.
۳- روی زیرساخت مجازی Backup گیری راحت تر و مطئمن تری داریم و می توان از کل ماشین بک آپ گرفت.
۴- یک سرور جدید با سخت افزارهای سریعتر و قابل اطمینان تر و بهتر می گیرم و بازدهی سرورهای مجازی روی این زیرساخت مجازی شده از آن سرورهای dedicate قبلی در نهایت بهتر شد.
۵- اگر بعدا لازم شد و بار یک یا تعدادی از سرورها زیاد شد میتوان یک سرور دیگر گرفت و این ماشین های مجازی را براحتی روی آن منتقل کرد. بنابراین با میزان نیاز موجود هزینه جاری تنظیم می شود.
نقطه ضعف این روش ها این است که :
اگر کلاستر نکنیم و HA نداشته باشیم، در شرایطی که برای این سرور مشکلی پیش بیاید همه سرورها down می شوند.
در حال حاضر Proxmox یکی از بهترین گزینه های پیاده سازی زیرساخت مجازی است که در نسخه رایگان هم امکانات خیلی خوبی ارایه می دهد و امتحان خود را نیز پس داده است.
یک سرور خوب که روی آن proxmox نصب کنیم و تعدادی IPv4 برای ماشین ها می گیریم.
ما حداقل ۵ سرور vps نیاز داریم و ۲ مورد آخر لیست ذیل برای آزمایش ها و تست و ... هستند که با url می توان به آن ها دسترسی داشت (IP معتبر اینترنتی ندارند) و البته می توان روی آن ها هم سرویس داد :
برای نصب proxmox سه روش وجود دارد :
در هنگام نصب با روش فوق می توان تنظیمات مورد نیاز را در فایل install-ll.conf اعمال کرد. من فقط RAID و HOSTNAME و PART را تنظیم می کنم.
پس از شروع عملیات نصب چند دقیقه بعد proxmox شما آماده است.
در مورد نصب و تنظیمات و آپشن های ماشین های مجازی در این مقاله بحثی نداریم، در مورد تنظیمات شبکه :
برای اتصال ماشین های مجازی به اینترنت و بلعکس ۲ روش bridge و route وجود دارد، من route را انتخاب کردم. فراموش نکنید برای استفاده از این روش باید ip_forward را فعال بفرمایید.
تنظیمات شبکه هاست (سرور proxmox) :
روی خود proxmox تنظیمات فایل etc/network/interfaces/ برای روش routed به اینصورت است :
auto lo iface lo inet loopback auto enp7s0 iface enp7s0 inet static address <main (proxmox) IP>/26 gateway <main (proxmox) Gateway> pointopoint <main (proxmox) Gateway> auto vmbr0 iface vmbr0 inet static address <main (proxmox) IP>/32 bridge-ports none bridge-stp off bridge-fd 0 up ip route add <additional IP>/32 dev vmbr0 up ip route add <additional IP>/32 dev vmbr0 up ip route add <additional IP>/32 dev vmbr0 up ip route add <additional IP>/32 dev vmbr0 up ip route add <additional IP>/32 dev vmbr0 up ip route add <additional IP>/32 dev vmbr0
همچنین آپشن های کرنل روی سرور proxmox برای فورواردینگ به اینصوت هستند :
net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1
برای تنظیم این موارد یا از دستور sysctl استفاده بفرمایید یا فایل etc/sysctl.conf/ را دستی ادیت کرده و ۲خط بالا را اضافه کنید.
#sysctl -w net.ipv4.ip_forward=1 #sysctl -w net.ipv6.conf.all.forwarding=1 #sysctl -p
برای lxcها :
درهنگام ساخت کانتینر آدرس IP را آدرس IP اضافه ای که دریافت کرده اید با 32/ تعریف کنید و آدرس gateway را آدرس IP خود سرور proxmox قرار دهید. همین!
برای vmهای kvm :
برای روش routed باید تنظیمات SCOPE (در ردهتی ها) یا pointopoint (در دبیان و اوبونتو) یا on-link (در دبیان و ابونتو جدیدتر و سایر توزیع هایی که از netplan استفاده می کنند) را تعیین کنید. من از ubuntu server 20.04 استفاده می کنم و تنظیمات فایل etc/netplan/00-installer-config.yaml/ به اینصورت است.
network: ethernets: ens18: addresses: ['Additional IP/32'] nameservers: addresses: [127.0.0.1, 8.8.8.8] routes: - to: 0.0.0.0/0 via: ProxmoxMainIP on-link: true version: 2
برای اطلاعات بیشتر و نمونه تنظیمات سایر سیستم عامل ها بخش Network را در اینجا ببینید.
لازم بذکر است ما فقط از IPv4 استفاده کردیم، تنظیمات IPv6 عملا راحت تر است و در لینک بالا توضیحات و نمونه ها را پیدا می کنید.
در نهایت Proxmox ما آماده است و ماشین های مجازی را نصب و تنظیم و استفاده می کنیم که تنظیمات ماشین های مهمان در حدود این مقاله نیست اما سعی می کنم در مورد proxmox بعنوان یک گزینه خوب ، ساده و سریع مجازی سازی در آینده نیز مطالب و تجربیات جدید خود را به همین صورت یادداشت کنم.