آموزش رزبری پای گنو/لینوکس

آموزش کلاستر کردن رزبری‌پای (۲)

build-your-own-supercomputer-out-of-raspberry-pi-boards
نوشته شده توسط اروند طباطبایی

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

کانفیگ کردن کلاستر

اولین کاری که باید انجام دهیم این است که جدیدترین نسخه رزبین را برای یک SD پیاده‌سازی کنیم و سپس آن را بر روی ۳ کارت SD دیگر نیز کپی کنیم و به هر رزبری پای یک کارت SD اختصاص دهیم. سپس به وصیله روتر ip های مورد نظر را به دستگاه‌ها اختصاص میدهیم؛ در اینجا من ip با مشخصات : ۱۹۲٫۱۶۸٫۱٫۱۷۳ را برای رزبری اصلی و ۱۷۷ و ۱۷۸ و ۱۸۰ را نیز برای سه رزبری زیر شاخه در نظر گرفته ام.

سپس باید به node ها لاگین کردن و با دستور زیر آها را کانفیگ خواهیم کرد :

 

و به قسمت فایل سیستم‌ها رفته و فایل سیستم روت را expand میکنیم تا حجم آن افزایش پیدا کند و همچنین برای امنیت بیشر پسورد های پیشفرض هر رزبری را نیز عوض میکنیم. پس از آن من node ها را تغییر نام دادم و آن‌ها به صوت زیر نامگذاری کردم :

rpi0 برای گره اصلی یا همان رزبری کنترل کننده بقیه وبرد های دیگر نیز به ترتیب rpi1 و rpi2 و rpi3 نامگذاری شده اند.

پس از انجام این‌ها فایل /etc/hosts را نیز در هر node کمی ویرایش کرده‌ایم و چیزی شبیه به زیر در آن خواهیم داشت :

 

پس از آن کمی جلوتر رفتیم و ssh key نیز برای همه ۴ گره خود ایجاد کردیم و برای آن‌ها نیز pass phrase در نظر نگرفتیم و کلید پابلیک هر نود را با ۳ نود دیگر به اشتراک گذاشتیم تا ارتباط آن در هنگام کلاستر به راحتی برقرار شود و اینکار بدین معنی است که میتوانیم بدون وارد کردن پسورد به هرکدام از رزبری ها ssh بزنیم اما هنوز هم نیاز به وارد کردن رمز عبور برای node0 یا همان سرشاخه کلاستر داریم.

اضافه کردن دیسک

یکی از چیزهایی که به گره اصلی اضافه کردیم یک فلش مموری ۶۴ گیگابایتی است که بسیار آسان نیز mount خواهد شد.

 

اما اگر میخواهید تا در هنگام بوت به صورت اتوماتیک mount شود نیاز دارید تا فایل /etc/fstab را همانند زیر ویرایش کنید :

 

ما کمی فراتر رفته‌ایم و میخواستیم اوضاع به گونه‌ای باشد که فلش مموری از هر ۳ node دیگر نیز قابل دسترسی باشد. برای اینکار ما از NFS و autoFS استفاده کردیم؛ برای اینکار نیاز داریم تا nfs client را بر روی هر ۴ دستگاه نصب کنیم.

 

و در زیر شاخه‌های سیستم اصلی نیاز داریم تا mount point مناسبی را نیز ایجاد کنیم :

RPiImage3

و سپس در node شماره ۰ یا همان سیستم اصلی نیاز داریم تا nfs server را نصب کنیم

 

سپس فایل /etc/exports را نیز ویرایش میکنیم :

 

برای اضافه کردن ۳ گره پجهت پردازش ها بعد از ویرایش این فایل نیاز داریم تا سرویس های RPC را ریستارت کنیم :

 

پس از ریبوت کردن میتوانید یکی از node ها را چک کنید تا معلوم شود آیا تنظیمات به درستی صورت گرفته است و میتوان به فلش مموری از طریق NFS در هر ۳ گره دسترسی داشته یا نه؟ پس از آن نیاز دارید تا فایل fstab را ویرایش کنید و همانند قبل دیسک ها را به آن اضافه کنید. پس از آن برای جلوگیری از مشکلات بوت شدن باید auto fs را نصب کنیم.

 

سپس فایل /etc/auto.master را ویرایش کنید و خط زیر را به آن اضافه میکنیم :

 

و پس از آن نیز فایل /etc/auto.nfs را ایجاد کرده و خط زیر را به آن اضافه کنید :

 

حال باید سرویس auto fs را ریستارت کنیم :

 

اگر همه چیز به خوبی و بدون مشکل پیش برود و به دایرکتوری /mnt/nfs/rpi0 بروید باید دیسکی که به گره اصلی متصل شده است به صورت خودکار mount شود. میتوانید آن را چک کنید :

 

و اگر آن را در این لیست مشاهده کردید بدین معنی است که دیسک به درستی متصل شده است.

چراغ چشمک‌زن

از آنجایی که یک blinkstick نیز به زیبایی بیشتر رزبری های کلاستر شده ما اضافه میکند تصمیم گرفتیم یکی از آن‌ها را نیز در cluster ها به کار ببریم. میتوانیم نرم‌افزار آن را با دستورات زیر نصب کنیم و سپس آن را از طریق usb به سیستم خود متصل کنید.

blinkstick-rpi-cluster

همچنین دستکاری کردن LED های RGB از داخل ترمینال نیز بسیار آسان است و میتوانید موارد زیبایی را با آن درست کنید.

همچنین میتوانید از blink stick برای نشان دادن وضعیت cluster ها و عملیات های در حال انجام در سیستم استفاده کنید. برای اینکار نیاز دارید تا از api مخصوص استفاده کرده و با زبان برنامه نویسی مورد علاقه خود اینکار را برای برد ها انجام دهید.

 

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

درباره نویسنده

اروند طباطبایی

هرچه می آموزم میبینم که خیلی کم آموختم. در حال حاضر مدیریت تولید مقطع کارشناسی ارشد هستم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

۴ دیدگاه

  • آقای طباطبایی سلام .خسته نباشید
    من مطالب آردوینو سایت را کامل دنبال میکنم ومطالب شمارا روزنامه وار نگاه میکنم.یه نقد کوچولو در مورد کار شما دارم.از هر هزار نفر شاید یک نفر لینوکس کار میکنه اصلا بحث مقایسه با ویندوز نیست.اون یک نفری هم که لینوکس کاره رزبری کار نیست.به نظر من مطالب شما به درد کاربلدها میخوره نه تازه کارها.ممکنه خواهش کنم اگه ممکنه فرض را بر این بگذاریدکه تقریبا تمامی افراد لینوکس کار نیستند وآموزشهاتون را ازمطالب پایه شروع کنید یا یک سایت پایه را معرفی کنید.من مطمئن هستم با تمام زحماتی که شما میکشید شاید تو ایران ۲۰،۳۰ نفری بتونن از مطالب خوب شما استفاده کنن.
    باز هم کمال تشکر را اززحمات شما دارم.

    • درود
      ممنون از اینکه نظرتون رو بیان کردید این باعث میشه که ما تلاش کنیم و نیازهای کاربران را بهتر شناسایی کنیم و مطالب را بر مبنای آن بسازیم و خیلی خوشحال شدم که صادقانه نظر خودتون رو بیان کردید؛ کمی دیر بهتون پاسخ دادم اما سعی کردم بهترین جواب رو با خودم داشته باشم؛ همچنین برنامه‌هایی بر مبنای نظر شما در نظر گرفتم.
      در زمینه مقایسه کاربران لینوکس و ویندوز کاملا حق با شماست اما در زمینه رباتیک موضوع کاملا برعکس است رباتیک مبحثی است شدیداً وابسته به لینوکس و در مواردی همچون هوش مصنوعی لینوکس قدرت خود را به نمایش خواهد گذاشت؛ بنابراین سعی داریم دیجی اسپارک را پایگاهی تخصصی کنیم برای آموزش‌های الکترونیکی و رباتیک و همینطور که میدونید یادگرفتن لینوکس برای این موارد هم نیاز میشه و حتی برای برنامه نویسی و کارهای جانبی نیز لینوکس بهترین ابزار هارو برای اینکار ارائه میده. به همین جهت آموزش‌هایی که میگذاریم قشر خاصی از کاربران رو شامل میشه که در زمینه‌های نامبرده شده فعالیت دارند و برای بهتر شدن هر روزشون توی پروژه ها و کاربا دستگاه‌ها همیشه تلاش میکنیم.
      تیم دانشجوکیت نظر ویژه ای هم به دستگاه های embeded مث رزبری داره و رزبری رو اگر تست کرده باشید بهترین سیستم عامل هایی که میتونید روی اون داشته باشید لینوکسی ها هستن و ویندوز عملا در رزبری کار بسیار خاصی انجام نمیده.
      سعی می کنم یک سری آموزش های پیوسته در این زمینه را شروع کنم با دیدگاه کاربران مبتدی و در این آموزش‌ها لینوکس را از پایه و شروع آموزش بدم و تا جایی که امکان و تواناییشو داشته باشم در این موضوعات پیش خواهم رفت.
      بازهم تشگر میکنم از اینکه نظرتون رو بیان کردید و منتظر آموزش‌های پایه تا پیشرفته ما در مبحث لینوکس باشید 🙂

  • سلام دوست عزیز
    من مدت ۳ سال تخصصی روی رازبری کار کردم و کارگاه و ورکشاپهای زیادی برگزار کردم که البته خارج از ایران بوده . برای تعطیلات به ایران امدم و وقتی دیدم که این سیستم هم به ایران امده با همکاری یکی از دوستان یک مجموعه فیلم آموزشی فارسی که از سطح مبتدی هست رو شروع کردیم که به زودی کار تدوینش تمام خواهد شد. که من اینجا اطلاع رسانی خواهم کرد.
    در ضمن اگر بتوانید یک ورکشاپ گروهی را هماهنگ کنید من میتوانم تدریس کنم . البته تا قبل از رفتنم .
    اگر مایل بودید به فیس بوک تخصصی من هم میتوانید ارتباط داشته باشید.

    • سلام خدمت شما دوست عزیز
      خوشحال میشیم اگه زمینه ها همکاری ما و شما فراهم بشه و از این موضوع استقبال خواهیم کرد.
      و پیشنهاهد هایی که ارائه خواهید داد رو بررسی میکنیم.

دیدگاهتان را بنویسید