Главная Файлы Форум Галерея Гостевая книга Обратная связь Карта сайта Поиск
 

 

Моё место работы

СитиСервис
  • Заправка и ремонт лазерных картриджей
  • Ремонт любых принтеров и копиров
  • Оригинальные и совместимые картриджи
  • Доставка бесплатно (от 2-х картриджей)
  • Накопительная система расчётов для корпоративных клиентов
Телефон
+7 (4722) 373-983
8-980-326-01-23
Адрес E-mail
mybelpost@gmail.com

Привет, Гость

Войти
Идентификация
Я забыл свой пароль
Регистрация

Разделы -> Статьи -> Linux - разное -> Команды работы с жес...

Команды работы с жестким диском

В статье:
Ссылки по теме:

Просмотр информации о жеском диске


Есть хорошый набор утилит 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 (C) 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 (C) 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

Что, куда смонтировано и с какими опциями.

Команда
mount

Результат примерно такой: (для моих ФС)

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=213728,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=413772k,mode=755)
/dev/disk/by-uuid/48e8436e-707f-484a-8c51-9054c6118b4d on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1608640k)
/dev/sdc3 on /home type ext4 (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/sdb2 on /var/www type ext4 (rw,nosuid,nodev,noexec,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/sdb3 on /home/sveta/Архив-1 type ext4 (rw,nosuid,nodev,noexec,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/sdc5 on /home/sveta/Архив-2 type ext4 (rw,nosuid,nodev,noexec,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/sdd1 on /home/sveta/Семья type ext4 (rw,nosuid,nodev,noexec,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/sdd2 on /home/sveta/Документы type ext4 (rw,nosuid,nodev,noexec,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/sda3 on /home/sveta/Home_Squeeze type ext4 (rw,nosuid,nodev,noexec,relatime,user_xattr,acl,barrier=1,data=ordered)

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


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, но самой файловой системы ещё нет.
Чтобы создать файловую систему диск нужно форматировать, для этого используем, для нашего примера команду mkdosfs.

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>

Проверка разделов на предмет "битых" блоков


Используем команду badblocks запустив её от пользователя root.
К примеру, чтобы проверить (read-only test) на предмет испорченных блоков раздел /dev/sda1 нужно дать команду:

badblocks -s /dev/sda1

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


Для этих целей подойдёт приложение 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. Получается лимитируемое пространство пользователя и копию сделать просто.

Управление резервированием пространства для root


Система резервирует 5% от общего объема диска для пользователя root. Когда на диске не будет хватать места, то система использует эти 5%. Однако, если диск не системный, тогда зарезирвированные 5% использоваться не будут. Для не системных дисков можно резервирование отключить или уменьшить его процент.

Уменьшаем резервирование на несистемном диске (/dev/sdb1) до 1 процента.

tune2fs -m 1 /dev/sdb1

Отключение резервирования на разделе /dev/sdb1:

tune2fs -r 0 /dev/sdb1



Опубликовано: foxadmin, Автор/источник: Сакрюкин К.В. 28 Январь 2012 16:43:51

Комментировать

Вы не залогинены! Регистрация

Афоризмы, мысли

Некоторые рождены, чтобы повести за собой миллионы. Другие чтобы написать программу, которая перевернет мир. И лишь одному удалось и то, и другое – Линусу Торвальдсу.

/IT индустрия/

Счётчик

Сейчас на сайте - 1 (0 зарег.)
Всего хитов9001 
Сегодня хитов9001 
Сегодня хостов1355 

Откуда гости наши?

 
Powered by ReloadCMS 1.5.0.
© 2004-2012 ReloadCMS Team
RSS AggregationPHP powered
Генерация страницы: 0.8
  Яндекс.Метрика
    Сакрюкин К.В.   Яндекс цитирования    
 
Здесь всё можно копировать и цитировать, но рабочая ссылка на мой сайт обязательна!