Juan Ortega 9/23/09 NTW412
Juan Ortega 9/23/09 NTW412
Juan Ortega 9/23/09 NTW412
9/23/09
NTW412
A block is a sequence of bytes or bits having a nominal length (block size).
File systems turn file requests into block I/O. Applications (including
databases) can do file I/O or they can bypass the filesystem and do
block I/O (this is usually called raw I/O).
Obviously it's easier to do file I/O, and you can do file sharing much
easier that way. Doing block I/O may have performance advantages
(in control of the buffering/caching and not having the file system
overhead).
NAS does file I/O while SANs typically do block I/O.
File I/O is referencing data as a file entity from a remote file system. When
referencing a file, an application uses a "file handle:offset" which really is
the name of the file and the number of bytes into the file for access to
data.
For NAS, a redirector diverts the access from a local file system to a
remote file system that is accessed across a network usually through
TCP/IP over Ethernet. The NAS device turns the remote file system
access into its own local file system access that results in a block I/O
(raw I/O) to attached devices.
1) The I/O request is intercepted by a
network redirector, also referred to simply
as a redirector, on the local computer.
3) The redirector on the server receives the packet from the client,
authenticates the access to the file required by the I/O request, and, if
authenticated, executes the request on behalf of the client. If not, it returns an
error code to the redirector on the client.
4) When the request has been executed, the redirector on the server
sends any data resulting from the I/O request to the redirector on the
client along with a success notification.
5) The redirector on the client receives the packet from the server and passes
the data in the packet to the application along with a success notification.
For a SAN access, usually a block I/O is done where the application
will access the file, the file system on the local server will turn that into
a request for a block on a particular device (LUN - logical unit) and
then block I/O is done over an interface such as Fibre Channel.
The bottom line is that file I/O eventually (and always) turns into a
block I/O -- locally it's done through the file system, for NAS it's
redirected to a NAS device to do it on a remote system.
Basically, a SAN does block I/O just like having a disk directly attached
to a server. A NAS is really remote file system I/O where the file
request is redirected over a network to a device (really a processing
entity with its own file system) where the file I/O is actually performed.
6) Kerns, R.(2005). What is block I/O?. Retrieved September 23, 2009 from
techtarget Web site:
http://searchstorage.techtarget.com/expert/KnowledgebaseAnswer/0,2896
25,sid5_gci1135655,00.html
7, 9) Kerns, R.(2001). Block I/O and I/O transfer. Retrieved September 23,
2009 from techtarget Web site:
http://searchstorage.techtarget.com/expert/KnowledgebaseAnswer/0,2896
25,sid5_gci750396_mem1,00.html
6) A Windows File system Win32 library functions reference and info used in
Windows system programming. Retrieved September 23, 2009 from
tunouk Web site: http://www.tenouk.com/Supplement.html
10-12) Kern, R.(2005). SAN vs. NAS: A diagram of the differences. Retrieved
September 23, 2009 from techtarget Web site:
http://searchstorage.techtarget.com/expert/KnowledgebaseAnswer/0,289625,s
id5_gci1150562_mem1,00.html