اینم یه تجربه پراکنده دیگه!

همینطور که قبلا نوشته بودم(لینک، لینک، لینک) من تقریبا دوسال میشه که یه سیستم تمام وقت روشن توی خونه دارم که باهاش کارهای بسیاری میکنم که لیست اون کارها از این قراره:

  1. یه ماشین مجازی کوچک دارم و pfsense مسئولیت مسیریابی خونه رو به عهده داره
  2. روش minidlna دارم  که مسئولیت تفریحات فیلمی خونه رو برعهده داره
  3. روش یه samba server دارم که مسئولیت اشتراک فایل رو برعهده داره
  4. روش یه seafile سرور دارم که مسئولیت بک آپ اتوماتیک از تصاویر تلفن‌ها و اطلاعات مهم لپ تاپ‌ها رو برعهده داره.
  5. روش یه deluge دارم که شبها تورنتها رو دانلود و آپلود میکنه
  6. روش یه سرور taskwarior دارم که نقط بک آپ مدیریت لیست کارهایی هست که در هفته انجام میدم

کانفیگ سیستم هم اصلا جدید نیست و یه سیستم میشه گفت بسیار قدیمیه

  1. سی پی یو: AMD sempron 3000+ AM2
  2. رم : ابتدا ۱ گیگ و سپس ارتقا به ۲٫۵ گیگ
  3. هارد: ۵۰۰ گیگ
  4. سیستم عامل: اوایل ubuntu server و mint

این سیستم تقریبا با ثبات بسیار خوبی این دو سال گذشته رو خدمت رسانی کرده و من ازش راضیم خدا هم ازش راضی باشه! توی این دو سال من تجربه بسیاری خوبی در مورد مدیریت یه سیستم تنها به کمک ssh داشتم. همچنین توی این دوسال خانمم هم به مدت کوتاهی از این سیستم به عنوان دسکتاپ استفاده کرده.

اما این سیستم بعد از دوسال نیاز به بروزرسانی داره و من میخوام به دلایل زیر این سیستم رو از نظر سخت افزاری و نرم افزاری ارتقا بدم

  1. پرشدن هارد بر اثر دانلود زیاد
  2. نیاز به راه‌اندازی یک NAS به دلیل نزدیک شدن به پایان عمر مفید هارد دیسک‌های اکسترنال(حدودا سال ۸۷ خریداری شده اند)
  3. یادگیری تکنولوژی‌های جدید
  4. بهینه سازی سیستم فعلی

اما طرح من برای بهینه کردن این سیستم از این قراره که:

  1. علی الحساب میخوام سه تا هارد دو ترا به سیستم اضافه کنم که یکیش بک آپ اون دوتای دیگه باشه. همچنین نمیخوام از کارت raid استفاده کنم و ترجیحم اینه که از سیستم فایل zfs استفاده کنم.
  2. میخوام بتونم روی این سیستم از مجازی سازی سبک یا همون container های استفاده کنم که این استفاده هم کلی چیز جدید به من یاد میده
  3. میخوام سیستم عامل رو سبک کنم و میزان مصرف منابع کاهش بدم. برای این کار به نظر میرسه باید از لینوکس به یه سیستم عامل دیگه مهاجرت کنم که این مهاجرت کلی مطالب جدید به من یاد میده
  4. در صورتی که پولم برسه میخوام یه ssd بخرم و اون رو به عنوان cache به zfs اضافه کنم,

چالشهای پیش روم هم ایناست:

  1. zfs یک سیستم فایل بسیار قوی هست اما من فکر نمیکنم که هنوز به اندازه کافی اون رو بلدم که بخوام بهش اعتماد کنم و کل هاردهام رو به اون بسپارم
  2. zfs روی سیستم عامل freebsd و illumos و حتی linux وجود داره اما من نمیدونم کدوم پیاده‌سازی بهتر و با ثبات تره. البته باید بگم که پیاده‌سازی‌های موجود روی این سیستم‌ها قدیمی و با ثبات هستن
  3. تکنولوژی مجازی سازی سبک یا container‌ ها همنطور که اینجا هم بررسی کردم روی لینوکس freebsd و illumos با هم متفاوته من هیچ دید عملیاتی ندارم که کدوم بهتره.
  4. هر کدوم از این سیستم‌های یه سری کارها رو راحت کردن مثلا freebsd با freenas و nas4free کار رو برای پیاده‌سازی آسون zfs راحت کرده و شیر کردن و تورنت بازی این چیزا خیلی ساده شده. همچنین illumos با یه محصول به نام smartos مجازی سازی و مجازی سازی سبک و مدیریت اونها رو بسیار ساده کرده. که این انتخاب رو سخت میکنه

حالا با توجه به اینکه انتخاب‌های من کم نیستن بایستی یکم بیشتر بررسی کنم و انتخاب کنم.

همین!

اینم یه تجربه پراکنده دیگه!

الوعده وفا! گفته بودم ایده‌هام رو مینویسم اینم اولین ایده.

خب اگه خواننده وبلاگ من بوده باشید، میدونید که من یه سری تکنولوژی‌های عجیب غریب توی خونه خودم پیاده‌سازی کردم. که ویژگی‌های زیر رو داره:

  • امکان file sharing داره
  • امکان پخش فایل‌های فیلم، صوت یا تصویر رو با استفاده از dlna داره.
  • امکان زمانبندی دانلود از طریق torrent رو داره که به درد خوره ‌های دانلود میخوره
  • من روی اون یه seafile نصب کردم که یه چیزی شبیه dropbox هست و فایل‌های مهم روی گوشی و لپ تاپم رو در چند نقطه backup میگیرم
  • همچنین آی پی من رو به صورت متناوب به  dynamic DNS گزارش میده و من میتونم از بیرون خونه به کامپیوتر خونه دسترسی داشته باشم.

حالا اگه کسی بتونه یه سیستم کوچک و ارزان تولید کنه که اول از همه یه واسط کاربری تو دل برو داشته باشه و این امکانات رو به کاربر نهایی بده احتمالا با اقبال عمومی مواجه میشه. پیشنهاد من واسه تولید این سیستم اینه:

  • استفاده از بردی مثل رزبری‌پای به عنوان اصل سیستم
  • نصب یک لینوکس خیلی سبک روی این سیستم
  • راه‌اندازی samba و مدیریتش توسط وب برای filesharing
  • راه‌اندازی minidlna یا سرویس‌های مشابه برای اشتراک فیل با تلوزیون‌های هوشمند
  • راه‌اندازی seafile و امکان تنظیم اون
  • امکان دانلود از torrent و لینک مستقیم رو داشته باشه
  • امکان اجرای دستور بصورت متناوب
  • امکان اتصال هارد دیسک یا هر سیستم usb دیگه به عنوان واسط ذخیره سازی
  • استفاده از یک usb hub برای افزایش تعداد هارد‌های متصل

از نظر من هزینه های تولید این سیستم به این شرحه

  • خرید برد با حدود ۲۰۰ هزار تومن
  • نوشتن واسط وب برای این سیستم که به نظر من بایستی با زبانی مثل python نوشته بشه که راحت بشه هم با سیستم عامل صحبت کرد و هم واسط وب ساخت. هزینه تخمینی تولید این نرم افزار از دید من عددی بین ۱۰ میلیون تومان تا ۱۵ میلیون تومان هست. یعنی اگه من به عنوان یه شرکت میخواستم این پروژه رو انجام بدم حداقل این عدد رو میگرفتم.
  • هزینه طراحی کیس و بسته بندی محصول که ایده‌ای ندارم چقدر میشه
  • هزینه کارت اس دی برای هر محصول

چالش‌های اساسی ساخت این سیستم

  • نیاز به رقابت با محصولات مشابه مثل set-top box و یا Western Digital TV و یا محصولات مشابه
  • نبود نیروی متخصص کافی برای تولید چنین محصولی
  • عدم وجود بازار فعلی برای این محصول. با توجه به شناخت شخصی من از بازار همین الان محصولات Western Digital بازار قابل توجهی ندارن
  • سخت بودن بازار رقابتی واردات محصولات الکترونیکی
  • در صورت مشتری داشتن نیاز به تعداد زیادی نیروی پشتیبانی برای محصول هست.

راه‌ بردهای جایگزین:

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

امیدوارم این محصول به درد کسی بخوره و من منتظر نظرات شما اینجا هستم

همین!

اینم یه تجربه پراکنده دیگه!

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

خب اول بگم که کل پارتیشن‌های لپ‌تاپ من ext4 بود و نمیشد بدون خراب کردن پارتیشن بندی این انتقال انجام بشه. همچنین حجم کل فایلهای روی لپ‌تاپ من عددی نزدیک به ۸۵۰ گیگا بایت بود که خب عدد بسیار بزرگیه. همچنین باید بگم که کارت شبکه لپ تاپ من متاسفانه ۱۰۰ مگه.

مراحل کارهای انجام شده اینا بود:

  • نصب کردن لینوکس روی لپ تاپ  مقصد
  • نصب samba رو کامپیوتر خودم
  • مونت کردن samba به عنوان یک فولدر در لپ تاپ مقصد
  • و کپی کردن بهینه فایلها با استفاده از rsync

نکته اساس این کار استفاده از rsync هست چون حجم اطلاعات اونقدر زیاده که حدودا ۲۰ ساعت انتقالش طول میکشه. توی این زمان زیاد هزارتا اتفاق ممکنه بیفته از قطع شدن برق تا مشکل شبکه و حتی در موارد خاص قاط زدن سیستم عامل. مزیت rsync اینه که بصورت بهینه کلی فایل رو کپی میکنه و هیچ پیش فرضی نداره که همه انتقال پشت سر هم انجام بشه و انتفاق میتونه قطع بشه و دوباره شروع بشه. همین باعث میشه که من با خیال راحت‌تر انتقال رو انجام بدم و تا الان حدود ۳۵۰ گیگ از اطلاعات رو انتقال بدم و هنوز هم انتقال ادامه داره.

همین!

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

اینم یه تجربه پراکنده دیگه!

امروز میخوام درباره Network Attached Storage یا همون NAS یکم بنویسم. خب از اونجایی که من علاقه‌مند به سیستم های متن بازم پس بازهم در مورد راهکارهایی که متن باز این سیستم رو پیاده‌سازی میکنن حرف میزنم. فکر کنم که بهتره هرچه سریعتر لیست این محصولات رو بگم:

من متاسفانه هیچکدوم از این محصولات رو توی خونه ندارم ولی دوست داشتم که یه کامپیوتر کم مصرف داشتم که بتونم یه دونه رو راه بندازم. اما توی شرکت ما از NAS4Free استفاده می‌کنیم که تا الان با کیفیت خوبی جواب کارمون رو داده.

پروتکل‌های ارتباطی که معمولا هر کدوم از این محصولات پشتیبانی میکنند هم توی لیست پایین اومدن:

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

مقایسه FreeNAS با Openfiler توی این لینک پیدا میشه

مقایسه FreeNAS با NAS4Free توی این لینک پیدا میشه

همین!