Четверг, 25.04.2024, 13:56

Форум преданных пользователей UBUNTU

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: kostopolos  
Форум ubuntu linux » Компьютерный Софт » UBUNTU LINUX » Команды работы с жестким диском (Наиболее употребительные команды обслуживания дисков из конс)
Команды работы с жестким диском
ZooBeeNДата: Понедельник, 11.06.2012, 10:43 | Сообщение # 1
Главный линуксоид (на этом сайте) :)
Группа: Администраторы
Сообщений: 134
Репутация: 502
Статус: Offline
Просмотр информации о жеском диске

Есть хорошый набор утилит smartmontools, в Debian можно установить из репозитория

apt-get install smartmontools

Использование:

smartctl --all /dev/sdb

Получим полную информацию о диске /dev/sdb примерно в таком виде:

smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright © 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model: WDC WD7500AALX-009BA0
Serial Number: WD-WCATR5838968
Firmware Version: 15.01H15
User Capacity: 750 156 374 016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Thu Sep 1 07:50:27 2011 MSD
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x84) Offline data collection activity
was suspended by an interrupting command from host.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (13500) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 157) minutes.
Conveyance self-test routine
recommended polling time: ( 5) minutes.
SCT capabilities: (0x3037) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 175 174 021 Pre-fail Always - 4208
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 146
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 099 099 000 Old_age Always - 832
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 144
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 37
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 108
194 Temperature_Celsius 0x0022 115 103 000 Old_age Always - 32
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 9
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Или если нужна только информация о винчестере без смарт контроля то вот так:

smartctl --info /dev/sdb

Результат похож на:

smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright © 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model: WDC WD7500AALX-009BA0
Serial Number: WD-WCATR5838968
Firmware Version: 15.01H15
User Capacity: 750 156 374 016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Thu Sep 1 07:54:17 2011 MSD
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Просмотр всех разделов жестких дисков

ls /dev/sd*
или
ls /dev/hd*

Получаем что-то похожее на

/dev/sdd1 /dev/sdc /dev/sdb4 /dev/sda5 /dev/sda2 /dev/sdb2 /dev/sda7 /dev/sdb5 /dev/sdc2
/dev/sdd /dev/sdb /dev/sda /dev/sda1 /dev/sdb3 /dev/sda6 /dev/sdb1 /dev/sdc1

Подробная информация о смонтированных разделах

fdisk -l

Итог:

Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00063e3c

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 487 3905536 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sdb2 487 3616 25134080 83 Linux
/dev/sdb3 3616 10561 55785472 83 Linux
/dev/sdb4 10561 91202 647748472 5 Extended
/dev/sdb5 10561 91202 647746560 83 Linux

Размер, тип ФС, сколько использовано, сколько доступно и куда смонтировано

df -aHT

Получаем:

Ф. система Тип Разм Исп Дост Исп% смонтирована на
/dev/sdb2 ext4 26G 8,5G 16G 36% /
tmpfs tmpfs 530M 0 530M 0% /lib/init/rw
proc proc 0 0 0 - /proc
sysfs sysfs 0 0 0 - /sys
udev tmpfs 525M 336k 525M 1% /dev
tmpfs tmpfs 530M 0 530M 0% /dev/shm
devpts devpts 0 0 0 - /dev/pts
/dev/sdb3 ext4 57G 11G 43G 21% /home
/dev/sda7 reiserfs 80G 11G 70G 14% /var/www
/dev/sda6 reiserfs 140G 98G 42G 71% /home/sveta/Архив
/dev/sdc2 reiserfs 141G 107G 34G 76% /home/sveta/Архив-2
/dev/sdb5 reiserfs 664G 125G 539G 19% /home/sveta/Архив-3
/dev/sdc1 reiserfs 111G 93G 18G 84% /home/sveta/iso
fusectl fusectl 0 0 0 - /sys/fs/fuse/connections
binfmt_misc
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc

Информация о смонтированном разделе включая UUID и метку тома (по ФС выдаёт более точную информация, к примеру FAT32 вместо vfat)

file -s /dev/s.....

Вывод похож на:

/dev/sdb2: Linux rev 1.0 ext4 filesystem data, UUID=4dd901cf-5b15-41a2-aed1-fabaff52fe83, volume name "squeeze" (needs journal recovery) (extents) (large files) (huge files)

Файловая система, точка монтирования, UUID, метка тома (M$ фс выдаётся в не очень понятном виде, к примеру FAT-ы видим как vfat)

blkid
или
blkid /dev/s..... # это инфо по конкретному разделу

Вывалит примерно так:

/dev/sdb5: LABEL="extention-2" UUID="0817a729-8ad6-4b3c-b4da-504833d10b4b" TYPE="reiserfs"
/dev/sda6: LABEL="ushome" UUID="4ac45396-45b7-4a21-a4d3-26c2988c4521" TYPE="reiserfs"
/dev/sda7: LABEL="wwwdisk" UUID="e91d7fd7-2e3b-4c4d-8d2b-416d4f800171" TYPE="reiserfs"
/dev/sdc1: LABEL="iso" UUID="a44018a3-1fa5-4808-8bf7-b2048196721e" TYPE="reiserfs"
/dev/sdc2: LABEL="extention" UUID="641c5f13-1f70-42f8-87a8-e875d5755c6b" TYPE="reiserfs"
/dev/sda1: LABEL="debsys" UUID="a929d4cf-e53f-4c42-a25e-c9e11d24b5ff" TYPE="reiserfs"
/dev/sda5: TYPE="swap"
/dev/sdb1: UUID="ec2c7e2b-987a-4c1a-a8a1-f6ec4953763e" TYPE="swap"
/dev/sdb2: LABEL="squeeze" UUID="4dd901cf-5b15-41a2-aed1-fabaff52fe83" TYPE="ext4"
/dev/sdb3: LABEL="squeezehome" UUID="b088382e-6ee7-457e-bfe7-61b1f001089b" TYPE="ext4"
/dev/sdd1: LABEL="FOX-II" UUID="80C0-5BD6" TYPE="vfat"

Монтирование файловых систем в Linux

Статья о монтировании разделов жесткого диска и многое другое находится в блоге "Записки дебианщика".

Форматирование жеских дисков в консоли Linux

Полное уничтожение данных на диске, включая ФС и MBR:

dd if=/dev/zero of=/dev/sd....

Команда dd запишет на диск нули из устройства /dev/zero.
Если указать именно устройсво, к примеру /dev/sda, то будет уничтожена MBR и ФС со всеми данными безвозвратно!
Если задать конкретный раздел на диске, т.е., к примеру /dev/sda1, то будет уничтожена ФС с данными только на этом разделе и тоже безвозвратно!

Все действия над дисками по уничтожению, формированию таблицы разделов или форматированию производятся на отмонтированной файловой системе!

Формирование таблицы разделов

Будем использовать fdisk и как пример, диск /dev/sda

fdisk /dev/sda

После этой команды fdisk должен ругнуться на отсутствие таблицы разделов и правильно, мы же туда нули записали!

Будем создавать новый раздел. Для этого жмём "n" и ENTER.

Далее, если раздел будет первичным, то пробиваем "p" и естественно жмём ENTER.

Затем fdisk предложит выбрать номер первичного раздела. В нашем случае он первый, значит жмём "1" и ENTER.

На следующем шаге просто пропускаем fdisk дальше нажатием ENTER.

Чтобы посмотреть, что у нас получилось можно нажать "p"

Fdisk по умолчанию сформировал Linux раздел и если нужно это изменить, то жмём "t" и ENTER.

Далее, выбираем наш созданный раздел - 1

В появившемся списке ищим интересующую файловую систему, к примеру FAT 32 - эта строка под буквой "b" и соответственно вбиваем "b", завершаем ввод нажатием ENTER.

Если есть желание, то можно снова взглянуть на то, что получилось. Для этого жмём "p". Должны увидеть первый первичный раздел с FAT 32.

На самом деле, до сих пор никаких изменений на диске не происходило и всё ещё можно отменить просто выйдя из fdisk нажав q и естественно ENTER.

Для записи измениний необходимо нажать "w" и ENTER.

После отработки fdisk на диск будет нанесена таблица разделов под FAT 32, но самой файловой системы ещё нет.
Чтобы создать файловую систему диск нужно форматировать, для этого используем, для нашего примера команду mkdoafs.

mkdosfs -F32 -v -n "метка_тома" /dev/sda1

Если при создании разделов формировался раздел не для FAT 32, а какой-то другой, то для форматирования нужно использовать команду для своей файловой системы. Ниже пример форматирования в ext4 и своп раздела:

mkfs -t ext4 -c /dev/sda1

своп

mkswap /dev/sda1

Маленькое пояснение опций:

после -t указывают файловую систему
-c - необходима для проверки на предмет "битых" секторов.

Ставим метку о том что раздел загрузочный

Поставить метку, что раздел загрузочный можно с помощью fdisk.

fdisk /dev/sda

Далее, жмём "a", затем указываем номер раздела (в нашем случае - 1) и для записи изменений необходимо вбить "w".

Генерация/присвоение UUID раздела диска

tune2fs /dev/sda1 -U numbergeneratedbyuuidgen # UUID генерирует uuidgen

или

tune2fs /dev/sda1 -U random # генерирует новый случайный UUID

или

tune2fs /dev/sda1 -U time # генерирует новый зависимый от времени UUID

Присвоение нужного UUID

tune2fs /dev/sda1 -U нужный_UUID

В примере использован раздел sda1 у вас может быть свой.

Изменение или создание меток разделов

Примеры для различных фаловых систем

Для swap

mkswap -L <label> /dev/sda1

Для ext2/ext3/ext4

e2label /dev/sda1<label>

Для reiserfs

reiserfstune -l <label> /dev/sda1

Для jfs

jfs_tune -L <label> /dev/sda1

Для xfs

xfs_admin -L <label> /dev/sda1

Для fat/vfat (FAT12, FAT16, FAT32)

mkdosfs -n <label> /dev/sda1

Для ntfs

ntfslabel /dev/sda1 <label>

Проверка файловых систем на ошибки

Для этих целей подойдёт приложение fsck. Оно способно проверить и исправить ошибки на любой файловой системе поддерживаемой ядром Linux.

Пример использования:

fsck /dev/sda1

после отработки fsck консоль возвращает некоторые коды

0 — нет ошибок
1 — ошибки файловой системы исправлены
2 — необходима перезагрузка системы
4 — ошибки файловой системы не исправлены
8 — в процессе проверки произошли ошибки
16 — неверное использование команды либо синтаксическая ошибка
32 — fsck была прервана пользователем
128 — ошибка разделяемых объектов
Все манипуляции с проверкой ФС и исправлением ошибок необходимо проводить на отмонтированной файловой системе.

Создаём файловую систему в обычном файле

Создаём файл размером 20 МиБ

$ dd if=/dev/zero of=./ext4.img count=40960

Создаём в этом файле файловую систему ext4

# mkfs -t ext4 -q ./ext4.img

Монтируем в любой каталог, к примеру в ./123/

# mount -o loop ./ext4.img ./123

Чтобы обычный пользователь мог содавать в смонтированном файле файлы и кателоги то даём права:

chmod 777 ./123

Мне пришлось прибегнуть к такой хитрости при установке на локальном компьютере с LAMP нескольких CMS, которые ну ни как не хотели работать их подкаталога, а apache перестраивать желания небыло. Просто создал для каждой CMS свой маленький файл с FS где её и установил, потом монтировал нужный файл на место указанное в настройках apache2 как DocumentRoot. Бысто и удобно. Ещё в файле можно держать домашние каталоги пользователей - монтируем при старте через fstab. Получается лимитируемое пространство пользователя и копию сделать просто.

Автор/источник: Сакрюкин К.В. 28 Январь 2012 17:43:51


- научись зарабатывать большие деньги! )))
 
Форум ubuntu linux » Компьютерный Софт » UBUNTU LINUX » Команды работы с жестким диском (Наиболее употребительные команды обслуживания дисков из конс)
  • Страница 1 из 1
  • 1
Поиск: