ابتدا با تعریف یک بد سکتور یا بد بلاک شروع میکنیم. این block یا bad sector در حقیقت یک قسمتی روی دیسک درایو یا فلش مموری میباشد که نمیتواند خوانده شود یا روی آن چیزی نوشته شود که میتواند در نتیجه یک تغییر فیزیکال روی سطح دیسک و یا مشکل در ترانزیستورهای فلش مموری پیش بیاید.
توصیه میشود این مقاله را هم مطالعه کنید :
آموزش Defrag کردن دیسک (پارتیشن ها و دایرکتوری ها) در لینوکس
نحوه بازیابی اطلاعات حذف شده در لینوکس
نحوه استفاده از دستور fsck برای رفع خطاهای فایل سیستم در لینوکس
از آنجایی که این سکتورها به انباشته شدن روی هم ادامه میدهند میتوانند ناخواسته و به صورت کاملا مخرب روی دیسک درایو یا حافظه فلش مموری شما تاثیر بگذارند، و یا حتی منجر به نقص سخت افزاری بشوند.
همچنین باید دقت کنید که همیشه از وجود بلاک های بد باید سریعا مطلع شوید تا به خرید یک دیسک درایو جدید فکر کنید یا به آسانی بلاک های بد را با عنوان unusable (غیر قابل استفاده) مارک کنید.
بنابراین در این مقاله ما مراحل ضروری که شما را به تشخیص وجود یا عدم وجود سکتورهای بد روی هارد درایو یا فلش مموری سیستم لینوکس شما قادر میسازد با استفاده از ابزار Disk Scanning مورد بحث قرار میدهیم.
موارد زیر روش های مورد استفاده میباشد :
چک کردن بدسکتور در دیسک های لینوکسی با استفاده از ابزار badblocks
برنامه badblocks به کاربران کمک میکند تا یک دیوایس را به منظور بررسی هر گونه سکتور یا بلاک بد اسکن کند. این دیوایس میتواند یک هارد دیسک یا یک دیسک درایو اکسترنال باشد که از طریق یک فایل مانند /dev/sdc/ نمایش داده میشود.
در ابتدا از دستور fdisk با پرمیژن یک superuser را برای نمایش اطلاعات درباره تمامی دیسک درایوها یا فلش مموری تان بعلاوه پارتیشن های آنها استفاده میکنیم.
سپس دیسک درایو لینوکسی تان را برای بررسی بد سکتور یا بلاک های بد و با تایپ کردن دستور زیر scan کنید.
در دستور بالا برنامه badblocks در حال اسکن دیوایس /dev/sda10 میباشد (فراموش نکنید که دیوایس واقعی تان را مشخص کنید) با آپش -v میتوان جزئیات عملیات را نمایش داد. بعلاوه نتایج عملیات در فایل badsectors.txt که خودمان خروجی را به سمت آن redirect کردید ذخیره میشوند.
در مواردی که شما هرگونه بدسکتوری روی دیسک تان کشف کردید دیسک را unmount کنید و به فایل سیستم اجازه رایت کردن روی سکتورهای گزارش داده شده را ندهید همانطور که در زیر توضیح داده شده است.
شما نیاز دارید که از دستور e2fsck (برای فایل سیستم ها ext2/ext3/ext4) یا دستور fsck به همراه فایل badsectors.txt و فایل device همانطور که در دستور زیر نمایش داده شده استفاده کنید.
آپشن -l به کامند میگوید که تعداد بلاکی که در فایل (badsectors.txt) مشخص و لیست شده اند به لیست بلاک های بد اضافه کند.
اسکن بدسکتور روی لینوکس با استفاده از Smartmontools
این روش برای دیسک های جدید ( هارد درایوهای ATA, SATA, SCASI, SAS و همچنین درایوهای solid-state یا همان SSD) موثر و قابل اعتمادتر است ازآنجایی که این دیسک ها با یک سیستم S.M.A.R.T (تکنولوژی Self-Monitoring, Analysis و Reporting) تجهیز شده اند که به تشخیص، گزارش و log وضعیت سلامتشان کمک میکند در نتیجه شما میتوانید هر نقص سخت افزاری در حال وقوع را مطلع شوید. شما میتوانید با استفاده از دستورات زیر smartmontools را نصب کنید.
به محض اینکه نصب کامل شد از دستور smartctl برای کنترل سیستم S.M.A.R.T یکپارچه درون یک دیسک استفاده میشود. شما میتوانید از صفحه man این دستور و یا صفحه help ان ّکمک بگیرید، همانطور که در زیر مشاهده میکنید.
اکنون دستور smartctl را اجرا کنید و نام دیوایس مورد نظرتان را به عنوان یک argument به همراه دستور مشخص کنید. آپشن -h یا --health که در دستور مشاهده میکنید برای نمایش نتیجه تست self-assessment درSMART برای تشخیص سلامت کلی دیوایس مورد استفاده قرار میگیرد.
نتیجه بالا مشخص میکند که هارد دیسک تان سالم است و شما به این زودی ها مشکلی در آن تجربه نخواهید کرد.
برای یک مشاهده کلی از اطلاعات دیسک از آپشن -a یا --all استفاده کنید تا تمام اطلاعات S.M.A.R.T مرتبط با یک دیسک نمایش داده شود و آپشن -x یا --xall که تمامی اطلاعات S.M.A.R.T و حتی اطلاعات نامربوط به S.M.A.R.T درباره دیسک را نمایش میدهد.
در این پست ما یک موضوع خیلی مهم را درباره تشخیص سلامت دیسک درایو مورد بحث قرار دادیم امیدواریم برای شما مفید واقع شود همچنین اگر شما هرگونه تجربیاتی در باره استفاده از این دستور دارید باعث خوشحالیست که آنرا با ما درمیان بگذارید.
توصیه میشود این مقاله را هم مطالعه کنید :
آموزش Defrag کردن دیسک (پارتیشن ها و دایرکتوری ها) در لینوکس
نحوه بازیابی اطلاعات حذف شده در لینوکس
نحوه استفاده از دستور fsck برای رفع خطاهای فایل سیستم در لینوکس
از آنجایی که این سکتورها به انباشته شدن روی هم ادامه میدهند میتوانند ناخواسته و به صورت کاملا مخرب روی دیسک درایو یا حافظه فلش مموری شما تاثیر بگذارند، و یا حتی منجر به نقص سخت افزاری بشوند.
همچنین باید دقت کنید که همیشه از وجود بلاک های بد باید سریعا مطلع شوید تا به خرید یک دیسک درایو جدید فکر کنید یا به آسانی بلاک های بد را با عنوان unusable (غیر قابل استفاده) مارک کنید.
بنابراین در این مقاله ما مراحل ضروری که شما را به تشخیص وجود یا عدم وجود سکتورهای بد روی هارد درایو یا فلش مموری سیستم لینوکس شما قادر میسازد با استفاده از ابزار Disk Scanning مورد بحث قرار میدهیم.
موارد زیر روش های مورد استفاده میباشد :
چک کردن بدسکتور در دیسک های لینوکسی با استفاده از ابزار badblocks
برنامه badblocks به کاربران کمک میکند تا یک دیوایس را به منظور بررسی هر گونه سکتور یا بلاک بد اسکن کند. این دیوایس میتواند یک هارد دیسک یا یک دیسک درایو اکسترنال باشد که از طریق یک فایل مانند /dev/sdc/ نمایش داده میشود.
در ابتدا از دستور fdisk با پرمیژن یک superuser را برای نمایش اطلاعات درباره تمامی دیسک درایوها یا فلش مموری تان بعلاوه پارتیشن های آنها استفاده میکنیم.
کد PHP:
$ sudo fdisk -l
سپس دیسک درایو لینوکسی تان را برای بررسی بد سکتور یا بلاک های بد و با تایپ کردن دستور زیر scan کنید.
کد PHP:
$ sudo badblocks -v /dev/sda10 > badsectors.txt
در دستور بالا برنامه badblocks در حال اسکن دیوایس /dev/sda10 میباشد (فراموش نکنید که دیوایس واقعی تان را مشخص کنید) با آپش -v میتوان جزئیات عملیات را نمایش داد. بعلاوه نتایج عملیات در فایل badsectors.txt که خودمان خروجی را به سمت آن redirect کردید ذخیره میشوند.
در مواردی که شما هرگونه بدسکتوری روی دیسک تان کشف کردید دیسک را unmount کنید و به فایل سیستم اجازه رایت کردن روی سکتورهای گزارش داده شده را ندهید همانطور که در زیر توضیح داده شده است.
شما نیاز دارید که از دستور e2fsck (برای فایل سیستم ها ext2/ext3/ext4) یا دستور fsck به همراه فایل badsectors.txt و فایل device همانطور که در دستور زیر نمایش داده شده استفاده کنید.
آپشن -l به کامند میگوید که تعداد بلاکی که در فایل (badsectors.txt) مشخص و لیست شده اند به لیست بلاک های بد اضافه کند.
کد PHP:
------------ Specifically for ext2/ext3/ext4 file-systems ------------
$ sudo e2fsck -l badsectors.txt /dev/sda10
OR
------------ For other file-systems ------------
$ sudo fsck -l badsectors.txt /dev/sda10
اسکن بدسکتور روی لینوکس با استفاده از Smartmontools
این روش برای دیسک های جدید ( هارد درایوهای ATA, SATA, SCASI, SAS و همچنین درایوهای solid-state یا همان SSD) موثر و قابل اعتمادتر است ازآنجایی که این دیسک ها با یک سیستم S.M.A.R.T (تکنولوژی Self-Monitoring, Analysis و Reporting) تجهیز شده اند که به تشخیص، گزارش و log وضعیت سلامتشان کمک میکند در نتیجه شما میتوانید هر نقص سخت افزاری در حال وقوع را مطلع شوید. شما میتوانید با استفاده از دستورات زیر smartmontools را نصب کنید.
کد PHP:
------------ On Debian/Ubuntu based systems ------------
$ sudo apt-get install smartmontools
------------ On RHEL/CentOS based systems ------------
$ sudo yum install smartmontools
کد PHP:
$ man smartctl
$ smartctl -h
کد PHP:
$ sudo smartctl -H /dev/sda10
نتیجه بالا مشخص میکند که هارد دیسک تان سالم است و شما به این زودی ها مشکلی در آن تجربه نخواهید کرد.
برای یک مشاهده کلی از اطلاعات دیسک از آپشن -a یا --all استفاده کنید تا تمام اطلاعات S.M.A.R.T مرتبط با یک دیسک نمایش داده شود و آپشن -x یا --xall که تمامی اطلاعات S.M.A.R.T و حتی اطلاعات نامربوط به S.M.A.R.T درباره دیسک را نمایش میدهد.
در این پست ما یک موضوع خیلی مهم را درباره تشخیص سلامت دیسک درایو مورد بحث قرار دادیم امیدواریم برای شما مفید واقع شود همچنین اگر شما هرگونه تجربیاتی در باره استفاده از این دستور دارید باعث خوشحالیست که آنرا با ما درمیان بگذارید.