svn commit: r49850 - head/en_US.ISO8859-1/htdocs/news/status

Benjamin Kaduk <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
Author: bjk
Date: Sat Jan 14 22:42:06 2017
New Revision: 49850
URL: https://svnweb.freebsd.org/changeset/doc/49850

Log:
  Add Ceph entry from Willem Jan Withagen

Modified:
  head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml

Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml	Sat Jan 14 19:19:39 2017	(r49849)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-10-2016-12.xml	Sat Jan 14 22:42:06 2017	(r49850)
@@ -888,4 +888,176 @@
 	couple of weeks.</p>
     </body>
   </project>
+
+  <project cat='proj'>
+    <title>Ceph on &os;</title>
+
+    <contact>
+      <person>
+	<name>
+	  <given>Willem Jan</given>
+	  <common>Withagen</common>
+	</name>
+	<email>[email protected]</email>
+      </person>
+    </contact>
+
+    <links>
+      <url href="http://ceph.com">Ceph Main Site</url>
+      <url href="https://github.com/ceph/ceph">Main Repository</url>
+      <url href="https://github.com/wjwithagen/ceph/tree/wip.&os;">My &os; Fork </url>
+    </links>
+
+    <body>
+      <p>Ceph is a distributed object store and file system designed
+	to provide excellent performance, reliability and
+	scalability:</p>
+
+      <ul>
+	<li><p>Object Storage</p>
+
+	  <p>Ceph provides seamless access to objects using native
+	    language bindings or radosgw, a REST interface that’s
+	    compatible with applications written for S3 and
+	    Swift.</p></li>
+
+	<li><p>Block Storage</p>
+
+	  <p>Ceph’s RADOS Block Device (RBD) provides access to block
+	    device images that are striped and replicated across the
+	    entire storage cluster.</p></li>
+
+	<li><p>File System</p>
+
+	  <p>Ceph provides a POSIX-compliant network file system that
+	    aims for high performance, large data storage, and maximum
+	    compatibility with legacy applications.</p></li>
+      </ul>
+
+      <p>I started looking into Ceph because the HAST solution with
+	CARP and <tt>ggate</tt> did not really do what I was looking
+	for.  But I aim to run a Ceph storage cluster of storage nodes
+	that are running ZFS.  User stations would be running
+	<tt>bhyve</tt> on RBD disks that are stored in Ceph.</p>
+
+      <p>The &os; build will build most of the tools in Ceph.  Note
+	that the RBD dependant items will not work, since &os; does not
+	have RBD (yet).</p>
+
+      <p>Most notable progress since the last report:</p>
+
+      <ul>
+	<li>RBD is actually buildable and can be used to manage
+	  <tt>RADOS BLOCK DEVICE</tt>s.</li>
+
+	<li>All tests run to completion for the current selection of
+	  tools, though the neded (minor) patches have yet to be
+	  pulled into HEAD.</li>
+
+	<li>Cmake is now the only way of building Ceph.</li>
+
+	<li>The threading/polling code has been reworked for the
+	  simple socket code.  It now uses a self-pipe, instead of using
+	  an odd <tt>shutdown()</tt>-signaling Linux feature.</li>
+
+	<li>The EventKqueue code was modified to work around the
+	  &quot;feature&quot; that starting threads destroys the kqueue
+	  handles.  The code was just finshed, so it is not yet
+	  submitted to the main repository.</li>
+
+	<li>We investigated differences between &os; and Linux for
+	  <tt>SO_REUSEADDR</tt> and <tt>SO_REUSEPORT</tt>.  Fortunately,
+	  the code is only used during testing, so disabling these
+	  features only delays progress in the tests.</li>
+
+	<li>A jenkins instances is regularly testing both
+	  <tt>ceph/ceph/master</tt> and
+	  <tt>wjwithagen/ceph/wip.FreeBSD</tt>, so there is regular
+	  verification of buildability and the tests: <a
+	    href="http://cephdev.digiware.nl:8180/jenkins/">http://cephdev.digiware.nl:8180/jenkins/</a>.</li>
+      </ul>
+
+
+      <p>Build Prerequisites</p>
+
+      <p>Compiling and building Ceph is tested on 12-CURRENT with
+	its clang 3.9.0, but 11-RELEASE will probably also work, given
+	experience with clang 3.7.0 from 11-CURRENT.  Interestingly,
+	when 12-CURRENT had clang 3.8.0, that did not work as well as
+	either 3.7.0 or 3.9.0..</p>
+
+      <p>The clang 3.4 present in 10-STABLE does not have the
+	required capabilities to compile everything.</p>
+
+      <p>The following setup will get things running for &os;:</p>
+
+      <ol>
+	<li>Install bash and link it in <tt>/bin</tt></li>
+
+	<li>It is no longer necessary to add a definition of
+	  <tt>ENODATA</tt> to <tt>/usr/include/errno.h</tt></li>
+
+	<li>Clone the github repo
+	  (http://github.com/wjwithagen/ceph.git) and checkout the
+	  &quot;wip.FreeBSD&quot; branch</li>
+
+	<li>Run <tt>./do_FreeBSD.sh</tt> to start the build.</li>
+      </ol>
+
+      <p>The old build method using automake is no longer used; see
+	the README.FreeBSD for more details.</p>
+
+      <p>Parts not (yet) included:</p>
+
+      <ul>
+	<li>KRBD: Kernel Rados Block Devices is implemented in the
+	  Linux kernel, but not in the &os; kernel.  Perhaps
+	  <tt>ggated</tt> could be used as a template since it does some
+	  of the same things as KRBD, just between 2 disks.  It also has
+	  a userspace counterpart, which could ease development.</li>
+
+	<li>BlueStore: &os; and Linux have different AIO APIs, and
+	  that incompatibility needs to be resolved somehow.
+	  Additionally, there is discussion in &os; about
+	  <tt>aio_cancel</tt> not working for all devicetypes.</li>
+
+	<li>CephFS: Cython tries to access an internal field in
+	  <tt>struct dirent</tt>, which does not compile.</li>
+
+	<li>Tests that verify the correct working of the above are
+	  also excluded from the testset.</li>
+      </ul>
+    </body>
+
+    <help>
+      <task>Run integration tests to see if the &os; daemons will work
+	with a Linux Ceph platform.</task>
+
+      <task>Compile and test the user space RBD (Rados Block Device).
+	This currently works, but testing has been limitted.</task>
+
+      <task>Investigate and see if an in-kernel RBD device could be
+	developed akin to &os;'s <tt>ggate</tt>.</task>
+
+      <task>Investigate the keystore, which could be embedded in the
+	kernel on Linux, and currently prevents building Cephfs and some
+	other components.  The first question whether it is really
+	required, or if only KRBD require it.</task>
+
+      <task>Scheduler information is not used at the moment, because
+	the schedulers work rather differently between &os; and Linux.
+	But a a certain point in time, this would need some attention in
+	<tt>src/common/Thread.cc</tt>.</task>
+
+      <task>Integrate the &os; <tt>/etc/rc.d</tt> initscripts in the
+	Ceph stack.  This helps with testing, but also enables running
+	Ceph on production machines.</task>
+
+      <task>Build a testcluster and start running some of the
+	<tt>teuthology</tt> integration tests on it.</task>
+
+      <task>Design a vitual disk implementation that can be used with
+	<tt>bhyve</tt> and attached to an RBD image.</task>
+    </help>
+  </project>
 </report>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.