Dedicated Server + NOC-PS

← بازگشت به راهنما

Dedicated Server + NOC-PS



| فیلد | مقدار |
|------|--------|
| **نسخه** | 1.0 |
| **آخرین بروزرسانی** | 2026-08-09 |
| **ماژول** | Provisioning (`nocps` / `manual`) |
| **مخاطب** | ادمین شرکت |

---

دو حالت فروش



| حالت | ماژول Provision | رفتار |
|------|-----------------|--------|
| **بدون پروویژن** | `manual` | سفارش ثبت می‌شود؛ فعال‌سازی دستی توسط اپراتور |
| **با پروویژن** | `nocps` | برداشت سرور از استخر NOC-PS + `provisionHost` (نصب OS با PXE) |

---

پیش‌نیاز NOC-PS



  • Appliance NOC-PS با کاربر API

  • سابنت و سرورها (MAC) ثبت‌شده

  • حداقل دو **Pool**: آزاد و تخصیص‌یافته

  • **Profile** نصب OS (شناسه عددی)

  • ترجیحاً IPMI برای ریبوت خودکار و کنسول


  • API: XML-RPC روی `https://HOST/xmlrpc.php` — کلاس `PXE_API`
    مرجع: [PXE_API](https://www.noc-ps.com/downloads/PXE_API.html)

    ---

    راه‌اندازی در BSS



    ۱) سرور Provision



    `/panel` → سرورها → سرور جدید → ماژول **NOC-PS (Dedicated)**

    | فیلد | توضیح |
    |------|--------|
    | host | `https://nocps.example.com` |
    | username / password | کاربر API |
    | verify_ssl | در تست معمولاً `0` |
    | sandbox | برای تست بدون تماس واقعی خاموش/روشن کنید |

    سرور را در یک **گروه سرور** بگذارید و روی محصول همان گروه را انتخاب کنید.

    ۲) محصول با پروویژن



  • دسته: دیتاسنتر

  • ماژول: `nocps`

  • **فیلدهای سفارشی** (تب محصول — از مشتری هنگام خرید):


  • | کلید | نوع | توضیح |
    |------|-----|--------|
    | `hostname` | text | نام میزبان — اجباری |
    | `profile` | select | پروفایل OS — گزینه‌ها `id:نام` مثل `12:Ubuntu 22.04` |
    | `root_password` | password | اختیاری؛ خالی = تولید خودکار |
    | `admin_user` | text | کاربر اضافی (اختیاری) |
    | `disk_addon` / `packages_addon` | select | اختیاری |
    | `mac` | text | فقط اگر `assign_mode=mac` |

  • **تنظیمات Provision محصول** (فقط ادمین/زیرساخت):


  • | کلید | مثال | توضیح |
    |------|------|--------|
    | `assign_mode` | `pool` | `pool` / `mac` / `mac_or_pool` |
    | `available_pool_id` | `1` | استخر آزاد |
    | `assigned_pool_id` | `2` | استخر فروخته‌شده |
    | `profile_id` | `12` | پیش‌فرض اگر مشتری `profile` نداد |
    | `timezone` | `Asia/Tehran` | منطقه زمانی نصب OS |
    | `reboot_method` | `auto` | ریبوت هنگام نصب |
    | `power_method` | `auto` | روشن/خاموش تعلیق |
    | `hostname_prefix` | `dedi` | اگر hostname خالی بود |
    | `password_type` | `auto` | اگر رمز مشتری خالی بود |

    ۳) محصول بدون پروویژن



    ماژول = `manual` — بدون گروه سرور NOC-PS.

    ---

    جریان create (nocps)



  • انتخاب MAC: از فیلد سفارشی، یا `popFromPool(available → assigned)`

  • اگر هاست در NOC-PS نبود و `subnet`/`ip` روی محصول باشد → `addHost`

  • `provisionHost` با hostname + root password + profile

  • ذخیره در `provisioning_data`: `mac`, `hostname`, `ip_address`, `root_password`, …


  • | اکشن BSS | NOC-PS |
    |----------|--------|
    | suspend | `powercontrol(off)` |
    | unsuspend | `powercontrol(on)` |
    | terminate | `cancelProvisioning` + خاموش + برگرداندن به استخر آزاد (در صورت تنظیم) |
    | changePackage | پیش‌فرض فقط متادیتا؛ با `reprovision_on_upgrade=1` نصب مجدد |
    | کنسول پورتال | `getConsoleURL` |

    ---

    کلاس‌ها



  • `Modules\Provisioning\Clients\NocPsClient`

  • `Modules\Provisioning\Modules\NocPsModule`

  • `Modules\Provisioning\Services\DedicatedConsoleService`


  • ---

    مرتبط



  • [provisioning-modules.md](provisioning-modules.md)

  • [vps-provisioning.md](vps-provisioning.md) — الگوی مشابه VPS

  • ADR-027 در DECISIONS.md