Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«3.Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство Windows (Π³Π». 8-11)Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 29

Автор ΠœΠ°Ρ€ΠΊ Руссинович

Windows Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ класса дисков (\Windows\System32\Drivers\ Disk.sys), Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дисков. Windows Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ дисков. НапримСр, Scsi-port.sys β€” это ΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ дисков, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΊ SCSI-шинС, a Atapi.sys β€” ΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для систСм Π½Π° Π±Π°Π·Π΅ IDE. B Windows Server 2003 Π²Π²Π΅Π΄Π΅Π½ ΠΏΠΎΡ€Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Storport.sys, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ Scsiport.sys. Storport.sys Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… RAID-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² Fibre ChanneI. МодСль Storport Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° Scsiport, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ изготовитСлям Π·Π°Π΄Π°Ρ‡Ρƒ пСрСноса ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… SCSI-ΠΌΠΈΠ½ΠΈΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΠΎΠ΄ Storport. ΠœΠΈΠ½ΠΈΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, создаваСмыС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ для использования Storport, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ прСимущСства Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Storport, ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π² частности ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ†ΠΈΠΈ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ запросов Π½Π° Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ Π² многопроцСссорных систСмах, Π±ΠΎΠ»Π΅Π΅ управляСмой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ запросов Π½Π° Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ ΠΈ выполнСния большСй части ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ IRQL, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ маскирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Scsiport.sys ΠΈ Atapi.sys Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π²Π΅Ρ€ΡΠΈΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° планирования дисковых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ C–LOOK. Π­Ρ‚ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ запросы Π½Π° дисковый Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ Π² списки с сортировкой ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ сСктору, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ адрСсован запрос; этот сСктор Ρ‚Π°ΠΊΠΆΠ΅ называСтся Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ логичСского Π±Π»ΠΎΠΊΠ° (logical block number, LBN). C ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ KeInsertByKeyDeviceQueue ΠΈ KeRemoveByKeyDeviceQueue (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² Windows DDK) ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ запросы Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠ°ΠΊ элСмСнты (items) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ сСктор запроса Π² качСствС ΠΊΠ»ΡŽΡ‡Π°, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ этими функциями. ΠžΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ запросы, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ списку с самого младшСго сСктора Π΄ΠΎ самого ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ. Достигнув ΠΊΠΎΠ½Ρ†Π° списка, ΠΎΠ½ возвращаСтся Π² Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π° это врСмя Π² список ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ вставлСны Π½ΠΎΠ²Ρ‹Π΅ запросы. Если адрСса запросов распрСдСлСны ΠΏΠΎ всСму диску, этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ постоянному ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ области диска ΠΊ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†Ρƒ. Storport.sys Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ дисковых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π² основном примСняСтся для управлСния Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ, адрСсованным массивам Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, Π³Π΄Π΅ Π½Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ опрСдСлСния Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° диска.

C Windows ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΈΠ½ΠΈΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Aha 154x.sys для SCSI-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСмСйства Adaptec 1540. B систСмах, Π³Π΄Π΅ установлСно ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½ΠΎ IDE-устройство Π½Π° основС ATAPI, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Pciidex.sys ΠΈ Pciide.sys. Один ΠΈΠ»ΠΈ нСсколько упомянутых Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² присутствуСт Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм Windows.


Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ iSCSI

iSCSI β€” это транспортный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» для дисковых устройств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SCSI с TCP/IP, благодаря Ρ‡Π΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌΠΈ накопитСлями, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ диски, ΠΏΠΎ IP-сСтям. АрхитСктура сСти устройств хранСния Π΄Π°Π½Π½Ρ‹Ρ… (storage area networking, SAN) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ базируСтся Π½Π° сСти Fibre ChanneI, Π½ΠΎ администраторы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ iSCSI для создания ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… SAN Π½Π° основС Ρ‚Π°ΠΊΠΈΡ… сСтСвых Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΊΠ°ΠΊ гигабитная Ethernet, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ катастроф, эффСктивноС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. B Windows ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° iSCSI рСализуСтся Π² Π²ΠΈΠ΄Π΅ Microsoft iSCSI Software Initiator, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с сайта Microsoft ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows 2000, Windows XP ΠΈ Windows Server 2003.

Microsoft iSCSI Software Initiator Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

β€’ Initiator (ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€) Π­Ρ‚ΠΎΡ‚ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, состоящий ΠΈΠ· ΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° iSCSI (\Windows\System32\Drivers\Iscsiprt.sys) ΠΈ ΠΌΠΈΠ½ΠΈ-ΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° (\Windows\System32\Drivers\Msiscis.sys), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ TCP/IP для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ iSCSI ΠΏΠΎΠ²Π΅Ρ€Ρ… стандартных Ethernet ΠΈ TCP/IP ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ сСтСвых Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ускорСниСм сСтСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

β€’ Initiator Service (слуТба ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€Π°) Π­Ρ‚Π° слуТба, рСализованная Π² \Windows\System32\Iscsiexe.exe, управляСт ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ всСх ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€ΠΎΠ² iSCSI, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ сСансов. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ обнаруТСния устройств iSCSI Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² \Windows\System32\Iscsium.dll ΠΈ соотвСтствуСт спСцификации ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Internet Storage Name Service (iSNS).

β€’ Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ прилоТСния K Π½ΠΈΠΌ относятся IscsicIi.exe (ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для управлСния соСдинСниями iSCSI-устройств ΠΈ ΠΈΡ… Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ) ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π°ΠΏΠΏΠ»Π΅Ρ‚ для Control PaneI (ПанСль управлСния). НСкоторыС ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ iSCSI-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ускорСниСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ iSCSI. Π‘Π»ΡƒΠΆΠ±Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с этими Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°ΠΌΠΈ, ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ iSNS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС iSCSI-устройства, Π² Ρ‚ΠΎΠΌ числС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ слуТбой ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€Π°, Ρ‚Π°ΠΊ ΠΈ iSCSI-ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°-Π½ΠΈΠ΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· стандартныС интСрфСйсы Windows.


МРIO-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹

Π£ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° дисковых устройств Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ (path) ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ β€” Π½Π°Π±ΠΎΡ€ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², ΠΊΠ°Π±Π΅Π»Π΅ΠΉ ΠΈ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠ². B сСрвСрах, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокого уровня готовности ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с нСсколькими путями β€” ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ диском сущСствуСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ оборудования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π°Π²Π°Ρ€ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ систСма всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ диску ΠΏΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ. Однако Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ со стороны ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈΠ»ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² диск с двумя путями Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ ΠΊΠ°ΠΊ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… диска. Windows Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎ нСскольким путям (muItipath I/O, MPIO) для управлСния дисками с нСсколькими путями ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΈΠΌ диском; эта ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° опираСтся Π½Π° сторонниС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ β€” ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, спСцифичныС для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ устройства (device-specific modules, DSM). Π­Ρ‚ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±Π΅Ρ€ΡƒΡ‚ Π½Π° сСбя всю спСцифику управлСния путями, Π² Ρ‚ΠΎΠΌ числС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выбираСтся ΠΏΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ запросов Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ обнаруТСния ошибок, ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‰ΠΈΠ΅ Windows ΠΎΠ± Π°Π²Π°Ρ€ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MPIO доступна для Windows 2000 Server, Advanced Server, Datacenter Server ΠΈ Windows Server 2003 Π² Π²ΠΈΠ΄Π΅ Microsoft MPIO

Driver Development Kit, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ лицСнзируСтся поставщиками Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

B стСкС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² внСшнСй памяти Windows MPIO (рис. 10-2) Multipath Disk Driver Replacement (\Windows\System32\Drivers\Mpdev.sys) замСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ стандартного Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° класса Disk.sys. Mpdev.sys Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΎ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «устройство», ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ диски с нСсколькими путями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для Ρ‚Π°ΠΊΠΈΡ… дисков сущСствовал лишь ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «устройство». ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, этот Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° поиск подходящСго DSM для управлСния путями ΠΊ устройству. Multipath Bus Driver (\Windows\System32\Drivers\Mpio.sys) управляСт соСдинСниями ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ устройством, Π² Ρ‚ΠΎΠΌ числС обСспСчивая ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ элСктропитаниСм Π΄Π°Π½Π½ΠΎΠ³ΠΎ устройства. Mpdev.sys увСдомляСт Mpio.sys ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ устройств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. НаконСц, Multipath Port Filter (\Windows\System32 \Drivers\Mpsfltr.sys) размСщаСтся ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для диска с нСсколькими путями ΠΈ управляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ стСку устройств.


Π­ΠšΠ‘ΠŸΠ•Π Π˜ΠœΠ•ΠΠ’: наблюдСниС Π·Π° Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π½Π° физичСском дискС

C ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Event Tracing for Windows (см. Π³Π»Π°Π²Ρƒ 3) Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° класса дисков ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Diskmon ΠΎΡ‚ Sysinternals Π²Π΅Π΄Π΅Ρ‚ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ активности Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° физичСских дисках ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π΅ Π² своСм ΠΎΠΊΠ½Π΅. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ этого ΠΎΠΊΠ½Π° обновляСтся Ρ€Π°Π· Π² сСкунду. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Diskmon ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ врСмя, Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ диска, Ρ‚ΠΈΠΏ ΠΈ смСщСниС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π»ΠΈΠ½Ρƒ.


ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ «устройство» для дисков

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ класса дисков создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ «устройство», ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ диски ΠΈ дисковыС Ρ€Π°Π·Π΄Π΅Π»Ρ‹. ИмСна Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΈΠ΄ \Device\HarddiskA\DRX, Π³Π΄Π΅ X β€” Π½ΠΎΠΌΠ΅Ρ€ диска. Для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² «устройство», ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… эти Ρ€Π°Π·Π΄Π΅Π»Ρ‹, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ класса дисков Π² Windows 2000 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ IoReadPartitionTable диспСтчСра Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Π° Π² Windows XP ΠΈ Windows Server 2003 β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ IoReadParitition-TableEx. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ класса дисков Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ диска, прСдставлСнного ΠΌΠΈΠ½ΠΈΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ класса Π½Π° Ρ€Π°Π½Π½ΠΈΡ… стадиях Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы. A функция ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ дисковый Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сСкторов, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ класса, ΠΏΠΎΡ€Ρ‚- ΠΈ ΠΌΠΈΠ½ΠΈΠΏΠΎΡ€Ρ‚-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ, для считывания MBR- ΠΈΠ»ΠΈ GPT-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² (ΠΎΠ± этом ΠΌΡ‹ расскаТСм ΠΏΠΎΠ·ΠΆΠ΅) ΠΈ для формирования Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ прСдставлСния ТСстких Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² диска. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ класса дисков создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ «устройство», ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ всС Π³Π»Π°Π²Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ (Π² Ρ‚ΠΎΠΌ числС логичСскиС диски Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ этот Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ IoReadPartitionTable ΠΈΠ»ΠΈ IoReadParititionTableEx. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π·Π΄Π΅Π»Π°:


\Device\Harddisk0\DP(1)0x7e000-0x7ff50c00+2


Π­Ρ‚ΠΎ имя ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ диска систСмы. Π”Π²Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… числа (0x7e000 ΠΈ 0x7ff50c00) ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ Π΄Π»ΠΈΠ½Ρƒ Ρ€Π°Π·Π΄Π΅Π»Π°, Π° послСднСС число β€” Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ класса.

Для совмСстимости с прилоТСниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° имСнования, принятыС Π² Windows NT 4, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ класса дисков Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ для ΠΈΠΌΠ΅Π½ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Windows NT 4 ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ «устройство», созданныС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ. НапримСр, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ класса создаСт ссылки \Device\Harddisk0\PartitionO Π½Π° \Device\Harddisk0\DRO ΠΈ \Device\Harddisk0\Partitionl Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «устройство» ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ диска. B Windows Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ класса создаСт Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ссылки, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ физичСскиС диски, созданныС Π² систСмах ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows NT 4. Π’Π°ΠΊ, ссылка \??\PhysicalDrive0 ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° \Device\Harddisk0\DRO. Ha рис. 10-3 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Winobj (ΠΎΡ‚ Sysinternals), которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Harddisk Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ диска.