Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Администрирование систем Linux. Дисковые устройства

Оригинал: Disk devices
Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 29 марта 2015 г.

Часть II. Управление дисковыми устройствами

Глава 4. Дисковые устройства

Прочитав данную главу, вы научитесь обнаруживать и идентифицировать жесткие диски. Данная информация необходима для подготовки к чтению следующей главы, в которой мы будем размещать разделы на этих устройствах.

4.1. Терминология

4.1.1. Пластина, головка, дорожка, цилиндр, сектор

В дисковых накопителях данные обычно хранятся на магнитных или оптических пластинах (disk platters). Пластины вращаются (с высокими скоростями). Данные считываются с помощью головок (heads), которые расположены очень близко к поверхности пластин, но не прикасаются к ним! Головки смонтированы на держателе (иногда называемом приводом или вилкой).

Данные записываются по концентрическим окружностям, называемым дорожками (tracks). Нулевой трек (обычно) располагается возле внешней стороны пластины. Время, необходимое для позиционирования головки над определенной дорожкой, называется временем перехода к дорожке (seek time). Обычно пластины располагаются одна над другой, поэтому набор дорожек, доступный при определенном позиционировании держателя головки формирует цилиндр (cylinder). Дорожки разделены на секторы по 512 байт с дополнительным неиспользуемым пространством (разрывом) между секторами на внешней стороне пластины.

При рассмотрении составляющих времени доступа (access time) для жесткого диска вы можете отметить, что большая часть времени уходит на позиционирование головок (около 65 %) и задержки вращения пластин (roatational latency) (около 30 %).

4.1.2. Интерфейсы IDE или SCSI

На самом деле следовало бы использовать заголовок "интерфейсы ATA или SCSI", так как устройство IDE является ATA-совместимым устройством. В большинстве настольных компьютеров используются устройства ATA, в большинстве серверов - устройства SCSI.

4.1.3. Интерфейс ATA

Контроллер ATA позволяет использовать два устройства на каждой из шин, причем одно из устройств должно быть ведущим, а другое - ведомым. В том случае, если ваш контроллер не поддерживает возможность автоматического распределения ролей устройств "cable select", вам придется производить соответствующие настройки самостоятельно с помощью джамперов.

После представления общественности интерфейса SATA (Serial ATA) оригинальный интерфейс ATA был переименован в интерфейс Parallel ATA. Устройства чтения оптических дисков обычно используют интерфейс ATAPI, который на самом деле является интерфейсом ATA, использующим протокол обмена данными SCSI.

4.1.4. Интерфейс SCSI

Контроллер SCSI позволяет использовать более двух устройств. При использовании интерфейса SCSI (Small Computer System Interface) каждое устройство получает уникальный идентификатор scsi id. Контроллеру SCSI также требуется идентификатор scsi id, причем вы не должны использовать данный идентификатор для подключенного к контроллеру устройства SCSI.

Старый 8-битный интерфейс SCSI в наши дни называют narrow SCSI, а 16-битный интерфейс - wide SCSI. После удвоения частоты шины до 10MHz интерфейс стал называться fast SCSI. А после следующего удвоения частоты шины до 20MHz было введено название ultra SCSI. Обратитесь к статье https://ru.wikipedia.org/wiki/SCSI для ознакомления с остальными стандартами интерфейса SCSI.

4.1.5. Блочное устройство

Для жестких дисков с возможностью произвольного доступа к данным в рамках операционной системы реализован уровень абстракции под названием "блочное устройство" (block device), позволяющий осуществлять форматирование этих дисков с использованием блоков фиксированного размера (обычно равного 512 байтам). При этом доступ к каждому из блоков устройства может осуществляться независимо от доступа к любым другим блокам устройства.

[root@centos65 ~]# lsblk
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   40G  0 disk 
--sda1                        8:1    0  500M  0 part /boot
--sda2                        8:2    0 39.5G  0 part 
  --VolGroup-lv_root (dm-0) 253:0    0 38.6G  0 lvm  /
  --VolGroup-lv_swap (dm-1) 253:1    0  928M  0 lvm  [SWAP]
sdb                           8:16   0   72G  0 disk 
sdc                           8:32   0  144G  0 disk

Для обозначения файлов блочных устройств в выводе команды ls -l используется символ b.

[root@centos65 ~]# ls -l /dev/sd*
brw-rw----. 1 root disk 8,  0 апр 19 10:12 /dev/sda
brw-rw----. 1 root disk 8,  1 апр 19 10:12 /dev/sda1
brw-rw----. 1 root disk 8,  2 апр 19 10:12 /dev/sda2
brw-rw----. 1 root disk 8, 16 апр 19 10:12 /dev/sdb
brw-rw----. 1 root disk 8, 32 апр 19 10:12 /dev/sdc

Обратите внимание на то, что в выводе команды ls -l символьные устройства, позволяющие работать исключительно с непрерывными потоками символов, обозначаются с помощью символа c. Также следует помнить о том, что оптический диск CDROM, соответствующий стандарту ISO 9660, использует блоки, размер каждого из которых равен 2048 байтам.

Диски с вращающимся шпинделем и твердотельные накопители В старых жестких дисках (а также в дискетах) для доступа к секторам используется система адресации на основе номеров цилиндров, головок и секторов. При этом в большинстве современных дисков используется система адресации LBA (Logical Block Addressing).

4.1.6. Твердотельные накопители

Твердотельный накопитель или SSD (Solid State Drive) является блочным устройством без движущихся частей. Его можно сравнить с флеш-памятью. Устройства SSD превосходят в цене жесткие диски, но при этом обычно характеризуются гораздо меньшими значениями времени доступа к секторам.

В рамках данной книги для обозначения дисков с вращающимся шпинделем будут использоваться пиктограммы коричневого цвета, а для обозначения твердотельных накопителей - пиктограммы синего цвета.

4.2. Имена файлов устройств

4.2.1. Имена файлов устройств ATA (IDE)

Пути к файлам всех устройств ATA в вашей системе будут начинаться с /dev/hd с последующим буквенным символом. Ведущий жесткий диск, подключенный к первому контроллеру ATA будет представлен в системе с помощью файла устройства /dev/hda, ведомый - с помощью файла устройства /dev/hdb. Именами файлов устройств, подключенных ко второму контроллеру, будут /dev/hdc и /dev/hdd.

Таблица 4.1. Имена файлов устройств IDE

Контроллер Роль устройства Имя файла устройства
IDE 0 Ведущее /dev/hda
Ведомое /dev/hdb
IDE 1 Ведущее /dev/hdc
Ведомое /dev/hdd

Вполне вероятна ситуация, в которой в вашей системе будут созданы только файлы устройств /dev/hda и /dev/hdd. Первый файл будет представлять единственный жесткий диск, а второй - привод для чтения дисков CDROM (по умолчанию настроенный как ведомое устройство).

4.2.2. Имена файлов устройств SCSI

Для файлов устройств SCSI используется аналогичная схема, но все пути к этим файлам начинаются с /dev/sd. В том случае, если для представления устройств, используемых в вашей системе, не хватит букв английского алфавита (устройство, представленное файлом /dev/sdz, не будет являться последним), в именах файлов устройств будет использоваться более одной буквы: /dev/sdaa, /dev/sdab и так далее. (Также позднее мы увидим, что тома LVM обычно представлены файлами устройств /dev/md0, /dev/md1, и.т.д.).

Ниже приведен пример распределения имен файлов устройств в Linux между устройствами SCSI. Добавление диска SCSI или RAID-контроллера с меньшим значением идентификатора scsi id приведет к изменению схемы распределения имен устройств (сдвигу вперед на одну букву из алфавита для устройств с большими значениями идентификаторов scsi id).

Таблица 4.2. Имена файлов устройств SCSI

Устройство Идентификатор scsi id Имя файла устройства
диск 0 0 /dev/sda
диск 1 1 /dev/sdb
RAID-контроллер 0 5 /dev/sdc
RAID-контроллер 1 6 /dev/sdd

В современной системе Linux файлы устройств /dev/sd* будут использоваться для представления устройств SCSI и SATA, а также карт памяти SD, накопителей с интерфейсом USB, устройств ATA/IDE (устаревших) и твердотельных накопителей.

4.3. Определение параметров дисковых устройств

4.3.1. Утилита fdisk

Процедура определения параметров дисковых устройств может быть начата с установления определенных ядром ОС типов устройств с помощью утилиты /sbin/fdisk. Ниже представлен результат использования данной утилиты на старом настольном компьютере с двумя дисками ATA/IDE, работающем под управлением дистрибутива Debian.

root@barry:~# fdisk -l | grep Disk
Disk /dev/hda: 60.0 GB, 60022480896 bytes
Disk /dev/hdb: 81.9 GB, 81964302336 bytes

А ниже приведен пример описания параметров дисков SATA и SCSI, которые установлены в сервере, работающем под управлением дистрибутива CentOS. Помните о том, что для представления дисков SATA также используется нотация имен файлов устройств, принятая для дисков SCSI, а именно, /dev/sd*.

[root@centos65 ~]# fdisk -l | grep 'Disk /dev/sd'
Disk /dev/sda: 42.9 GB, 42949672960 bytes
Disk /dev/sdb: 77.3 GB, 77309411328 bytes
Disk /dev/sdc: 154.6 GB, 154618822656 bytes
Disk /dev/sdd: 154.6 GB, 154618822656 bytes

Ниже приведено описание параметров двух реальных дисков SCSI объемом по 72 ГБ, которые установлены в сервере, работающем под управлением дистрибутива RHEL4u3. Данный сервер соединен с сервером сетевого хранилища (NAS) с четырьмя дисками объемом в половину терабайта каждый. На дисках сервера сетевого хранилища размещены четыре раздела LVM (/dev/mdx), предназначенные для формирования программного RAID-массива.

[root@tsvtl1 ~]# fdisk -l | grep Disk
Disk /dev/sda: 73.4 GB, 73407488000 bytes
Disk /dev/sdb: 73.4 GB, 73407488000 bytes
Disk /dev/sdc: 499.0 GB, 499036192768 bytes
Disk /dev/sdd: 499.0 GB, 499036192768 bytes
Disk /dev/sde: 499.0 GB, 499036192768 bytes
Disk /dev/sdf: 499.0 GB, 499036192768 bytes
Disk /dev/md0: 271 MB, 271319040 bytes
Disk /dev/md2: 21.4 GB, 21476081664 bytes
Disk /dev/md3: 21.4 GB, 21467889664 bytes
Disk /dev/md1: 21.4 GB, 21476081664 bytes

Также вы можете использовать утилиту fdisk для получения информации о каждом отдельном дисковом устройстве.

[root@centos65 ~]# fdisk -l /dev/sdc

Disk /dev/sdc: 154.6 GB, 154618822656 bytes
255 heads, 63 sectors/track, 18798 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: 0x00000000

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

4.3.2. Утилита dmesg

Сообщения, выводимые при загрузке ядра ОС, могут быть изучены и после загрузки ОС благодаря наличию утилиты dmesg. Ввиду того, что дисковые устройства определяются ядром ОС в процессе загрузки системы, вы также можете использовать утилиту dmesg для поиска информации о дисковых устройствах.

[root@centos65 ~]# dmesg | grep 'sd[a-z]' | head
sd 0:0:0:0: [sda] 83886080 512-byte logical blocks: (42.9 GB/40.0 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support \
DPO or FUA
sda: sda1 sda2
sd 0:0:0:0: [sda] Attached SCSI disk
sd 3:0:0:0: [sdb] 150994944 512-byte logical blocks: (77.3 GB/72.0 GiB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support \
DPO or FUA

А ниже приведен другой пример фрагмента вывода утилиты dmesg, полученного при работе с компьютером, оснащенным жестким диском ATA объемом 200 ГБ.

paul@barry:~$ dmesg | grep -i "ata disk"
[    2.624149] hda: ST360021A, ATA DISK drive
[    2.904150] hdb: Maxtor 6Y080L0, ATA DISK drive
[    3.472148] hdd: WDC WD2000BB-98DWA0, ATA DISK drive

В последнем, третьем примере приведен фрагмент вывода утилиты dmesg, полученный при работе с дистрибутивом RHEL 5.3.

root@rhel53 ~# dmesg | grep -i "scsi disk"
sd 0:0:2:0: Attached scsi disk sda
sd 0:0:3:0: Attached scsi disk sdb
sd 0:0:6:0: Attached scsi disk sdc

4.3.3. Утилита /sbin/lshw

Утилита lshw позволяет получить список параметров аппаратного обеспечения (название утилиты расшифровывается как "list hardware" - "получение списка параметров аппаратного обеспечения"). При передаче соответствующих параметров утилита lshw может вывести большой объем информации о дисковых устройствах (и созданных на этих устройствах разделах).

Ниже приведен сокращенный пример вывода данной утилиты, полученный при работе с дистрибутивом Debian 6:

root@debian6~# lshw -class volume | grep -A1 -B2 scsi
       description: Linux raid autodetect partition
       physical id: 1
       bus info: scsi@1:0.0.0,1
       logical name: /dev/sdb1
--
       description: Linux raid autodetect partition
       physical id: 1
       bus info: scsi@2:0.0.0,1
       logical name: /dev/sdc1
--
       description: Linux raid autodetect partition
       physical id: 1
       bus info: scsi@3:0.0.0,1
       logical name: /dev/sdd1
--
       description: Linux raid autodetect partition
       physical id: 1
       bus info: scsi@4:0.0.0,1
       logical name: /dev/sde1
--
       vendor: Linux
       physical id: 1
       bus info: scsi@0:0.0.0,1
       logical name: /dev/sda1
--
       vendor: Linux
       physical id: 2
       bus info: scsi@0:0.0.0,2
       logical name: /dev/sda2
--
       description: Extended partition
       physical id: 3
       bus info: scsi@0:0.0.0,3
       logical name: /dev/sda3

Данная утилита не поставляется в составе дистрибутивов Redhat и CentOS (но вы можете подключить дополнительный репозиторий программного обеспечения и установить ее).

4.3.4. Утилита /sbin/lsscsi

Утилита lsscsi выводит информацию обо всех устройствах SCSI (а также об эмулируемых устройствах SCSI) в удобном для чтения формате. В первом примере показан вывод утилиты lsscsi при работе с системой SPARC.

root@shaka:~# lsscsi 
[0:0:0:0]    disk    Adaptec  RAID5            V1.0  /dev/sda
[1:0:0:0]    disk    SEAGATE  ST336605FSUN36G  0438  /dev/sdb
root@shaka:~#

Ниже приведен пример вывода утилиты lsscsi при работе с сервером сетевого хранилища QNAP NAS (в котором установлено четыре диска объемом 750 ГБ, причем сам сервер поддерживает возможность загрузки операционной системы с накопителя с интерфейсом USB).

lroot@debian6~# lsscsi 
[0:0:0:0]    disk    SanDisk  Cruzer Edge      1.19  /dev/sda
[1:0:0:0]    disk    ATA      ST3750330AS      SD04  /dev/sdb
[2:0:0:0]    disk    ATA      ST3750330AS      SD04  /dev/sdc
[3:0:0:0]    disk    ATA      ST3750330AS      SD04  /dev/sdd
[4:0:0:0]    disk    ATA      ST3750330AS      SD04  /dev/sde

А в этом примере приведен классический вывод утилиты lsscsi.

root@debian6~# lsscsi -c
Attached devices: 
Host: scsi0 Channel: 00 Target: 00 Lun: 00
  Vendor: SanDisk Model: Cruzer Edge      Rev: 1.19
  Type:   Direct-Access                   ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Target: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Target: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Target: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Target: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05

4.3.5. Файл /proc/scsi/scsi

Другой способ обнаружения дисковых устройств SCSI (или SATA) заключается в чтении файла /proc/scsi/scsi.

В данном примере показано содержимое упомянутого файла в системе SPARC с контроллером RAID 5 производства компании Adaptec.

root@shaka:~# cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: Adaptec Model: RAID5            Rev: V1.0
  Type:   Direct-Access                   ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: SEAGATE Model: ST336605FSUN36G  Rev: 0438
  Type:   Direct-Access                   ANSI SCSI revision: 03
root@shaka:~#

А это вывод команды cat /proc/scsi/scsi для упомянутого выше сервера сетевого хранилища QNAP (работающего под управлением Debian Linux).

root@debian6~# cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: SanDisk Model: Cruzer Edge      Rev: 1.19
  Type:   Direct-Access                   ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA Model: ST3750330AS          Rev: SD04
  Type:   Direct-Access                   ANSI SCSI revision: 05

Обратите внимание на то, что в последних версиях дистрибутива Debian данная возможность деактивирована на уровне ядра ОС. Вы можете активировать ее (перед компиляцией ядра ОС) с помощью данного параметра:

# CONFIG_SCSI_PROC_FS is not set

В дистрибутивах Redhat и CentOS данный файл присутствует по умолчанию (в случае наличия устройств SCSI).

[root@centos65 ~]# cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA Model: VBOX HARDDISK        Rev: 1.0 
  Type: Direct-Access                     ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA Model: VBOX HARDDISK        Rev: 1.0 
  Type: Direct-Access                     ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA Model: VBOX HARDDISK        Rev: 1.0 
  Type: Direct-Access                     ANSI SCSI revision: 05

4.4. Очистка жесткого диска

Перед продажей вашего старого жесткого диска через торговую площадку в сети Интернет следует удалить все хранившиеся на нем ранее данные. После простого изменения таблицы разделов, применения утилиты format из состава ОС Microsoft Windows или даже после применения утилиты mkfs некоторые специалисты все еще будут иметь возможность прочитать большую часть данных, хранившихся на диске.

root@debian6~# aptitude search foremost autopsy sleuthkit | tr -s ' '
p autopsy - graphical interface to SleuthKit 
p foremost - Forensics application to recover data 
p sleuthkit - collection of tools for forensics analysis

Хотя в техническом плане утилита /sbin/badblocks и предназначена для отслеживания поврежденных секторов на диске, вы также можете использовать ее для полного удаления всех данных с диска. Так как данная утилита в прямом смысле записывает данные в каждый сектор диска, процедура удаления данных может занять много времени!

root@RHELv4u2:~# badblocks -ws /dev/sdb
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: done
Testing with pattern 0x00: done
Reading and comparing: done

В предыдущем примере осуществляется четырехкратная перезапись каждого из секторов на диске. Однократной перезаписи секторов диска с помощью такого инструмента, как dd, также вполне достаточно для уничтожения всех данных на диске.

Обратите внимание на то, что в примере ниже показан способ необратимого уничтожения всех данных, сохраненных на блочном устройстве.

[root@rhel65 ~]# dd if=/dev/zero of=/dev/sdb

4.5. Дополнительные параметры функционирования дисковых устройств

Подробное рассмотрение вопросов установки значений параметров функционирования жестких дисков (таких, как dma, gap, ) выходит за рамки данного курса. Тем не менее, необходимо упомянуть о том, что для этих целей существует несколько утилит, причем утилиты hdparm и sdparm являются двумя наиболее часто используемыми из них.

Утилита hdparm может использоваться для вывода информации и установки значений параметров функционирования жестких дисков с интерфейсом ATA (SATA). Параметры -i и -I позволят вам получить дополнительную информацию о физических свойствах вашего устройства.

root@laika:~# hdparm /dev/sdb

/dev/sdb:
 IO_support   =  0 (default 16-bit)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 12161/255/63, sectors = 195371568, start = 0

Ниже приведена информация о жестком диске с интерфейсом IDE объемом в 200 ГБ, выводимая утилитой hdparm.

root@barry:~# hdparm /dev/hdd

/dev/hdd:
 multcount     =  0 (off)
 IO_support    =  0 (default) 
 unmaskirq     =  0 (off)
 using_dma     =  1 (on)
 keepsettings  =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 24321/255/63, sectors = 390721968, start = 0

А это пример вывода утилиты sdparm из состава дистрибутива Ubuntu 10.10.

root@ubu1010:~# aptitude install sdparm
...
root@ubu1010:~# sdparm /dev/sda | head -1
    /dev/sda: ATA       FUJITSU MJA2160B  0081
root@ubu1010:~# man sdparm

Используйте утилиты hdparm и sdparm с особой осторожностью.

4.6. Практическое задание: дисковые устройства

О данном практическом задании: для того, чтобы получить практические навыки по работе с жесткими дисками, вам, разумеется, потребуется несколько жестких дисков. В том случае, если у вас в распоряжении нет физического жесткого диска, вы можете использовать виртуальные диски виртуальной машины vmware или VirtualBox. Инструктор должен помочь с подключением нескольких жестких дисков ATA и/или SCSI к виртуальной машине. Результаты выполнения данного практического задания могут использоваться при выполнении трех следующих практических заданий (посвященных работе разделами, файловыми системами, а также монтированию файловых систем).

Рекомендуется подключить к виртуальной машине три жестких диска объемом 1 ГБ и три жестких диска объемом 2 ГБ. Это позволит выполнить как текущее практическое задание, так и практические задания из следующих глав (посвященные работе с RAID-массивами, разделами LVM и iSCSI) без лишних сложностей.

1. Используйте утилиту dmesg для получения списка всех устройств жестких дисков, обнаруженных в процессе загрузки системы.

2. Используйте утилиту fdisk для вычисления общего объема всех жестких дисков, установленных в вашей системе.

3. Остановите виртуальную машину, добавьте три виртуальных диска с интерфейсом SCSI объемом в 1 ГБ каждый и один виртуальный диск с интерфейсом IDE объемом в 400 МБ. Если это возможно, также добавьте еще один виртуальный диск с интерфейсом IDE объемом в 400 МБ.

4. Используйте утилиту dmesg для проверки корректности обнаружения новых дисковых устройств в процессе загрузки системы.

5. Проверьте наличие файлов устройств, соответствующих дисковым устройствам, в директории /dev.

6. Используйте утилиту fdisk (совместно с утилитой grep и специальным файлом устройства /dev/null) для вывода информации об объеме новых дисковых устройств.

7. Используйте утилиту badblocks для полной очистки одного из дисков наименьшего объема.

8. Рассмотрите содержимое файла /proc/scsi/scsi.

9. Если это возможно, установите утилиты lsscsi и lshw, после чего используйте их для получения списка дисковых устройств.

4.7. Корректная процедура выполнения практического задания: дисковые устройства

1. Используйте утилиту dmesg для получения списка всех устройств жестких дисков, обнаруженных в процессе загрузки системы.

Некоторые возможные варианты ответов...

dmesg | grep -i disk
Поиск жестких дисков с интерфейсом ATA: dmesg | grep hd[abcd]
Поиск жестких дисков с интерфейсом ATA: dmesg | grep -i "ata disk"
Поиск жестких дисков с интерфейсом SCSI: dmesg | grep sd[a-f]
Поиск жестких дисков с интерфейсом SCSI disks: dmesg | grep -i "scsi disk"

2. Используйте утилиту fdisk для вычисления общего объема всех жестких дисков, установленных в вашей системе.

fdisk -l

3. Остановите виртуальную машину, добавьте три виртуальных диска с интерфейсом SCSI объемом в 1 ГБ каждый и один виртуальный диск с интерфейсом IDE объемом в 400 МБ. Если это возможно, также добавьте еще один виртуальный диск с интерфейсом IDE объемом в 400 МБ.

Данное задание выполняется путем редактирования настроек виртуальной машины vmware или VirtualBox.

4. Используйте утилиту dmesg для проверки корректности обнаружения новых дисковых устройств в процессе загрузки системы.

Аналогично заданию 1.

5. Проверьте наличие файлов устройств, соответствующих дисковым устройствам, в директории /dev.

SCSI+SATA: ls -l /dev/sd*
ATA: ls -l /dev/hd*

6. Используйте утилиту fdisk (совместно с утилитой grep и специальным файлом устройства /dev/null) для вывода информации об объеме новых дисковых устройств.

root@rhel53 ~# fdisk -l 2>/dev/null | grep [MGT]B
Disk /dev/hda: 21.4 GB, 21474836480 bytes
Disk /dev/hdb: 1073 MB, 1073741824 bytes
Disk /dev/sda: 2147 MB, 2147483648 bytes
Disk /dev/sdb: 2147 MB, 2147483648 bytes
Disk /dev/sdc: 2147 MB, 2147483648 bytes

7. Используйте утилиту badblocks для полной очистки одного из дисков наименьшего объема.

#Проверьте корректность имени устройства (/dev/sdc??), которое вы хотите очистить, перед вводом данной команды.
#
root@rhel53 ~# badblocks -ws /dev/sdc
Testing with pattern 0xaa: done 
Reading and comparing: done 
Testing with pattern 0x55: done 
Reading and comparing: done 
Testing with pattern 0xff: done 
Reading and comparing: done 
Testing with pattern 0x00: done 
Reading and comparing: done

8. Рассмотрите содержимое файла /proc/scsi/scsi.

root@rhel53 ~# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 02 Lun: 00
  Vendor: VBOX     Model: HARDDISK         Rev: 1.0 
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi0 Channel: 00 Id: 03 Lun: 00
  Vendor: VBOX     Model: HARDDISK         Rev: 1.0 
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi0 Channel: 00 Id: 06 Lun: 00
  Vendor: VBOX     Model: HARDDISK         Rev: 1.0 
  Type:   Direct-Access                    ANSI SCSI revision: 05

9. Если это возможно, установите утилиты lsscsi и lshw, после чего используйте их для получения списка дисковых устройств.

Debian,Ubuntu: aptitude install lsscsi lshw
Fedora: yum install lsscsi lshw
root@rhel53 ~# lsscsi 
[0:0:2:0] disk VBOX HARDDISK 1.0 /dev/sda
[0:0:3:0] disk VBOX HARDDISK 1.0 /dev/sdb
[0:0:6:0] disk VBOX HARDDISK 1.0 /dev/sdc

Предыдущий раздел: Оглавление Следующий раздел:
Глава 3. Фоновые задачи   Глава 5. Разделы жестких дисков