RAID (آرایه چندگانه دیسک‌های مستقل)

RAID (آرایه چندگانه دیسک‌های مستقل و به عبارت دیگر، آرایه چندگانه از دیسک‌های ارزان قیمت)، روشی است برای ذخیره داده‌های یکسان در مکان‌های مختلف، در چندین دیسک سخت تا از داده‌ها در صورت خرابی درایو محافظت نماید. با این حال، این افزونگی را تمام سطوح RAID ارائه نمی‌دهد.

تاریخچه RAID

اصطلاح RAID در سال 1987 توسط David Patterson، Randy Katz و Garth A. Gibson  ابداع شد. در گزارش فنی آن‌ها در سال 1988 با عنوان "موردی برای آرایه‌های چندگانه از دیسک‌های ارزان قیمت" (RAID)  اعلام شد؛ که آرایه‌ای از دیسک‌های ارزان قیمت می‌تواند از لحاظ عملکرد بسیار برتر از دیسک‌های موجود در آن زمان عمل کنند. با استفاده از این افزونگی، یک آرایه RAID می‌تواند از هر دیسک معمولی قابل اطمینان تر عمل نماید.

این گزارش اولین گزارشی بود که نام این مفهوم را بیان کرد و قبل از آن نیز استفاده از دیسک‌های چندگانه توسط دیگران مورد بحث قرار گرفته بود. Gus German و Ted Grunau از شرکت ،Geac Computer Corp اولین بار از این ایده به عنوان MF-100 یاد کردند. Norman Ken Ouchi از IBM نیز در سال 1977 حق ثبت اختراع را برای یک فناوری مشابه با آن ثبت كرد؛ كه بعداً به RAID 4 نامگذاری شد. در سال 1983، Digital Equipment Corp نیز درایوهایی را با نام RAID 1 به بازار عرضه کرد و در سال 1986، حق ثبت اختراع برای IBM دیگری به منظور RAID 5 ارائه شد. Patterson، Katz  و Gibson نیز در جهت تحقیقاتی که در شركت‌هایی مانند Tandem Computer ،Thinking Machines و Maxstor انجام شده بود یک طبقه بندی از RAID ارائه دادند.

اگرچه سطوح RAID ذکر شده در گزارش سال 1988در واقع برروی فناوری‌هایی که از قبل استفاده شده بودند تنها نام گذاری کرد، این گزارش با ارائه اصطلاحات رایج برای این مفهوم به شبیه سازی بازار ذخیره داده برای توسعه بیشتر محصولات آرایه RAID کمک نمود.
به گفته Katz، اصطلاح ارزان (inexpensive) در کلمه اختصار RAID، به زودی با اصطلاح مستقل (independent) به دلیل پیامدهای کم بودن هزینه توسط فروشندگان صنعت جایگزین خواهد شد.

ادامه‌ی مطلب

رفع خطای 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111)

این مقاله، اقدامات لازم برای رفع خطای "ERROR 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111)" را ارائه می دهد؛ که ممکن است هنگام دسترسی به سرور پایگاه داده MySQL با آن رو به رو شوید.
اگر شما یک کاربر جدید لینوکس هستید؛ که به تازگی با MySQL/MariaDB آشنا شده اید، پیشنهاد می کنیم مقاله "چگونگی نصب Apche، MySQL و PHP برروی Ubuntu 18.04" را مطالعه نمایید.
از طرف دیگر، اگر از قبل یک کاربر با تجربه MySQL هستید؛ می‌توانید با مطالعه مقاله "نکات مفید برای رفع خطاهای رایج در MySQL" بر مهارت خود بیفزایید.
توجه: در این آموزش فرض بر این است که شما قبلاً سرور پایگاه داده mysql را نصب کرده‌اید.
برخی از دلایل احتمالی رخداد خطای "ERROR 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111)" می‌تواند به صورت زیر باشد:
•    خرابی شبکه، به ویژه اگر سرور پایگاه داده mysql برروی یک هاست ریموت در حال اجرا باشد.
•    عدم اجرای هیچ سرور mysql بر روی آن هاست
•    مسدود شدن اتصال TCP-IP توسط فایروال
•        ...
در ادامه، اقدامات اساسی برای مقابله با این خطا ارائه شده‌است.

ادامه‌ی مطلب

تغییر نسخه پیشفرض PHP CLI در لینوکس


ممکن است فکر کنید کد‌هایی که به زبان PHP نوشته می‌شوند، فقط توسط وب‌سرور قابل اجرا هستند؛ اما این تمام ماجرا نیست! زبان PHP قابلیت اجرا توسط خط فرمان را نیز دارا می‌باشد که اصطلاحا به آن PHP-cli می‌گویند؛ اما اگر شما چند نسخه PHP بر روی سیستم خود نصب داشته باشید و دستور PHP را اجرا کنید، کدام نسخه از زبان PHP فراخوانی خواهد شد؟ برای فهمیدن این موضوع، دستور زیر را اجرا کنید:

php -v

خروجی این دستور، نسخه پیشفرض PHP را نشان می‌دهد:


اما اگر شما چند نسخه PHP بر روی سیستم خود نصب داشته باشید و بخواهید نسخه دیگری از PHP به عنوان نسخه پیشفرض تنظیم کنید، راه حل چیست؟ در این آموزش راه حل این مورد را بررسی خواهیم کرد.

ادامه‌ی مطلب

نحوه بازنشانی آخرین commit در گیت (git)


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

فرض کنید شما یک یا چند کامیت در پروژه خود اضافه کردید؛ اما به دلیل یک اشتباه نیاز دارید تا وضعیت پروژه را به چند کامیت قبل بازگردانید؛ در این مقاله می‌خواهیم نحوه بازگشت به یک یا چند Commit قبل‌تر را مورد بررسی قرار دهیم.

ادامه‌ی مطلب

رفع خطای Error found when loading /root/.profile در لینوکس

اخیرا بعد از فعال کردن کاربر root برای محیط گرافیکی و ورود با استفاده از این کاربر در سیستم‌عامل گنو/لینوکس توزیع اوبونتو، با مشکل بالا برخورد کردم که خطای زیر را نمایش می‌داد:

 Error found when loading /root/.profile
mesg: ttyname failed: Inappropriate ioctl for device
As a result the session will not be configured correctly.
You should fix the problem as soon as feasible.

در ادامه مطلب به بررسی راه‌حل این مشکل می‌پردازیم.

ادامه‌ی مطلب

غیرقابل حذف/تغییر کردن فایل ها در لینوکس با دستور chattr


Chattr (Change Attribute) یک ابزار خط فرمان لینوکس است که برای تنظیم/حذف ویژگی‌های خاص یک فایل در سیستم لینوکس استفاده می‌شود؛ با استفاده از این دستور می‌توان از حذف یا تغییر تصادفی فایل‌ها و پوشه‌های مهم، حتی برای کاربر Root را جلوگیری کرد.
هر فایل می‌توان ویژگی‌هایی منحصر به فرد را داشته باشد؛ به این ویژگی‌ها پرچم می‌گوییم؛ تمامی فایل‌سیستم‌های اصلی لینوکس، یعنی ext2، ext3، ext4، btrfs و ... از همه پرچم‌ها پشتیبانی می‌کنند؛ اما سایر فایل‌سیستم‌ها مثل NTFS مایکروسافت از همه این پرچم‌ها (ویژگی‌ها) پشتیبانی نمی‌کنند.
هنگامی‌که ویژگی‌ها با دستور chattr تنظیم می‌شوند، هیچ کاربری نمی‌تواند آن فایل/پوشه را حذف کرده و یا تغییر دهد، حتی اگر کاربر تمام مجوزها را روی آن فایل/پوشه داشته باشد؛ این دستور برای تنظیم ویژگی‌های موجود در فایل‌های سیستمی مانند فایل‌های passwd و shadow که اطلاعات کاربر در آن قرار دارد، بسیار مفید است.

ادامه‌ی مطلب

رفع خطای 500 یا Internal Server Error در وردپرس


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

ادامه‌ی مطلب

حل مشکل بزرگ بودن فایل آپلود شده در وردپرس


وردپرس یک سیستم مدیریت محتوا محبوب است؛ اما با این حال مشکلاتی نیز دارد؛ یکی از آنها خطای مربوط به بزرگ‌تر بودن سایز فایل بارگذاری شده از مقدار upload_max_filesize در php.ini است. زمانی که در وردپرس کاربر فایل‌ها، قالب‌ها یا تصاویر با حجم بیش از اندازه پیشفرض را بارگذاری کند؛ به دلیل تنظیمات سمت سرور که اندازه فایل‌ها را محدود می‌کند، چنین خطایی رخ می‌دهد؛ در این نحوه تنظیم پارامترهای مناسب برای رفع خطای اندازه فایل آموزش داده می‌شود.

ادامه‌ی مطلب

بررسی باز بودن پورت های یک آی پی با دستور nc


به بیان ساده، به راه‌های ورودی به یک کامپیوتر پورت می‌گویند؛ هر کدام از این پورت‌ها با یک عدد مشخص می‌شوند که بین 1 تا 65535 می‌باشد؛ به عنوان مثال برای ورود به سرویس MySQL در یک کامپیوتر، باید از پورت 3306 استفاده کنیم. برای بررسی باز بودن یک پورت بر روی کامپیوتر یا سرور خودمان، می‌توانیم از دستور netstat استفاده کنیم؛ اما در صورتی که بخواهیم از باز بودن یک پورت در یک کامپیوتر یا سرور دیگر مطلع شویم، راه چیست؟ دستور netcat این امکان را به ما می‌دهد! قبل از اتصال به یه پورت خاص در یک سرور، بهتر است بدانیم کدام ‌پورت‌ها باز بوده و در حال اجرای سرویس برروی آن دستگاه ‌می‌باشد.

در این جا، ما چگونگی تعیین پورتهای باز یا دردسترس یک سرور ریموت را با استفاده از دستور ساده netcat (یا به طور اختصار nc) آموزش ‌می‌دهیم.

ادامه‌ی مطلب

PHP چیست؟

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

ادامه‌ی مطلب

صفحه: