summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2010-02-18 23:16:19 +0000
committerpjd <pjd@FreeBSD.org>2010-02-18 23:16:19 +0000
commit1c1e2e8b7128696797c328aefd45f618c64ba613 (patch)
treeb457b029c3a2e668bca4294dab77cfceeba7dcbd /etc
parenta448fe30c9ff8f38fe6cc08b23bf069aabb7438c (diff)
downloadFreeBSD-src-1c1e2e8b7128696797c328aefd45f618c64ba613.zip
FreeBSD-src-1c1e2e8b7128696797c328aefd45f618c64ba613.tar.gz
Please welcome HAST - Highly Avalable Storage.
HAST allows to transparently store data on two physically separated machines connected over the TCP/IP network. HAST works in Primary-Secondary (Master-Backup, Master-Slave) configuration, which means that only one of the cluster nodes can be active at any given time. Only Primary node is able to handle I/O requests to HAST-managed devices. Currently HAST is limited to two cluster nodes in total. HAST operates on block level - it provides disk-like devices in /dev/hast/ directory for use by file systems and/or applications. Working on block level makes it transparent for file systems and applications. There in no difference between using HAST-provided device and raw disk, partition, etc. All of them are just regular GEOM providers in FreeBSD. For more information please consult hastd(8), hastctl(8) and hast.conf(5) manual pages, as well as http://wiki.FreeBSD.org/HAST. Sponsored by: FreeBSD Foundation Sponsored by: OMCnet Internet Service GmbH Sponsored by: TransIP BV
Diffstat (limited to 'etc')
-rw-r--r--etc/defaults/rc.conf3
-rwxr-xr-xetc/rc.d/Makefile2
-rw-r--r--etc/rc.d/hastd31
3 files changed, 35 insertions, 1 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf
index 7d0a7d2..35b3a7b 100644
--- a/etc/defaults/rc.conf
+++ b/etc/defaults/rc.conf
@@ -260,6 +260,9 @@ syslogd_flags="-s" # Flags to syslogd (if enabled).
inetd_enable="NO" # Run the network daemon dispatcher (YES/NO).
inetd_program="/usr/sbin/inetd" # path to inetd, if you want a different one.
inetd_flags="-wW -C 60" # Optional flags to inetd
+hastd_enable="NO" # Run the HAST daemon (YES/NO).
+hastd_program="/sbin/hastd" # path to hastd, if you want a different one.
+hastd_flags="" # Optional flags to hastd.
#
# named. It may be possible to run named in a sandbox, man security for
# details.
diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile
index d0e24b3..17f7634 100755
--- a/etc/rc.d/Makefile
+++ b/etc/rc.d/Makefile
@@ -12,7 +12,7 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \
encswap \
faith fsck ftp-proxy ftpd \
gbde geli geli2 gssd \
- hcsecd \
+ hastd hcsecd \
hostapd hostid hostid_save hostname \
inetd initrandom \
ip6addrctl ipfilter ipfs ipfw ipmon \
diff --git a/etc/rc.d/hastd b/etc/rc.d/hastd
new file mode 100644
index 0000000..3014caf
--- /dev/null
+++ b/etc/rc.d/hastd
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: hastd
+# REQUIRE: NETWORKING syslogd
+# BEFORE: DAEMON
+
+. /etc/rc.subr
+
+name="hastd"
+rcvar=`set_rcvar`
+pidfile="/var/run/${name}.pid"
+command="/sbin/${name}"
+hastctl="/sbin/hastctl"
+required_files="/etc/hast.conf"
+stop_precmd="hastd_stop_precmd"
+required_modules="geom_gate:g_gate"
+
+sockfile="/var/run/syslogd.sockets"
+evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
+altlog_proglist="named"
+
+hastd_stop_precmd()
+{
+ ${hastctl} role init all
+}
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud