initial code repo
[stor4nfv.git] / src / ceph / doc / dev / freebsd.rst
diff --git a/src/ceph/doc/dev/freebsd.rst b/src/ceph/doc/dev/freebsd.rst
new file mode 100644 (file)
index 0000000..5a401ee
--- /dev/null
@@ -0,0 +1,58 @@
+==============================
+FreeBSD Implementation details
+==============================
+
+
+Disk layout 
+-----------
+
+Current implementation works on ZFS pools
+
+* created in /var/lib/ceph
+* One ZFS pool per OSD, like::
+
+    gpart create -s GPT ada1
+    gpart add -t freebsd-zfs -l osd1 ada1
+    zpool create -o mountpoint=/var/lib/ceph/osd/osd.1 osd
+
+* Maybe add some cache and log (ZIL)? Assuming that ada2 is an SSD::
+    gpart create -s GPT ada2
+    gpart add -t freebsd-zfs -l osd1-log -s 1G ada2
+    zpool add osd1 log gpt/osd1-log
+    gpart add -t freebsd-zfs -l osd1-cache -s 10G ada2
+    zpool add osd1 log gpt/osd1-cache
+
+* Note: *UFS2 does not allow large xattribs*
+
+
+Configuration
+-------------
+
+As per FreeBSD default parts of extra software go into ``/usr/local/``. Which
+means that for ``/etc/ceph.conf`` the default location is 
+``/usr/local/etc/ceph/ceph.conf``. Smartest thing to do is to create a softlink
+from ``/etc/ceph`` to ``/usr/local/etc/ceph``::
+
+  ln -s /usr/local/etc/ceph /etc/ceph
+  
+A sample file is provided in ``/usr/local/share/doc/ceph/sample.ceph.conf``
+
+
+MON creation
+------------
+
+Monitors are created by following the manual creation steps on::
+
+  http://docs.ceph.com/docs/master/install/manual-deployment/
+
+
+OSD creation
+------------
+
+OSDs can be create with ``ceph-disk``::
+
+  ceph-disk prepare /var/lib/ceph/osd/osd1
+  ceph-disk activate /var/lib/ceph/osd/osd1
+  
+And things should automagically work out.