چگونه یک هستهٔ راه دور Wolfram را از لپتاپ روی VPN اجرا کنیم
VPN فقط اتصال را حمل میکند. پیش از نخستین ارزیابی، حق هسته، اجرای SSH، فایل اجرایی راه دور و مسیرهای فایل را برنامهریزی کنید.
به VPN وصل میشوید، دفترچه را باز میکنید و انتظار دارید سلول سنگین روی سرور اجرا شود. در عمل، تونل فقط بستهها را حمل میکند. نه ارزیاب نصب میکند، نه مجوز میدهد و نه انتخاب میکند که کدام ماشین کد را اجرا کند. اینها سه چیز جداگانهاند و گردش کار با هستهٔ راه دور پیش از قابل اعتماد بودن نخستین محاسبه به هر سه نیاز دارد.
افسانه: اتصال VPN همان راهاندازی است
VPN مسیر شبکه را میان لپتاپ و سرور فراهم میکند. این مفید و اغلب لازم است، زیرا کانال اجرا و اتصال هسته باید به میزبان راه دور برسند. اما هیچ نمیگوید که آیا هستهای از Wolfram روی آن میزبان وجود دارد، آیا مجوز یک فرایند همزمان دوم را میدهد یا آیا رابط جلویی برای استفاده از آن پیکربندی شده است.
لپتاپ مدیریتشده ممکن است فقط رابط جلویی را داشته باشد و حق به سرور وابسته باشد. عکس آن هم رخ میدهد: مجوز رومیزی روی لپتاپ به هستهای روی زیرساخت مشترک اجازه نمیدهد. هیچیک از این دو حالت با اتصال دوبارهٔ تونل درست نمیشود.
این فرض را زود بیازمایید. $MachineName را در دفترچهٔ تازه ارزیابی کنید و پاسخ را با میزبانی که انتظار دارید مقایسه کنید. اگر نام لپتاپ را برگرداند، سلول بهصورت محلی اجرا شده است، هرقدر هم VPN سالم به نظر برسد.
رابط جلویی را از ارزیاب جدا کنید
رابط جلویی همان پنجره است: سلولها را ویرایش میکند، خروجی را نمایش میدهد و فایل دفترچه را ذخیره میکند. هسته فرایندی است که عبارتها را ارزیابی میکند و تعریفها را در حافظه نگه میدارد. بستن رابط جلویی هسته را جابهجا نمیکند و ذخیرهٔ دفترچه وضعیت هسته را ذخیره نمیکند.
وقتی هستهٔ راه دور متصل شد، محل فایل دفترچه و پوشهٔ کاری هسته دو چیز جداگانهاند. Directory[] پوشهٔ ارزیاب را گزارش میدهد و این همان مسیری است که برای Import و Export و نامهای نسبی فایل اهمیت دارد. مجموعهدادهای که کنار دفترچه روی لپتاپ است برای هستهای که روی ماشین دیگری اجرا میشود دیده نمیشود.
پیش از نوشتن تحلیل تصمیم بگیرید دادهها چگونه به سرور برسند: یک محل نصبشدهٔ مشترک، یک گام انتقال تأییدشده، یا پایگاه دادهای که سرور میتواند مستقیماً به آن برسد. این انتخاب بر تکرارپذیری اثر میگذارد، زیرا دفترچهای که به مسیر لپتاپ وابسته است دفعهٔ بعد که کس دیگری آن را اجرا کند شکست میخورد.
هسته را از طریق کانال تأییدشده اجرا کنید
راهنمای هستههای راه دور Wolfram افزودن یک ورودی هسته، انتخاب ماشین راه دور و اجرا از طریق SSH را توصیف میکند. مسیر فایل اجرایی و آرگومانهای مثال به گردش کار همان محصول تعلق دارند؛ آنها را با میزبان و نسخهای که مدیر نام میبرد سازگار کنید، نه اینکه بدون تغییر بچسبانید.
هویت میزبان بخشی از راهاندازی است. کلید میزبان SSH را از طریق فرایند سازمان بررسی کنید، از روش احراز هویت صادرشده استفاده کنید و کلیدهای خصوصی و گذرواژهها را بیرون از فایلهای دفترچهای که به اشتراک گذاشته یا در مخزن ثبت میشوند نگه دارید. دفترچهای که فرمان اجرا همراه با گذرواژه دارد نشت اعتبارنامه است، نه راحتی.
بهعنوان میانبر یک شنوندهٔ WSTP را به اینترنت باز نکنید. الگوی پشتیبانیشده اجرای SSH است که کانال هسته را درون اتصالی احراز هویتشده نگه میدارد. اگر تیم شبکه انتقال دیگری را تأیید کرده است، از آن استفاده کنید، اما درگاه ارزیاب باز را تغییر طراحی بدانید، نه گامی از عیبیابی.
نخست حق، داده و اندازهٔ خروجی را بررسی کنید
با صاحب مجوز تأیید کنید که سرور میتواند برای این کاربر هسته اجرا کند و نشستهای همزمان مجاز هستند. محاسبات راه دور اغلب جدا از رابط جلویی رومیزی مجوز میگیرند و اجرای ناموفق بهدلیل حق، تا وقتی کسی پیام سرور را نخواند شبیه فرمان ناموفق SSH به نظر میرسد.
سپس اندازهٔ نتیجه را تخمین بزنید. هستهای که عبارتی چند گیگابایتی برمیگرداند آن را از کانال اجرا و کانال هسته به رابط جلویی میفرستد و این میتواند حافظهٔ لپتاپ را متوقف یا تمام کند. تجمیع سنگین را روی سرور نگه دارید و خلاصهها را برگردانید، یا نتایج بزرگ را در مسیری روی سرور بنویسید و آگاهانه منتقل کنید.
مسیر فایل اجرایی، آرگومانهای اجرا و پوشهٔ کاری را در یادداشتهای راهاندازی دفترچه ثبت کنید. آنگاه کاربر بعدی این چیدمان را بازتولید میکند نه اینکه دوباره کشف کند سرور کدام یک از پنج مسیر ممکن را به کار میبرد.
مراحل را به ترتیب عیبیابی کنید
پنج مرحله باید موفق شوند و هر یک آزمون جداگانهای دارد. از لپتاپ شروع کنید و در نخستین شکست بایستید، نه اینکه چند تنظیم را همزمان تغییر دهید:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'بررسی ناموفق TCP به مسیریابی، DNS یا مقصدهای مجاز VPN اشاره دارد. بررسی موفق TCP همراه با ورود ناموفق SSH به احراز هویت یا سیاست کلید میزبان اشاره دارد. ورودی که کار میکند اما هیچ فایل اجرایی پیدا نمیکند به نصب هسته یا مسیری که به رابط جلویی داده شده اشاره دارد. هستهای که شروع میشود اما هرگز متصل نمیشود به آرگومانهای اجرا یا دیوار آتش محلی اشاره دارد.
نخستین خطای معنادار را نگه دارید و مراحل سمت سرور را به مدیری بفرستید که آن ماشین را در اختیار دارد. بازساختن مکرر ورودی هسته پنهان میکند کدام مرحله واقعاً شکست خورده و شواهدی را که مدیر لازم دارد دور میریزد.
در پایان چیزی که میخواهید پنجرهای است که میشناسید، ارزیابی که میتوانید نامش را ببرید و مسیری توافقشده برای کد و فایلها. VPN یکی از اجزای این مسیر است و هرچه گردش کار زودتر آن را بازتاب دهد، زمان کمتری صرف اتصال دوبارهٔ تونلی میشود که هرگز مشکل نبود.