| Author |
Message |
Marco Sin
Guest
|
Posted:
Tue Nov 15, 2005 9:15 am Post subject:
MPIO question |
|
|
As I know MPIO is using for multi-pathing, if the server is using the HBA
card with single port only, is it also require to install MPIO for access HP
SAN storage? Thanks! |
|
| Back to top |
|
 |
Jeff Goldner [MS]
Guest
|
Posted:
Tue Nov 15, 2005 9:15 am Post subject:
Re: MPIO question |
|
|
Not typically but there could be situations where you connect asingle HBA to
a switch, then multiple switch ports to multiple ports on the same array.
That would require a multipathing solution.
"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:eb3eo7Z6FHA.2020@TK2MSFTNGP10.phx.gbl...
| Quote: | As I know MPIO is using for multi-pathing, if the server is using the HBA
card with single port only, is it also require to install MPIO for access
HP SAN storage? Thanks!
|
|
|
| Back to top |
|
 |
Marco Sin
Guest
|
Posted:
Wed Nov 16, 2005 8:07 am Post subject:
Re: MPIO question |
|
|
Our Design:
Server (1 HBA Card single FC port) -> (1 FC port) SAN Switch
No Multi-pathing and redundancy between Server and SAN switch
"Jeff Goldner [MS]" <jeffgo@iworkatmicrosoft> 级糶秎ン穝籇:upSYmtb6FHA.2616@TK2MSFTNGP15.phx.gbl...
| Quote: | Not typically but there could be situations where you connect asingle HBA
to a switch, then multiple switch ports to multiple ports on the same
array. That would require a multipathing solution.
"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:eb3eo7Z6FHA.2020@TK2MSFTNGP10.phx.gbl...
As I know MPIO is using for multi-pathing, if the server is using the HBA
card with single port only, is it also require to install MPIO for access
HP SAN storage? Thanks!
|
|
|
| Back to top |
|
 |
Eric Bursley [MVP]
Guest
|
Posted:
Thu Nov 17, 2005 9:09 am Post subject:
Re: MPIO question |
|
|
If you don't have multiple paths to your disk, the MPIO would not be needed.
Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature:
Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA C392 6DCB
"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:e0H4H5o6FHA.1420@TK2MSFTNGP09.phx.gbl...
| Quote: | Our Design:
Server (1 HBA Card single FC port) -> (1 FC port) SAN Switch
No Multi-pathing and redundancy between Server and SAN switch
"Jeff Goldner [MS]" <jeffgo@iworkatmicrosoft
级糶秎ン穝籇:upSYmtb6FHA.2616@TK2MSFTNGP15.phx.gbl...
Not typically but there could be situations where you connect asingle HBA
to a switch, then multiple switch ports to multiple ports on the same
array. That would require a multipathing solution.
"Marco Sin" <marco_sin@hotmail.com> wrote in message
news:eb3eo7Z6FHA.2020@TK2MSFTNGP10.phx.gbl...
As I know MPIO is using for multi-pathing, if the server is using the
HBA card with single port only, is it also require to install MPIO for
access HP SAN storage? Thanks!
|
|
|
| Back to top |
|
 |
Frank Liu
Guest
|
Posted:
Sat Nov 19, 2005 9:15 am Post subject:
Re: MPIO question |
|
|
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?
You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI? |
|
| Back to top |
|
 |
Eric Bursley [MVP]
Guest
|
Posted:
Sat Nov 19, 2005 5:15 pm Post subject:
Re: MPIO question |
|
|
Its handled pretty much the same as load balancing a NIC. A sequence number
is in each packet that is sent.
Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
| Quote: | I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?
You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?
|
|
|
| Back to top |
|
 |
Frank Liu
Guest
|
Posted:
Mon Nov 21, 2005 9:15 am Post subject:
Re: MPIO question |
|
|
But,
there is no such reserved field in SCSI commands for the serial number.
"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
| Quote: | Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.
Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?
You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?
|
|
|
| Back to top |
|
 |
Eric Bursley [MVP]
Guest
|
Posted:
Mon Nov 21, 2005 5:16 pm Post subject:
Re: MPIO question |
|
|
This is from the SCSI 2 standard RFC. The sequence number I was refering to
is the simple queue tag. If you use a SCSI sniffer you can see these queue
tags in each packet. In iSCSI, SCSI packets are handled the same way, but
there is also TCP to ensure packet sequencing over the IP network.The
network card and IP stack can then reorder packets if they happen to fall
out of sequence. If you are getting a highnumber of packet sequence out of
order on your network, you have a network problem and you should investigate
your WAN links.7.8.3.1 Typical sequences for tagged queuing
An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to indicate
that a MESSAGE OUT phase is requested by the initiator. The first message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target transmits
a DISCONNECT message to the initiator and then enters the BUS FREE phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing
An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.
Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer | Status
|
| | message | value | block | length |
|
| | | | address | |
|
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 | Queued
|
| READ | SIMPLE | 02h | 100 | 1 | Queued
|
| READ | ORDERED | 03h | 1 000 | 1 000 | Queued
|
| READ | SIMPLE | 04h | 10 000 | 1 | Queued
|
| READ | SIMPLE | 05h | 2 000 | 1 000 | Queued
|
+=============================================================================+
The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
| Quote: | But,
there is no such reserved field in SCSI commands for the serial number.
"Eric Bursley [MVP]" <ebursley at swbell dot net
级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.
Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?
You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?
|
|
|
| Back to top |
|
 |
Frank Liu
Guest
|
Posted:
Tue Nov 22, 2005 9:16 am Post subject:
Re: MPIO question |
|
|
But,
MPIO does'nt utilize the tag, nor a common host driver.
The tag is just to tell different tasks, not the command order.
"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:O7igw5q7FHA.4012@TK2MSFTNGP14.phx.gbl...
| Quote: | This is from the SCSI 2 standard RFC. The sequence number I was refering
to is the simple queue tag. If you use a SCSI sniffer you can see these
queue tags in each packet. In iSCSI, SCSI packets are handled the same
way, but there is also TCP to ensure packet sequencing over the IP
network.The network card and IP stack can then reorder packets if they
happen to fall out of sequence. If you are getting a highnumber of packet
sequence out of order on your network, you have a network problem and you
should investigate your WAN links.7.8.3.1 Typical sequences for tagged
queuing
An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to indicate
that a MESSAGE OUT phase is requested by the initiator. The first message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target transmits
a DISCONNECT message to the initiator and then enters the BUS FREE phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing
An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.
Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer |
Status |
| | message | value | block | length | |
| | | | address | | |
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 |
Queued |
| READ | SIMPLE | 02h | 100 | 1 |
Queued |
| READ | ORDERED | 03h | 1 000 | 1 000 |
Queued |
| READ | SIMPLE | 04h | 10 000 | 1 |
Queued |
| READ | SIMPLE | 05h | 2 000 | 1 000 |
Queued |
+=============================================================================+
The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
But,
there is no such reserved field in SCSI commands for the serial number.
"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.
Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?
You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?
|
|
|
| Back to top |
|
 |
Frank Liu
Guest
|
Posted:
Thu Nov 24, 2005 7:58 am Post subject:
Re: MPIO question |
|
|
I got the point.
"simple queue" doesn't care the order.
The application should send independent outstanding IO.
In other words, it can not write the same block in these outstanding IO;
otherwises, it will hit compare error.
"ordered queue" must garantee the order.
The application can send dependent outstanding IO.
MPIO will not change the tag type and tag value. It just forward
commands to the real device.
"Frank Liu" <frank.liu@qsan.com.tw> 级糶秎ン穝籇:Omkdqoy7FHA.4036@TK2MSFTNGP11.phx.gbl...
| Quote: | But,
MPIO does'nt utilize the tag, nor a common host driver.
The tag is just to tell different tasks, not the command order.
"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:O7igw5q7FHA.4012@TK2MSFTNGP14.phx.gbl...
This is from the SCSI 2 standard RFC. The sequence number I was refering
to is the simple queue tag. If you use a SCSI sniffer you can see these
queue tags in each packet. In iSCSI, SCSI packets are handled the same
way, but there is also TCP to ensure packet sequencing over the IP
network.The network card and IP stack can then reorder packets if they
happen to fall out of sequence. If you are getting a highnumber of
packet sequence out of order on your network, you have a network problem
and you should investigate your WAN links.7.8.3.1 Typical sequences for
tagged queuing
An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to
indicate
that a MESSAGE OUT phase is requested by the initiator. The first
message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target transmits
a DISCONNECT message to the initiator and then enters the BUS FREE phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing
An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.
Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer |
Status |
| | message | value | block | length | |
| | | | address | | |
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 |
Queued |
| READ | SIMPLE | 02h | 100 | 1 |
Queued |
| READ | ORDERED | 03h | 1 000 | 1 000 |
Queued |
| READ | SIMPLE | 04h | 10 000 | 1 |
Queued |
| READ | SIMPLE | 05h | 2 000 | 1 000 |
Queued |
+=============================================================================+
The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
But,
there is no such reserved field in SCSI commands for the serial number.
"Eric Bursley [MVP]" <ebursley at swbell dot net> 级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.
Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F
DDCA C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?
You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?
|
|
|
| Back to top |
|
 |
Jeff Goldner [MS]
Guest
|
Posted:
Sat Nov 26, 2005 1:16 am Post subject:
Re: MPIO question |
|
|
Windows in general (and most any OS that has an asynchronous I/O model)
doesn't provide any guarantee about command ordering. Even w/o multiple
paths, the storage stack can reorder for efficiency as can any component
along the way. An application that requires ordering needs to enforce it by
doing synchronous I/O with write through - the app issues I/Os in whatever
order is appropriate, waits for a response from the first (or first batch)
and then proceeds on to the next I/O. The filesystem uses this technique for
its metadata, SQL uses both async and sync, and even overlaps commands
(reads while writes are outstanding) when it can determine the most
efficient processing. An example:
write block 2 asynchronously
read blocks 1-4 (if and only if it only wants data from blocks 1 & 4) even
before block 2 write completes.
Some other details:
- Queue tags are for housekeeping purposes. Most adapters don't use the ones
provided by Windows but generate their own.
- Windows uses only the SIMPLE task modifier (not ordered or head of queue)
- Windows port drivers modify the order of commands by using a modified
verson of the C-SCAN algorithm IF the following are true:
1) port driver is NOT Storport (Storport queues in FIFO order)
2) no more commands can be issued to the adapter - this is a function of the
interface (e.g., on ATA we don't do queuing to the drives; for SCSIport the
NumberOfRequests registry option controls the outstanding commands for
devices that support queuing; the adapter itself can impose any limit by not
asking for more commands; the device returns BUSY)
- MPIO does nothing to change these behaviors but a DSM can and typically
will do further modification
- iSCSI uses a command sequence number which is assigned at the time the
command goes out on the wire. Since the MS iSCSI software initiator uses a
modified Storport driver, it doesn't reorder. But iSCSI+MPIO might do some
rearrangement depending on load balance policy.
- applications and filesystems use logging and/or journaling to insure
consistency of the data. When a log is flushed, all the data associated with
that checkpoint is committed to media when the operation completes.
- Windows provides various mechanisms for applications to acheive data
consistency including flags on the file open, kernel interfaces for
individual I/Os and flushing primitives.
- many SATA RAID drivers and non-standard IDE controller drivers will
intentionally cache data for arbitrary lengths of time and return completion
without regard for the application's requirements or flags on the I/O. They
also may ignore flushes. They do this solely for the sake of getting the
highest numbers in benchmark tests. This can and does result in data
corruption on a system crash, power failure or glitch on the interconnect.
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:Oxb9cqJ8FHA.2816@tk2msftngp13.phx.gbl...
| Quote: | I got the point.
"simple queue" doesn't care the order.
The application should send independent outstanding IO.
In other words, it can not write the same block in these outstanding
IO;
otherwises, it will hit compare error.
"ordered queue" must garantee the order.
The application can send dependent outstanding IO.
MPIO will not change the tag type and tag value. It just forward
commands to the real device.
"Frank Liu" <frank.liu@qsan.com.tw
级糶秎ン穝籇:Omkdqoy7FHA.4036@TK2MSFTNGP11.phx.gbl...
But,
MPIO does'nt utilize the tag, nor a common host driver.
The tag is just to tell different tasks, not the command order.
"Eric Bursley [MVP]" <ebursley at swbell dot net
级糶秎ン穝籇:O7igw5q7FHA.4012@TK2MSFTNGP14.phx.gbl...
This is from the SCSI 2 standard RFC. The sequence number I was
refering to is the simple queue tag. If you use a SCSI sniffer you can
see these queue tags in each packet. In iSCSI, SCSI packets are handled
the same way, but there is also TCP to ensure packet sequencing over the
IP network.The network card and IP stack can then reorder packets if
they happen to fall out of sequence. If you are getting a highnumber of
packet sequence out of order on your network, you have a network problem
and you should investigate your WAN links.7.8.3.1 Typical sequences for
tagged queuing
An I/O process using tagged queuing uses the following sequences for
normal execution. The initiator first arbitrates for the SCSI bus, and
after successfully obtaining the SCSI bus, selects the appropriate SCSI
device. The ATN signal is asserted during the SELECTION phase to
indicate
that a MESSAGE OUT phase is requested by the initiator. The first
message
byte transferred is an IDENTIFY message. The ATN signal continues to be
asserted during the MESSAGE OUT phase to indicate that the initiator has
another message. The second message byte transferred is the first byte
of the appropriate queue tag message, in this case a SIMPLE QUEUE TAG
message. The third and last message byte is transmitted containing the
second byte of the queue tag message, the queue tag. As it is
transferred, the ATN signal is negated to indicate that no more message
bytes are available. The target then transfers the command descriptor
block. Assuming the command requires disconnection, the target
transmits
a DISCONNECT message to the initiator and then enters the BUS FREE
phase.
The target places the command, identified by the I_T_L_Q nexus, at the
appropriate place in the command queue.7.8.3.2 Example of tagged queuing
An example of the execution of five queued I/O processes is described to
demonstrate how tagged queuing operates. All tagged I/O processes are
from one initiator to a single logical unit of a single target. The
five
I/O processes are defined in table 28. The target is a direct-access
device. At the time the I/O processes are first being executed, it is
assumed that the actuator is in position to access logical block 10 000.
Table 28 - Commands in order received by target
+===========-=============-=============-============-=============-==========+
| Command | Queue tag | Queue tag | Logical | Transfer |
Status |
| | message | value | block | length | |
| | | | address | | |
|-----------+-------------+-------------+------------+-------------+----------|
| READ | SIMPLE | 01h | 10 000 | 1 000 |
Queued |
| READ | SIMPLE | 02h | 100 | 1 |
Queued |
| READ | ORDERED | 03h | 1 000 | 1 000 |
Queued |
| READ | SIMPLE | 04h | 10 000 | 1 |
Queued |
| READ | SIMPLE | 05h | 2 000 | 1 000 |
Queued |
+=============================================================================+
The optimum order would require that those blocks close to the actuator
position be the first blocks accessed, followed by those increasingly
far
from the actuator position. However, the command with queue tag 03h is
an ordered I/O process, so that all simple I/O processes transferred
previously must be executed before, while all simple I/O processes
transferred after the ordered I/O process must be executed after the
ordered I/O process.Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F DDCA
C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:OMzZXon7FHA.3592@TK2MSFTNGP12.phx.gbl...
But,
there is no such reserved field in SCSI commands for the serial number.
"Eric Bursley [MVP]" <ebursley at swbell dot net
级糶秎ン穝籇:ejJpoeR7FHA.1864@TK2MSFTNGP12.phx.gbl...
Its handled pretty much the same as load balancing a NIC. A sequence
number is in each packet that is sent.
Eric Bursley
eric at bursley dot net
Microsoft MVP
RHCE, MCSE, BCFP, EEIE-CS, ESCE-CS
GPG Signature: Key fingerprint = CEAE CF3A 3876 7ECE 9DA7 946F DA9F
DDCA C392 6DCB
"Frank Liu" <frank.liu@qsan.com.tw> wrote in message
news:%237qxmDO7FHA.3048@TK2MSFTNGP10.phx.gbl...
I wonder under load-balance mode,
how MPIO preserve the order of SCSI commands?
You know, iSCSI and FC has serial number to know the order.
How is paralle SCSI?
|
|
|
| Back to top |
|
 |
|
|
|
|