RFC: New Handbook section - HAST

Fabian Keil freebsd-listen at fabiankeil.de
Sun Feb 27 13:08:29 UTC 2011


Daniel Gerzo <danger at freebsd.org> wrote:

> Index: disks/chapter.sgml
> ===================================================================
> RCS file: /home/dcvs/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml,v
> retrieving revision 1.302
> diff -u -r1.302 chapter.sgml
> --- disks/chapter.sgml	30 Dec 2010 00:41:40 -0000	1.302
> +++ disks/chapter.sgml	27 Feb 2011 10:23:42 -0000
> @@ -3996,6 +3996,667 @@

> +    <sect2>
> +      <title>Synopsis</title>
> +
> +      <para>High-availability is one of the main requirements in serious
> +	business applications and highly available storage is a key
> +	component in such environments.  <acronym>HAST</acronym> makes
> +	it together with other features of &os; which provide for
> +	high-availability, such as <acronym>CARP</acronym>, possible
> +	to build a highly available storage cluster resistant
> +	from the hardware failures.</para>

I'd suggest to rephrase this sentence to something like:

|  <acronym>HAST</acronym>, together with other &os; high-availability
|  features like <acronym>CARP</acronym>, makes it possible
|  to build a highly available storage cluster resistant to
|  hardware failures.</para>

> +      <para>Highly Available STorage, <acronym>HAST</acronym> in short, was
> +	developed by &a.pjd; as a framework, which allows to
> +	transparently store the same data across several physically
> +	separated machines connected through the TCP/IP network.

Maybe simply:

|                      ... connected by TCP/IP.

> +      <itemizedlist>
> +	<listitem>
> +	  <para>What <acronym>HAST</acronym> is, how it works and what
> +	    features it provides.</para>

|      ... which features ...

> +	<listitem>
> +	  <para>Have a good understanding of the &os; networking
> +	    (<xref linkend="network-communication">).</para>

The meaning of this sentence isn't entirely clear to me.
Is there maybe a word missing at the end?

> +      <para>The <acronym>HAST</acronym> project was sponsored by The
> +	&os; Foundation with the support from <ulink

I'm not sure the use of &os; is correct here.

> +	</listitem>
> +	<listitem>
> +	  <para>File system agnostic, thus enabling a possibility to
> +	    use any file system supported by &os;.</para>

s at enabling a possibility at allowing@

> +      <para><acronym>HAST</acronym> operates synchronously on a block
> +	level, which makes it transparent for file systems and
> +	applications.  <acronym>HAST</acronym> provides a regular GEOM
> +	providers in <filename class="directory">/dev/hast/</filename>

Either "provides a regular ... provider" or "provides regular ... providers".
Should GEOM maybe link somewhere?

> +	directory for use by other tools and applications, thus there is

This implies a differences between tools and applications
that, at least to me, isn't obvious in this context.

> +	no difference between using <acronym>HAST</acronym>-provided
> +	device and raw disk, partition, etc.</para>

Maybe add some "a"s or make that "devices and raw disk, partitions,".

> +      <para>Each write, delete or flush operation is send to local
> +	disk and to remote disk over TCP/IP connection.  Each read
> +	operation is served from local disk, unless local disk is not

I think there are a few "the"'s missing in the above paragraph.

> +	<para><acronym>HAST</acronym> tries to provide fast failure
> +	  recovery.  For this reason, it is very important to reduce
> +	  synchronization time after node's outage.  To provide fast

|                         ... after a node's ...

> +	  synchronization, <acronym>HAST</acronym> manages on-disk bitmap
> +	  of dirty extents, from which only those are being synchronized
> +	  during the regular synchronization (with an exception of the
> +	  initial sync).</para>

I suggest:

| <acronym>HAST</acronym> manages an on-disk bitmap
| of dirty extents and only synchronizes those during
| a regular synchronization (with the exception ...

This still seems to imply that there is an irregular
synchronization, too. Is that the initial synchronization?

Maybe the sentence should simply stop after "those".
I assume in case of the initial synchronization all
extents are treated as dirty?

> +	<para>There are many ways to handle synchronization.
> +	  <acronym>HAST</acronym> implements several replication modes
> +	  to handle different synchronization methods:</para>

I'm not sure the first sentence adds anything here.

> +	<itemizedlist>
> +	  <listitem>
> +	    <para><emphasis>memsync</emphasis>: report write operation
> +	      as completed when local write completes and when remote

|                           ... the local write operation is finished
|             and when the remote ...

(also in the next paragraphs)

> +	      node acknowledges data arrival, but before actually
> +	      storing the data.  The data on remote node will be stored

|                                     ... on the remote node

> +	      directly after sending acknowledgement.  This mode is

|                       ... sending the ...

> +	      intended to reduce latency, but still provides a very good

I think the "a" could be removed here.

> +      <para><acronym>HAST</acronym> requires
> +	<literal>GEOM_GATE</literal> support in order to function.
> +	The <literal>GENERIC</literal> kernel does
> +	<emphasis>not</emphasis> include <literal>GEOM_GATE</literal>
> +	by default, however the <filename>geom_gate.ko</filename>
> +	loadable module is available in the default &os; installation.
> +	For stripped-down systems, make sure to have this module

|                                   ... sure this module is ...

> +	available.  Alternatively, it is possible to build
> +	<acronym>GEOM_GATE</acronym> support into the kernel
> +	statically, by adding the following line to the custom kernel

I'd probably move the "statically" before "build".

I haven't read the rest of the diff yet.
Note that I'm not a native English speaker either.

Thanks for working on this, Daniel.

Fabian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-doc/attachments/20110227/a42393b7/attachment.sig>


More information about the freebsd-doc mailing list