Работа с дисками: различия между версиями

Материал из ALT Linux Wiki
м (опечатка в пред.правке)
(не показано 12 промежуточных версий 8 участников)
Строка 1: Строка 1:
[[Category:Documentation]]
[[category:admin]]
[[category:использование оборудования]]
{{Викифицировать}}
{{Crap}}
{{MovedFromFreesourceInfo|AltLinux/Документация/РаботаСДисками}}
== Работа с дисками ==
== Работа с дисками ==


См. также [[Документация/ТестированиеКомпьютера|ТестированиеКомпьютера]]
См. также [[Документация/ТестированиеКомпьютера|ТестированиеКомпьютера]]


<div style="display: inline; color: red;">Не рекомендуется использовать программы fdisk/cfdisk для первичного разбиения диска, один из разделов в котором предназначен для загрузки Windows</div>. Используйте parted.
Не рекомендуется использовать программы fdisk/cfdisk для первичного разбиения диска, один из разделов в котором предназначен для загрузки Windows. Используйте parted.


0. Создать загрузочную запись
0. Создать загрузочную запись
Строка 17: Строка 9:


1. Увидеть, что пишет система о дисках при загрузке  
1. Увидеть, что пишет система о дисках при загрузке  
# dmesg | grep hd  
# dmesg | grep sd
или, на старых (< 2.6.18) ядрах
# dmesg | grep hd  
 
2. Вывести перечень всех разделов и всех дисков  
2. Вывести перечень всех разделов и всех дисков  
# fdisk -l  
# fdisk -l
либо команда 
# blkid
   
   
3. Полная информация о диске  
3. Полная информация о диске  
# hdparm -I /dev/hd?
# hdparm -I /dev/sda
   
   
4. Вывести информацию о состоянии диска  
4. Вывести информацию о состоянии диска  
Пакет: smartmontools
# smartctl -a /dev/sda
<div style="display: inline; color: red;">Не забывайте указывать параметр -d ata если у вас SATA-диск</div>
# smartctl -a /dev/hd?
Запустить внутренний тест диска
Запустить внутренний тест диска
# smartctl -t short /dev/hd?
# smartctl -t short /dev/sda
или
# smartctl -t long /dev/sda
   
   
5. Программа работы с разделами диска  
5. Программа работы с разделами диска  
# parted /dev/hd?  
# parted /dev/sd?  
   
   
6. Программы восстановления потерянных разделов  
6. Программы восстановления потерянных разделов  
# testdisk (более user-friendly)
# testdisk (более user-friendly)
# gpart (более могучая, но надо тщательно читать man)
# gpart (более могучая, но надо тщательно читать man)
   
   
7. Графическая программа для работы с разделами диска  
7. Графическая программа для работы с разделами диска  
$ qtparted  
$ qtparted  
   
   
8. Вывод температуры диска  
8. Вывод температуры диска  
# hddtemp /dev/hd?
# hddtemp /dev/sda
   
   
9. Простая программа работы с разделами диска  
9. Простая программа работы с разделами диска  
# cfdisk  
# cfdisk  


10. Восстановление файлов на разделе ext2
10. Восстановление файлов на разделе ext2
man recover
$ man recover


Восстановление стёртых файлов с любых файловых систем - photorec из пакета testdisk.
11. Сканирование диска на сбойные сектора (вместо badblocks)
# diskscan
 
12. Восстановление стёртых файлов с любых файловых систем
# photorec из пакета testdisk
   
   
=== Примечания ===
=== Таблица соответствия устройств ===


Таблица соответствия устройств  
Таблица соответствия IDE-устройств  
{| border="1"
{| border="1"
|-
|-
|
| Устройство
Устройство
| Подключение
|
Подключение
|-
|-
|
| /dev/hda
/dev/hda
| Master на IDE0 (Primary)
|
Master на IDE0 (Primary)
|-
|-
|
| /dev/hdb
/dev/hdb
| Slave на IDE0 (Primary)
|
Slave на IDE0 (Primary)
|-
|-
|
| /dev/hdc
/dev/hdc
| Master на IDE1 (Secondary)
|
Master на IDE1 (Secondary)
|-
|-
|
| /dev/hdd
/dev/hdd
| Slave на IDE1 (Secondary)
|
Slave на IDE1 (Secondary)
|-
|
/dev/sda
|
SATA-устройство
|}
|}


Для SATA-устройств (так же как и для SCSI) чёткого порядка именования нет, устройствам выдаются имена sda,sdb,... в порядке их обнаружения системой.


Кроме особо указанных случаев, все программы хранятся в одноимённых пакетах.
=== Как пользоваться smartctl ===


=== Как пользоваться ===
# smartctl -a /dev/sda
 
# smartctl -a /dev/hd?


Смотрим на следующие параметры:
Смотрим на следующие параметры:
<pre>1 Raw_Read_Error_Rate    0x000b  100  100  051    Pre-fail Always      -      11
<pre>
  1 Raw_Read_Error_Rate    0x000b  100  100  051    Pre-fail Always      -      11
   5 Reallocated_Sector_Ct  0x0033  051  051  010    Pre-fail Always      -      101
   5 Reallocated_Sector_Ct  0x0033  051  051  010    Pre-fail Always      -      101
   7 Seek_Error_Rate        0x000b  253  253  051    Pre-fail Always      -      0
   7 Seek_Error_Rate        0x000b  253  253  051    Pre-fail Always      -      0
Строка 109: Строка 94:
Надо сказать, что диск в подобном состоянии вполне еще может послужит в качестве дискеты и выбрасывать его рано :):)
Надо сказать, что диск в подобном состоянии вполне еще может послужит в качестве дискеты и выбрасывать его рано :):)


Dmitry (Mothlike) Marochko
* Dmitry (Mothlike) Marochko
Vitaly Lipatov
* Vitaly Lipatov
 
== Частая парковка диска ==
 
Проблема особенно характерна для дисков WD Green.
 
Если диск всё время паркуется, а потом опять включается (слышно, что каждые 5-15 секунд щёлкает), нужно либо настроить ОС, чтобы не было принудительной парковки так часто, либо настроить диск, чтобы он не занимался (так часто) автопарковкой.
 
hdparm из одноимённого пакета поддерживает управление временем автопарковки:
 
Проверить, что установлено:
# hdparm -J /dev/sdX
 
Выключить:
# hdparm -J0 --please-destroy-my-drive /dev/sdX
 
Проверить, есть ли проблема:
# smartctl -a /dev/sdA | grep Load_Cycle_Count
 
На диске, на котором когда-то не сразу была выключена автопарковка, 241232 автопарковки:
193 Load_Cycle_Count        0x0032  120  120  000    Old_age  Always      -      241232
 
 
Настройка диска (команда idle3ctl из пакета idle3-tools)
 
# idle3ctl -s 900 /dev/sda
# idle3ctl -d /dev/sda
 
* https://forum.altlinux.org/index.php?topic=29692.105
* https://bugs.etersoft.ru/show_bug.cgi?id=9438


=== Ссылки ===
=== Ссылки ===
* [[РаботаСДисками/WD|Диски WD с сектором 4Кб]]
* [http://pcjs.chat.ru/smartdoc.html Всё о S.M.A.R.T]
* [http://pcjs.chat.ru/smartdoc.html Всё о S.M.A.R.T]
* [http://www.comizdat.com/3/4/6/6170/6176/ "Как я оживлял Linux" - рассказ про использование gpart]
* [http://www.comizdat.com/3/4/6/6170/6176/ "Как я оживлял Linux" - рассказ про использование gpart]
Строка 118: Строка 133:
* [http://offline.computerra.ru/ http://offline.computerra.ru/] - указать ссылку, когда сделают
* [http://offline.computerra.ru/ http://offline.computerra.ru/] - указать ссылку, когда сделают
* [http://smartmontools.sourceforge.net/BadBlockHowTo.txt http://smartmontools.sourceforge.net/BadBlockHowTo.txt]
* [http://smartmontools.sourceforge.net/BadBlockHowTo.txt http://smartmontools.sourceforge.net/BadBlockHowTo.txt]
<pre>ОПЫТЫ
He’s alive… He’s ALIVE!!!
Пока гром не грянет, мужик не перекрестится. Примерно по такому принципу работают 99% пользователей ПК. Разговоры друзей о том, как "у меня жесткий диск полетел", воспринимаются с некоторым страхом, но сделать резервную копию данных нам недосуг.
Андрей Коновалов</pre>


=== [[Документация/FreeBSD|FreeBSD]] ===
=== [[Документация/FreeBSD|FreeBSD]] ===
На [[Документация/FreeBSD|FreeBSD]] нет hdparm (smartctl есть). Вместо него используйте rawio, iozone, or bonnie.
На [[Документация/FreeBSD|FreeBSD]] нет hdparm (smartctl есть). Вместо него используйте rawio, iozone, or bonnie.
Также в базовой системе есть команда diskinfo.
Также в базовой системе есть команда diskinfo.
{{Category navigation|title=Работа с дисками|category=Работа_с_дисками|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Использование оборудования|category=использование оборудования|sortkey={{SUBPAGENAME}}}}

Версия от 15:49, 22 февраля 2020

Работа с дисками

См. также ТестированиеКомпьютера

Не рекомендуется использовать программы fdisk/cfdisk для первичного разбиения диска, один из разделов в котором предназначен для загрузки Windows. Используйте parted.

0. Создать загрузочную запись См. man ms-sys или sys в DOS/Win95/Win98 или fixboot в консоли восстановления 2003

1. Увидеть, что пишет система о дисках при загрузке

# dmesg | grep sd

или, на старых (< 2.6.18) ядрах

# dmesg | grep hd 

2. Вывести перечень всех разделов и всех дисков

# fdisk -l

либо команда

# blkid

3. Полная информация о диске

# hdparm -I /dev/sda

4. Вывести информацию о состоянии диска

# smartctl -a /dev/sda

Запустить внутренний тест диска

# smartctl -t short /dev/sda

или

# smartctl -t long /dev/sda

5. Программа работы с разделами диска

# parted /dev/sd? 

6. Программы восстановления потерянных разделов

# testdisk (более user-friendly)
# gpart (более могучая, но надо тщательно читать man)

7. Графическая программа для работы с разделами диска

$ qtparted 

8. Вывод температуры диска

# hddtemp /dev/sda

9. Простая программа работы с разделами диска

# cfdisk 

10. Восстановление файлов на разделе ext2

$ man recover

11. Сканирование диска на сбойные сектора (вместо badblocks)

# diskscan

12. Восстановление стёртых файлов с любых файловых систем

# photorec из пакета testdisk

Таблица соответствия устройств

Таблица соответствия IDE-устройств

Устройство Подключение
/dev/hda Master на IDE0 (Primary)
/dev/hdb Slave на IDE0 (Primary)
/dev/hdc Master на IDE1 (Secondary)
/dev/hdd Slave на IDE1 (Secondary)

Для SATA-устройств (так же как и для SCSI) чёткого порядка именования нет, устройствам выдаются имена sda,sdb,... в порядке их обнаружения системой.

Как пользоваться smartctl

# smartctl -a /dev/sda

Смотрим на следующие параметры:

  1 Raw_Read_Error_Rate     0x000b   100   100   051    Pre-fail Always       -       11
  5 Reallocated_Sector_Ct   0x0033   051   051   010    Pre-fail Always       -       101
  7 Seek_Error_Rate         0x000b   253   253   051    Pre-fail Always       -       0
197 Current_Pending_Sector  0x0033   253   253   010    Pre-fail Always       -       0
198 Offline_Uncorrectable   0x0031   253   253   010    Pre-fail Offline      -       0
200 Multi_Zone_Error_Rate   0x000b   100   100   051    Pre-fail Always       -       0
201 Soft_Read_Error_Rate    0x000b   100   100   051    Pre-fail Always       -       2

Если вкратце, то это все означает, что у вашего диска есть

проблемы

с поверхностью диска и часть секторов уже переназначена на запасные (параметр Reallocated_Sector_Count), а часть вообще потеряна (параметр Offline_Uncorrectable). Когда первый параметр достигнет нуля, есть большая вероятность появления bad секторов. Но эта вероятность есть и сейчас, поскольку нет 100% вероятности, что переназначенный сектор содержит ту же информацию, что и раньше. Я бы вам посоветовал озаботиться сохранением всех важных данных на более надежном носителе.

Надо сказать, что диск в подобном состоянии вполне еще может послужит в качестве дискеты и выбрасывать его рано :):)

  • Dmitry (Mothlike) Marochko
  • Vitaly Lipatov

Частая парковка диска

Проблема особенно характерна для дисков WD Green.

Если диск всё время паркуется, а потом опять включается (слышно, что каждые 5-15 секунд щёлкает), нужно либо настроить ОС, чтобы не было принудительной парковки так часто, либо настроить диск, чтобы он не занимался (так часто) автопарковкой.

hdparm из одноимённого пакета поддерживает управление временем автопарковки:

Проверить, что установлено:

# hdparm -J /dev/sdX

Выключить:

# hdparm -J0 --please-destroy-my-drive /dev/sdX

Проверить, есть ли проблема:

# smartctl -a /dev/sdA | grep Load_Cycle_Count

На диске, на котором когда-то не сразу была выключена автопарковка, 241232 автопарковки:

193 Load_Cycle_Count        0x0032   120   120   000    Old_age   Always       -       241232


Настройка диска (команда idle3ctl из пакета idle3-tools)

  1. idle3ctl -s 900 /dev/sda
  2. idle3ctl -d /dev/sda

Ссылки

FreeBSD

На FreeBSD нет hdparm (smartctl есть). Вместо него используйте rawio, iozone, or bonnie. Также в базовой системе есть команда diskinfo.