همهٔ سیستم‌ها عملیاتی‌اند

مهاجرت به ایران‌کلاد

مهاجرت سرور به ایران‌کلاد، قدم‌به‌قدم

از هر ارائه‌دهنده‌ای که می‌آیید، داخل یا خارج از ایران، مسیر یکی است: سرور هم‌اندازه بسازید، داده را منتقل کنید، بدون تغییر DNS تست کنید و بعد جابه‌جا شوید. این هشت قدم را به ترتیب انجام دهید.

سرویس انتقال انجام‌شده توسط تیم نداریم؛ انتقال را خودتان انجام می‌دهید و ابزارهای زیر کمکتان می‌کنند.

۸ گام

هشت قدم مهاجرت

ترتیب مهم است: تا قدم ششم، کاربران شما هنوز روی سرور قدیم‌اند و هیچ‌چیز تغییر نکرده است.

  1. ۱

    از سرور فعلی فهرست‌برداری کنید

    نسخهٔ سیستم‌عامل، سرویس‌های در حال اجرا، پورت‌های باز، کارهای زمان‌بندی‌شده (cron)، نسخهٔ دیتابیس و حجم دیسک مصرفی را یادداشت کنید. این فهرست هم اندازهٔ سرور جدید را مشخص می‌کند و هم چک‌لیست تست بعد از انتقال است.

    ss -tlnp ; crontab -l ; df -h ; cat /etc/os-release
  2. ۲

    سرور هم‌اندازه را در ایران‌کلاد بسازید

    پلنی را انتخاب کنید که پردازنده و رم آن به سرور فعلی نزدیک است و سیستم‌عامل را تا جای ممکن همان توزیع و نسخه بگیرید (Ubuntu‏، Debian یا AlmaLinux). کلید SSH را هنگام سفارش انتخاب کنید تا از همان لحظه با کلید وارد شوید. سرور در کمتر از ۶۰ ثانیه آماده است و روی دیسک NVMe و پورت اختصاصی ۱۰ گیگابیت اجرا می‌شود.

  3. ۳

    نرم‌افزارها را روی سرور تازه نصب کنید

    وب‌سرور، زبان برنامه‌نویسی، دیتابیس و ابزارهای دیگر را نصب کنید. آینه‌های داخلی apt‏، Docker‏، npm‏، PyPI و Composer نصب را سریع می‌کنند. اگر سرویس شما پورتی غیر از ۲۲، ۸۰ و ۴۴۳ لازم دارد، قاعدهٔ آن را در فایروال پنل اضافه کنید.

  4. ۴

    فایل‌ها را با rsync منتقل کنید

    از سرور قدیم مستقیم به سرور تازه کپی کنید. rsync قابل تکرار است؛ یک‌بار کامل اجرا کنید و درست پیش از جابه‌جایی DNS یک‌بار دیگر، تا فقط تغییرات تازه منتقل شوند. IP نمونه را با IP سرور خودتان عوض کنید.

    rsync -aHAX --numeric-ids --info=progress2 -e ssh /var/www/ root@203.0.113.10:/var/www/
  5. ۵

    دیتابیس را جدا منتقل کنید

    فایل‌های دادهٔ دیتابیس را مستقیم کپی نکنید؛ با ابزار خود دیتابیس خروجی بگیرید و روی مقصد بازگردانی کنید. مقصد می‌تواند دیتابیس روی همان سرور تازه یا یک دیتابیس مدیریت‌شدهٔ ایران‌کلاد باشد که رشتهٔ اتصالش در پنل نمایش داده می‌شود.

    # MySQL / MariaDB
    mysqldump --single-transaction --routines app > app.sql
    # PostgreSQL
    pg_dump -Fc app > app.dump
  6. ۶

    بدون تغییر DNS تست کنید

    روی رایانهٔ خودتان دامنه را موقتاً به IP سرور تازه اشاره دهید تا سایت را روی سرور جدید ببینید، در حالی که بقیهٔ کاربران هنوز به سرور قدیم می‌روند. فرم‌ها، ورود کاربران، ارسال ایمیل و کارهای زمان‌بندی‌شده را یکی‌یکی امتحان کنید.

    203.0.113.10  example.com www.example.com   # /etc/hosts
  7. ۷

    DNS را جابه‌جا کنید

    یک روز قبل TTL رکوردها را کوتاه کنید، مثلاً ۳۰۰ ثانیه. در روز جابه‌جایی rsync و خروجی دیتابیس را یک‌بار دیگر اجرا کنید، سپس رکورد A را به IP تازه تغییر دهید. اگر می‌خواهید DNS را هم به ایران‌کلاد بیاورید، زون را از پیش وارد کنید و بعد nameserver‌ها را عوض کنید.

  8. ۸

    سرور قدیم را دیرتر خاموش کنید

    تا وقتی مطمئن نشده‌اید همهٔ ترافیک به سرور تازه می‌رسد و چیزی جا نمانده، سرور قدیم را حذف نکنید. روی سرور تازه یک بکاپ کامل بگیرید و بعد از چند روز کار بی‌مشکل، سرویس قبلی را لغو کنید.

سؤال فنی دارید؟ تیکت بزنید

انتقال را خودتان انجام می‌دهید، اما اگر دربارهٔ سرویس‌های ایران‌کلاد مثل فایروال، DNS، دیتابیس مدیریت‌شده یا افزایش سهمیهٔ سرور سؤالی داشتید، از داخل پنل تیکت فنی باز کنید (نیاز به ورود دارد).

هزینه در دورهٔ انتقال

برای سرور ابری هزینهٔ راه‌اندازی جداگانه دریافت نمی‌کنیم؛ فقط هزینهٔ ساعتی سرور از لحظهٔ ساخت حساب می‌شود. در دورهٔ انتقال، سرور قدیم و جدید هم‌زمان هزینه دارند؛ سرور قدیم را بعد از اطمینان از جابه‌جایی کامل لغو کنید.

سرور ابری mini: ۱٬۱۰۰ تومان در ساعت،  همهٔ قیمت‌ها

راهنمای کامل

راهنمای کامل مهاجرت سرور به ایران‌کلاد

مهاجرت سرور اگر با برنامه انجام شود کار ترسناکی نیست. این راهنما جزئیات هر مرحله را فراتر از هشت قدم بالا توضیح می‌دهد: چطور اندازهٔ سرور را انتخاب کنید، فایل و دیتابیس و فایل‌های S3 را منتقل کنید، DNS و دامنه را جابه‌جا کنید و بعد از انتقال چه کارهایی را فراموش نکنید. هر ابزاری که این‌جا معرفی می‌کنیم همین امروز در پنل ایران‌کلاد وجود دارد. اگر هنوز بین گزینه‌ها مرددید، اول مقایسه را بخوانید.

۹ بخش حدود ۶ دقیقه مطالعه

فهرست مطالب

برنامه‌ریزی مهاجرت: قبل از اولین دستور

بیشتر مهاجرت‌هایی که خراب می‌شوند، به‌خاطر چیزی خراب می‌شوند که کسی یادش نبوده: یک cron شبانه، یک پورت غیرمعمول، یک فایل تنظیمات بیرون از پوشهٔ پروژه. پس قبل از هر کاری، از سرور فعلی فهرست کاملی بگیرید و برای هر سرویس بنویسید روی سرور جدید چطور تستش می‌کنید.

زمان جابه‌جایی را در ساعت کم‌ترافیک انتخاب کنید و از قبل به کاربرانی که ممکن است اثر ببینند خبر بدهید. اگر چند سرور دارید، سقف سرور حساب را از قبل افزایش دهید؛ حساب تازه با سقف یک سرور شروع می‌شود و درخواست افزایش سهمیه باید بررسی شود.

یک برنامهٔ بازگشت هم بنویسید: اگر بعد از جابه‌جایی DNS مشکلی دیدید که سریع حل نمی‌شود، رکورد A را به IP قدیم برگردانید. به همین دلیل سرور قدیم را تا چند روز روشن نگه دارید و در این مدت داده‌ای را که روی سرور تازه نوشته شده، پیش از برگشت به سرور قدیم منتقل کنید. داشتن این برنامه از قبل، تصمیم گرفتن در لحظهٔ استرس را خیلی ساده‌تر می‌کند.

انتخاب اندازهٔ سرور مقصد

نمودار مصرف سرور فعلی بهترین راهنماست. اگر میانگین رم مصرفی شما زیر نصف رم فعلی است، شاید پلن کوچک‌تری کافی باشد؛ اگر پردازنده مدام پر است، پلن بزرگ‌تر یا سرور اختصاصی را در نظر بگیرید. در ایران‌کلاد ارتقای پلن بعداً از پنل ممکن است، اما کوچک کردنش نه؛ پس اگر مطمئن نیستید، کوچک‌تر شروع کنید.

جدول پلن‌ها و قیمت ساعتی زنده در صفحهٔ قیمت‌ها آمده است و پیشنهاددهندهٔ پلن با چند سؤال یک نقطهٔ شروع پیشنهاد می‌دهد. هر پلن سرور ابری ۵۰ گیگابایت ترافیک ماهانه دارد؛ انتقال داده‌های حجیم به سرور تازه هم جزو همین ترافیک شمرده می‌شود، پس اگر ده‌ها گیگابایت داده دارید، بستهٔ ترافیک اضافه را در برنامه بگذارید.

بازگشت به فهرست مطالب

انتقال فایل‌ها با rsync

rsync بهترین ابزار این کار است، چون فقط تفاوت‌ها را منتقل می‌کند و اگر وسط کار قطع شد از همان‌جا ادامه می‌دهد. گزینه‌های -aHAX مالکیت، دسترسی‌ها، لینک‌ها و ویژگی‌های گسترده را حفظ می‌کنند و --numeric-ids جلوی به‌هم‌ریختن مالک فایل‌ها را می‌گیرد وقتی شناسهٔ کاربرها روی دو سرور یکی نیست.

پوشه‌های داده مثل /var/www و /home را منتقل کنید، اما پوشه‌های سیستمی مثل /etc را یک‌جا کپی نکنید؛ فقط فایل‌های تنظیمات سرویس‌های خودتان را جدا بیاورید و بررسی کنید. پیش از اولین اجرای rsync از سرور تازه یک اسنپ‌شات بگیرید تا اگر چیزی اشتباه کپی شد، در چند لحظه برگردید.

بازگشت به فهرست مطالب

انتقال دیتابیس بدون از دست رفتن داده

برای MySQL و MariaDB از mysqldump با گزینهٔ --single-transaction استفاده کنید تا خروجی بدون قفل کردن جدول‌ها گرفته شود. برای PostgreSQL‏، pg_dump با فرمت custom فایل فشرده‌تری می‌سازد که pg_restore می‌تواند ایندکس‌هایش را موازی بسازد. انتقال به نسخهٔ جدیدتر دیتابیس معمولاً بی‌مشکل است، اما برعکسش را توصیه نمی‌کنیم.

اگر می‌خواهید نگه‌داری دیتابیس با شما نباشد، مقصد را MySQL مدیریت‌شده یا PostgreSQL مدیریت‌شده بگذارید؛ رشتهٔ اتصال در پنل نمایش داده می‌شود و برای دیتابیس‌های SQL بکاپ شبانهٔ رمزنگاری‌شده گرفته می‌شود. در روز جابه‌جایی، نوشتن روی دیتابیس قدیم را چند دقیقه متوقف کنید و خروجی نهایی را بگیرید.

بازگشت به فهرست مطالب

DNS و دامنه: جابه‌جایی با کمترین قطعی

کلید جابه‌جایی کم‌دردسر، TTL کوتاه است. یک روز قبل TTL رکوردهای مهم را به ۳۰۰ ثانیه برسانید تا وقتی IP را عوض می‌کنید، کش resolver‌ها زود منقضی شود. بعد از جابه‌جایی و اطمینان از پایداری، TTL را دوباره بالا ببرید. با بررسی DNS می‌بینید مقدار تازه از دید resolver‌های مختلف رسیده است یا نه.

اگر DNS را هم به ایران‌کلاد می‌آورید، زون را در پنل DNS بسازید و رکوردها را با فایل BIND یا اسکن خودکار وارد کنید، سپس nameserver‌ها را در ثبت‌کننده عوض کنید. انتقال دامنههای بین‌المللی هم با کد انتقال از پنل انجام می‌شود، اما برای مهاجرت سرور اجباری نیست.

بازگشت به فهرست مطالب

سرویس‌های داکری و فایل‌های S3

اگر اپلیکیشن با Docker Compose اجرا می‌شود، کار ساده‌تر است: فایل compose، فایل‌های env و volume‌های داده را منتقل کنید و روی سرور تازه کانتینرها را بالا بیاورید. آینهٔ داخلی Docker Hub کشیدن ایمیج‌ها را سریع می‌کند. برای چند سرور، Docker Swarm مدیریت‌شده با همان فایل compose کار می‌کند.

فایل‌هایی که در یک سرویس S3 نگه داشته‌اید، با rclone یا aws-cli به ذخیره‌سازی شیء ایران‌کلاد همگام می‌شوند. ۱۰ گیگابایت اول آن رایگان است و بعد از آن هزینه بر اساس حجم ساعتی حساب می‌شود.

بازگشت به فهرست مطالب

ایمیل و سرویس‌های جانبی را جا نیندازید

ایمیل سازمانی رایج‌ترین قربانی مهاجرت است. سرویس ایمیل ایران‌کلاد هنوز قابل سفارش نیست، پس ایمیل را همان‌جا که هست نگه دارید و هنگام انتقال DNS، رکوردهای MX‏، SPF‏، DKIM و DMARC را دقیقاً کپی کنید. اگر اپلیکیشن شما از سرور ایمیل می‌فرستد، تنظیمات SMTP را هم روی سرور تازه بررسی کنید.

کارهای زمان‌بندی‌شده، webhook‌هایی که سرویس‌های بیرونی به IP قدیم می‌زنند، فهرست IP مجاز در سرویس‌های پرداخت یا API و گواهی‌های SSL را هم در چک‌لیست بگذارید. اگر ترافیک وب را از Edge Proxy عبور دهید، گواهی SSL خودکار صادر و تمدید می‌شود.

بازگشت به فهرست مطالب

بعد از مهاجرت: امنیت، بکاپ و تمیزکاری

سرور تازه با فایروال فعال تحویل داده می‌شود که فقط پورت‌های ۲۲، ۸۰، ۴۴۳ و پینگ را باز می‌گذارد؛ پورت‌هایی را که واقعاً لازم دارید اضافه کنید و بقیه را بسته نگه دارید. ورود با رمز را ببندید و فقط کلید SSH بپذیرید و برای سرور تولیدی قفل حذف را روشن کنید.

یک بکاپ کامل بگیرید؛ بکاپ سرور ابری خودکار زمان‌بندی نمی‌شود و ساختنش با شماست. بعد از چند روز کار بی‌مشکل، سرور و سرویس قبلی را لغو کنید و اگر سروری در ایران‌کلاد فقط برای آزمایش ساخته‌اید، حذفش کنید؛ سرور خاموش هم هزینه دارد.

بازگشت به فهرست مطالب

کمک گرفتن و محدودیت‌ها

ایران‌کلاد سرویس انتقال انجام‌شده توسط تیم ندارد و این راهنما برای این نوشته شده که خودتان با اطمینان انجامش دهید. برای پرسش دربارهٔ سرویس‌های ما، مثل فایروال، DNS، دیتابیس مدیریت‌شده یا خطای پنل، از داخل پنل تیکت فنی باز کنید؛ اطلاعات تماس هم در صفحهٔ تماس آمده است.

پیش از شروع این محدودیت‌ها را بدانید: سرورهای داخلی فقط IPv4 دارند، سرور ویندوز و ISO دلخواه ارائه نمی‌شود، انتقال دامنهٔ ir در پنل نیست و دیتابیس‌های مدیریت‌شده تک‌نودی‌اند. اگر بخشی از سرویس شما باید بیرون از ایران بماند، سرور خارجی را با همان کیف پول تومانی کنار سرور داخلی داشته باشید.

بازگشت به فهرست مطالب بازگشت به ابتدای راهنما

پرسش و پاسخ،  ۱۰ پرسش

سؤالات متداول

پاسخ پرسش خود را پیدا نکردید؟ با پشتیبانی در تماس باشید.

ایران‌کلاد سرویس مهاجرت انجام‌شده توسط تیم دارد؟
خیر، سرویس انتقال انجام‌شده توسط تیم ارائه نمی‌کنیم و انتقال را خودتان با مراحل این راهنما انجام می‌دهید. اگر در مرحله‌ای گیر کردید، از داخل پنل تیکت فنی باز کنید تا پشتیبانی دربارهٔ سرویس‌های ایران‌کلاد مثل فایروال، DNS یا دیتابیس مدیریت‌شده راهنمایی‌تان کند.
مهاجرت چقدر طول می‌کشد؟
ساخت سرور مقصد کمتر از ۶۰ ثانیه طول می‌کشد و سرور روی پورت اختصاصی ۱۰ گیگابیت به شبکه وصل است؛ بقیه به حجم داده، تعداد سرویس‌ها و سرعت شبکهٔ سرور مبدأ بستگی دارد و عدد ثابتی برای همه وجود ندارد. یک سایت ساده معمولاً در چند ساعت منتقل می‌شود؛ برای داده‌های حجیم، rsync اول را از چند روز قبل شروع کنید تا در روز جابه‌جایی فقط تغییرات منتقل شوند.
آیا مهاجرت بدون قطعی ممکن است؟
قطعی را می‌توان خیلی کم کرد اما تضمین صفر بودنش به معماری اپلیکیشن بستگی دارد. با کوتاه کردن TTL از روز قبل، اجرای دوبارهٔ rsync و خروجی دیتابیس درست پیش از تغییر رکورد و توقف کوتاه نوشتن روی دیتابیس قدیم، معمولاً فاصلهٔ جابه‌جایی به چند دقیقه می‌رسد.
برای مهاجرت هزینهٔ جداگانه می‌پردازم؟
برای سرور ابری هزینهٔ راه‌اندازی جداگانه دریافت نمی‌کنیم و فقط هزینهٔ ساعتی سرور از لحظهٔ ساخت حساب می‌شود. در دورهٔ انتقال، سرور قدیم و جدید هم‌زمان هزینه دارند؛ پس انتقال را برنامه‌ریزی کنید تا این دوره طولانی نشود.
می‌توانم دامنه‌ام را هم به ایران‌کلاد منتقل کنم؟
دامنه‌های بین‌المللی مثل com و net را با کد انتقال از ثبت‌کنندهٔ فعلی به ایران‌کلاد منتقل می‌کنید و هزینهٔ انتقال از کیف پول کسر می‌شود؛ اگر انتقال رد شود مبلغ برمی‌گردد. انتقال دامنه‌های ir هنوز در پنل یکپارچه نشده است. لازم هم نیست دامنه را منتقل کنید؛ می‌توانید فقط DNS را به ایران‌کلاد بیاورید یا رکورد A را نزد ارائه‌دهندهٔ فعلی تغییر دهید.
رکوردهای DNS فعلی را چطور به ایران‌کلاد بیاورم؟
زون دامنه را در پنل بسازید و رکوردها را با فایل استاندارد BIND، متن ساده یا اسکن خودکار رکوردهای رایج وارد کنید. پیش از ذخیره، پیش‌نمایش رکوردها را بررسی کنید و بعد nameserver‌ها را در ثبت‌کنندهٔ دامنه به aria.ns.iranclaud.ir و parsa.ns.iranclaud.ir تغییر دهید.
دیتابیس را روی سرور بگذارم یا دیتابیس مدیریت‌شده بگیرم؟
اگر نمی‌خواهید نگه‌داری و بکاپ دیتابیس با شما باشد، دیتابیس مدیریت‌شده گزینهٔ مناسبی است؛ خروجی mysqldump یا pg_dump را با رشتهٔ اتصالی که پنل نشان می‌دهد روی آن بازگردانی می‌کنید. اگر به افزونه یا تنظیم خاصی نیاز دارید، دیتابیس را روی سرور ابری خودتان نصب کنید.
اگر چند سرور دارم چه کنم؟
حساب تازه با سقف یک سرور شروع می‌شود؛ پیش از شروع انتقال از بخش درخواست افزایش سهمیه در پنل، تعداد سرور لازم را درخواست کنید. سرورها را با شبکهٔ خصوصی رایگان به هم وصل کنید تا ارتباط دیتابیس و سرویس‌های داخلی از اینترنت عبور نکند.
ایمیل دامنه‌ام بعد از مهاجرت چه می‌شود؟
سرویس ایمیل ایران‌کلاد هنوز قابل سفارش نیست، پس سرویس ایمیل فعلی‌تان را نگه دارید. هنگام انتقال DNS، رکوردهای MX‏، SPF و DKIM را دقیقاً همان‌طور که هستند منتقل کنید تا ایمیل قطع نشود؛ پنل DNS برای سرویس‌های رایج ایمیل الگوی آماده دارد.
فایل‌های ذخیره‌شده در S3 را چطور منتقل کنم؟
ذخیره‌سازی شیء ایران‌کلاد API سازگار با S3 دارد. باکت را در پنل بسازید، کلید دسترسی بگیرید و با ابزاری مثل rclone یا aws-cli فایل‌ها را از سرویس قبلی به باکت تازه همگام کنید؛ سپس آدرس endpoint را در اپلیکیشن عوض کنید.

پاسخ پرسش خود را پیدا نکردید؟ با پشتیبانی در تماس باشید.

سرور مقصد را بسازید و انتقال را شروع کنید

سرور ابری در کمتر از ۶۰ ثانیه آماده است و تا وقتی DNS را جابه‌جا نکرده‌اید، کاربران شما هنوز روی سرور قدیم‌اند.

از ۱٬۱۰۰ تومان / ساعت،حدود ۸۰۳٬۰۰۰ تومان در ماه