Lack of conservation
Perhaps the most important characteristic of NFS protocol is that the server to
work correctly, not retaining state and does not need to any information about
their clients. Each request is completely independent of the other requests and
contains all the necessary information for processing. The server does not need
to maintain any records of past clients' requests, except for optional
capabilities, which can be used to cache data for the collection of statistics.
For example, in the NFS no requests for opening and closing files, since they
created the information on the status, which should zapominatsya server. For the
same reason, read and write requests pass as a parameter to the initial position,
as opposed to read and write operations with local files, which are offset from
the "open file". Protocol without pay status simplifies recovery after a system
crash. If the client refuses system, no recovery is not required because the
server does not support any sustained knowledge of the customer. If the customer
perezagruzilsya, it may peremontirovat file systems and run applications that
appeal to the files. The server can be either know or worry about rejection
client. If denied server, the client will see that their requests he receives no
answers. Then he continues to re-send requests until the server restarts. (This
is true only when the hard mount (by default). The soft mount client take some
time ceases premise application requests and returns an error message). From
that time on, the server will begin to receive inquiries and can handle them
because requests are independent of any earlier information on the condition.
When the server finally respond to queries, the client will cease to send them
again. The client has no means of determining whether the server was rebooted
and denied, or simply slow disks. Minutes of the state of demand of the complex
mechanisms of recovery after failure. The server must detect failures client and
eliminate all state associated with the client. If denied, and rebooted the
server, it must notify the customers so that they can re-establish their state
on the server. The main problem without pay status is that the server must
record all changes in a stable memory before sending a reply to a query. This
means that not only the data file, but all metadata descriptors such as index or
indirect blocks should be flushed to disk before returning results. Otherwise,
the server can lose data that the client is confident that they have inscribed
on the disc. (Waiver system could lead to data loss even in the local file
system, but in such cases users are aware of the possibility of failure and lose
data). Work without pay status is also associated with other disabilities. It
requires a separate protocol (NLM) to lock files. In addition, to address the
productivity of simultaneous recording most customers hold data and metadata
locally. But this is contrary to the guarantees of compliance with the protocol
agreed upon condition.
General information on the work and load NFS
At least in the net of Sun NFS
servers are the simplest to configure large-scale servers, mainly because they
work with the same operating system code (there is only one implementation of
NFS server, which can be found at the Sun, because it is associated with the
operating system product). Moreover, in themselves are relatively simple NFS
servers, as well as NFS serves all 18 operations, which limited its semantics of
remote files and providing access to them. They are far less complex, for
example, compared with relational database servers, where there are more than 75
operations, a standard SQL, and they apply to a complex set of data, which
include structural relationship. NFS solves only part of the problem and
therefore much easier. 3.1 The following table presents 18 of NFS. Six of them
were major, and the vast majority are actually performed because of the number
and use of resources : getattr, setattr, lookup, readlink, read and write. These
operations are implemented search and modify file attributes, find the file, a
symbolic links, as well as reading and writing files, respectively. You can
clearly identify two fundamentally different sets of operations : in particular,
read and write operations manipulated valid file contents, while others
manipulate the attributes of the files. The difference between these sets of the
type defined primarily the burden in meeting the request of server and network
resources system
Operation on attributes.
Attributes of a system for much less burdensome than dealing with data. As the
attributes of the file is fairly small (a couple of hundred bytes of the file),
the file system attributes most of the active files, will buffered (cache)
in the main memory of the server. Even if the file attributes are cached, they
simply find and read from the disk. After the attributes of a file server for a
selected customer service any request to these attributes is only in
manipulating bits cached attributes and the performance of conventional network
protocol. Overhead costs associated with the network processing of these
operations is relatively high, as the relative number of bytes of useful data
packet transmitted really small. Attributes sending small packets (most were the
size of 64-128 bytes). The transaction attributes consume relatively low
bandwidth networks.
|