diff options
-rw-r--r-- | sys-fs/ocfs2-tools/Manifest | 5 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/files/INSTALL.GENTOO | 109 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/files/ocfs2.conf | 178 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/files/ocfs2.init | 100 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/ocfs2-tools-1.6.4.ebuild | 63 |
5 files changed, 455 insertions, 0 deletions
diff --git a/sys-fs/ocfs2-tools/Manifest b/sys-fs/ocfs2-tools/Manifest new file mode 100644 index 0000000..b4e1599 --- /dev/null +++ b/sys-fs/ocfs2-tools/Manifest @@ -0,0 +1,5 @@ +AUX INSTALL.GENTOO 3933 RMD160 2b6adb01de96dbd503f07a5d067ede79416e5cc1 SHA1 8d4a006c699741ab584096d603d1158a6cba3e10 SHA256 6b5962e4f1b3a463c302bb08380b4b992fdb5eb88150a803bd22b24b7df64027 +AUX ocfs2.conf 4400 RMD160 01b052775dc31f290a51940f8dec9abf4764038a SHA1 979da795b8290260f395df413e56a4b2418f36d2 SHA256 4ceb77ebda201ccf00dea66db4791848653daed601cfcf97301f5ba8b16549aa +AUX ocfs2.init 2988 RMD160 a155616b632419fc54443e45b69a248d8660520c SHA1 5b5e23fdb617f1f6ca7122588e9d832966e804df SHA256 fecbc0b8ffd12b7f354e360296a24cb35bf6dcb2bcec77ba8ec5b9028232589c +DIST ocfs2-tools-1.6.4.tar.gz 823914 RMD160 c8b65f4c26017e257c4190322d6df64e9ef7925b SHA1 1409a13f63b55457a474c5f5662260e420452ee9 SHA256 dda9db208312e3e5f4f55ee77e66e7b35b9cc10421bc02065a6c168e42b24755 +EBUILD ocfs2-tools-1.6.4.ebuild 1694 RMD160 84509e0a7c051737c71c6dfce83ec9a3297b2f00 SHA1 f4d2703a7b3692c0843e382813f747ea9818a9a9 SHA256 9652c506fe29f8aa47270db6fa203f76b7dcc1c29abac7bcdadafd0f618366f4 diff --git a/sys-fs/ocfs2-tools/files/INSTALL.GENTOO b/sys-fs/ocfs2-tools/files/INSTALL.GENTOO new file mode 100644 index 0000000..ed36a97 --- /dev/null +++ b/sys-fs/ocfs2-tools/files/INSTALL.GENTOO @@ -0,0 +1,109 @@ +Installing, configuring and running OCFS2 on Gentoo Linux + + +INSTALLING +========== +Step 1 - Inserting modules +-------------------------- +Add 'ocfs2' to your /etc/modules.autoload.d/kernel-2.6 file: +# echo "ocfs2" >> /etc/modules.autoload.d/kernel-2.6 +# modules-update + +Step 2 - Mounting the pseudo-filesystems +---------------------------------------- +add mountpoints for configfs and dlmfs to /etc/fstab +# echo "none /config configfs defaults 0 0" >> /etc/fstab +# echo "none /dlm ocfs2_dlmfs defaults 0 0" >> /etc/fstab + +Step 3 - Adding ocfs to list of network filesystems +--------------------------------------------------- +Edit /etc/init.d/functions.sh and add "ocfs2" to a NET_FS_LIST list. +This way localmount will not mount ocfs2 filesystems before running net.ethX +and ocfs2 init scripts. This *IS* dirty, but sys-apps/baselayout needs to be +updated. + +Step 4 - Addding ocfs2 to default runlevel +------------------------------------------ +# rc-update add ocfs2 default + + +CONFIGURING +=========== +Step 1 - Edit your cluster.conf +------------------------------- +Edit /etc/ocfs2/cluster.conf and add your nodes. One node can be a member +of many cluster, so repeat the config for each node/cluster pair. In the case of +a multicluster node, "ip_port" must be different for every cluster. +You can also use o2cb_console for this task, if you compiled with USE=X. + +Step 2 - Copy config to other nodes +----------------------------------- +Make sure that every node in cluster(s) has an identical config file. + +Step 3 - Update /etc/conf.d/ocfs2 +--------------------------------- +Add names of cluster(s) in which this node belongs to the OCFS2_CLUSTERS list. + +Also, if you're running firewall on your nodes, make sure you've read +"Firewall restrictions" below. + +RUNNING +======= + +Notes about adding nodes while online +------------------------- +*DON'T* add nodes to /etc/ocfs2/cluster.conf while the cluster is online. +Use /sbin/o2cb_ctl instead, e.g.: + +# /sbin/o2cb_ctl -C -n <node_name> -t node -a number=<node_number> \ + -a ip_address=<ip_address> -a ip_port=<port> -a cluster=<clustername> + +If the complete cluster is down, you may add nodes to /etc/ocfs2/cluster.conf, +but make sure you end up with *SAME* cluster.conf on every node. + +For a complete reference, check files in this directory +as well as http://oss.oracle.com/projects/ocfs2 +You have been warned. + +Also, if you're running a firewall on your nodes, make sure you've read the +following section. + +Firewall restrictions +--------------------- +Logically, allow all nodes to connect to each other via specified port(s). +If you used 7777 as a port for communication, issue: + +# iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT +# iptables -N OCFS2_NODES +# iptables -A OCFS2_NODES -s <node_ip_address> -j ACCEPT +(repeat former command for every node) +# iptables -A OCFS2_NODES -j DROP +# iptables -A INPUT -p tcp --dport 7777 -m state --state NEW -j OCFS2_NODES +# /etc/init.d/iptables save + +You should do this on every node. + +KNOWN BUGS +========== +1. Init script does not have all the funtionality of the o2cb script +---------------------------------------------------------------- +I know that, but o2cb script doesn't use "depend" and therefore its start +can't be controlled inside runlevels. I had to rewrite major portions of it +to make it Gentoo-friendly. o2cb is still available, and if you need +additional functionality from /etc/init.d/ocfs2, file a bug report (see +"Reporting Bugs" below). + +2. Booting off the ocfs2 cluster doesn't work +--------------------------------------------- +... or at least, isn't tested. If someone wants to play with it, I'd be +happy to incorporate any ideas or experiences. + +REPORTING BUGS +============== +Open a bug at http://bugs.gentoo.org and add laza@yu.net into the CC list. +If the problem is within my powers, I'll fix it, if not, I'll +escalate it to ocfs2 developers. + +--- +05. Aug 2005. +Lazar Obradovic diff --git a/sys-fs/ocfs2-tools/files/ocfs2.conf b/sys-fs/ocfs2-tools/files/ocfs2.conf new file mode 100644 index 0000000..c951737 --- /dev/null +++ b/sys-fs/ocfs2-tools/files/ocfs2.conf @@ -0,0 +1,178 @@ + + + + + + + + + + + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<!-- ViewVC :: http://www.viewvc.org/ --> +<head> +<title>[gentoo-x86] Contents of /sys-fs/ocfs2-tools/files/ocfs2.conf</title> +<meta name="generator" content="ViewVC 1.1.8" /> +<link rel="shortcut icon" href="/cgi-bin/viewvc.cgi/*docroot*/images/favicon.ico" type="image/x-icon" /> +<link rel="stylesheet" href="/cgi-bin/viewvc.cgi/*docroot*/styles.css" type="text/css" /> + +</head> +<body> +<div class="vc_navheader"> +<table><tr> +<td><strong><a href="/cgi-bin/viewvc.cgi?hideattic=0"><span class="pathdiv">/</span></a><a href="/cgi-bin/viewvc.cgi/gentoo-x86/?hideattic=0">[gentoo-x86]</a><span class="pathdiv">/</span><a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/?hideattic=0">sys-fs</a><span class="pathdiv">/</span><a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/ocfs2-tools/?hideattic=0">ocfs2-tools</a><span class="pathdiv">/</span><a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/ocfs2-tools/files/?hideattic=0">files</a><span class="pathdiv">/</span><a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/ocfs2-tools/files/ocfs2.conf?hideattic=0&view=log">ocfs2.conf</a></strong></td> +<td style="text-align: right;"> +</td> +</tr></table> +</form> +</div> +<div style="float: right; padding: 5px;"><a href="http://www.gentoo.org/" title="Gentoo Linux"><img src="/cgi-bin/viewvc.cgi/*docroot*/images/gentoo-new.gif" alt="Gentoo" width="182" height="59" /></a></div> +<h1>Contents of /sys-fs/ocfs2-tools/files/ocfs2.conf</h1> + +<p style="margin:0;"> + +<a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/ocfs2-tools/files/?hideattic=0"><img src="/cgi-bin/viewvc.cgi/*docroot*/images/back_small.png" class="vc_icon" alt="Parent Directory" /> Parent Directory</a> + +| <a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/ocfs2-tools/files/ocfs2.conf?hideattic=0&view=log"><img src="/cgi-bin/viewvc.cgi/*docroot*/images/log.png" class="vc_icon" alt="Revision Log" /> Revision Log</a> + + + + +</p> + +<hr /> +<div class="vc_summary"> +Revision <strong>1.2</strong> - +(<a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/ocfs2-tools/files/ocfs2.conf?annotate=1.2&hideattic=0"><strong>show annotations</strong></a>) +(<a href="/cgi-bin/viewvc.cgi/gentoo-x86/sys-fs/ocfs2-tools/files/ocfs2.conf?revision=1.2"><strong>download</strong></a>) + + +<br /><em>Thu Oct 8 09:03:35 2009 UTC</em> +(16 months ago) +by <em>flameeyes</em> + + +<br />Branch: <strong>MAIN</strong> + + +<br />CVS Tags: <strong>HEAD</strong> + + + + +<br />Changes since <strong>1.1: +1 -1 lines</strong> + + + +<br />File MIME type: text/plain + + + + + + +<br /><strong><em>FILE REMOVED</em></strong> + + +<pre class="vc_log">Remove packages slated for QA removal today. +</pre> + +</div> + + + + + + +<div id="vc_file"> +<table cellspacing="0" cellpadding="0"> + + + + + + + + +<tr class="vc_row_odd" id="l1"> +<td class="vc_file_line_number">1</td> + +<td class="vc_file_line_text"><span class="pygments-"># Copyright 1999-2006 Gentoo Foundation</span> +</td> +</tr> + + + + +<tr class="vc_row_odd" id="l2"> +<td class="vc_file_line_number">2</td> + +<td class="vc_file_line_text"><span class="pygments-"># Distributed under the terms of the GNU General Public License v2</span> +</td> +</tr> + + + + +<tr class="vc_row_odd" id="l3"> +<td class="vc_file_line_number">3</td> + +<td class="vc_file_line_text"><span class="pygments-"># $Header: /var/cvsroot/gentoo-x86/sys-fs/ocfs2-tools/files/Attic/ocfs2.conf,v 1.2 2009/10/08 09:03:35 flameeyes dead $</span> +</td> +</tr> + + + + +<tr class="vc_row_odd" id="l4"> +<td class="vc_file_line_number">4</td> + +<td class="vc_file_line_text"> +</td> +</tr> + + + + +<tr class="vc_row_odd" id="l5"> +<td class="vc_file_line_number">5</td> + +<td class="vc_file_line_text"><span class="pygments-"># Put your cluster names here, separated by space, ie.</span> +</td> +</tr> + + + + +<tr class="vc_row_odd" id="l6"> +<td class="vc_file_line_number">6</td> + +<td class="vc_file_line_text"><span class="pygments-"># OCFS2_CLUSTER="cluster1 admincluster cluster2" </span> +</td> +</tr> + + +</table> +</div> + + + + + +<hr /> +<table> +<tr> +<td> </td> +<td style="text-align: right;"><strong><a href="/cgi-bin/viewvc.cgi/*docroot*/help_rootview.html">ViewVC Help</a></strong></td> +</tr> +<tr> +<td>Powered by <a href="http://viewvc.tigris.org/">ViewVC 1.1.8</a></td> +<td style="text-align: right;"> </td> +</tr> +</table> +</body> +</html> + diff --git a/sys-fs/ocfs2-tools/files/ocfs2.init b/sys-fs/ocfs2-tools/files/ocfs2.init new file mode 100644 index 0000000..32abd47 --- /dev/null +++ b/sys-fs/ocfs2-tools/files/ocfs2.init @@ -0,0 +1,100 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/ocfs2-tools/files/Attic/ocfs2.init,v 1.2 2009/10/08 09:03:35 flameeyes dead $ + +depend() { + need net localmount + before netmount +} + +check_modules() { + local MODULES="ocfs2_dlmfs ocfs2 ocfs2_dlm ocfs2_nodemanager configfs" + local MODULE + local MODPROBE="modprobe -l" + local retval=0 + + for MODULE in ${MODULES}; do + if [ -z "`${MODPROBE} ${MODULE}`" ] ; then + retval=1 + fi + done + if [ ${retval} -eq 1 ] ; then + ewarn "One or more required modules are not loaded." + ewarn "Make sure you have " + ewarn " - placed ocfs, dlmfs and configfs into /etc/modules.autoload.d/kernel-2.6" + ewarn "For a (in)complete documentation, read /usr/share/doc/ocfs-<version>/INSTALL.GENTOO.gz" + fi + return ${retval} +} + +check_pseudofs() { + local retval=0 + local HASMOUNT="mount -l -t" + if [ -z "`${HASMOUNT} configfs`" ] ; then + retval=1 + fi + if [ -z "`${HASMOUNT} ocfs2_dlmfs`" ] ; then + retval=1 + fi + + if [ ${retval} -eq 1 ]; then + ewarn "One or more pseudo-filesystes are not mounted." + ewarn "Make sure you have following lines in your /etc/fstab:" + ewarn "none /config configfs defaults 0 0" + ewarn "none /dlm ocfs2_dlmfs defaults 0 0" + ewarn "For a (in)complete documentation, read /usr/share/doc/ocfs-<version>/INSTALL.GENTOO.gz" + fi + return ${retval} +} + + + +start() { + check_modules || return $? + check_pseudofs || return $? + + einfo "Starting OCFS2 cluster" + for cluster in ${OCFS2_CLUSTER}; do + ebegin " - ${cluster}" + /sbin/o2cb_ctl -H -n ${cluster} -t cluster -a online=yes >/dev/null 2>&1 + eend $? + done +} + +stop() { + # Shamelesly stolen from netmount + local ret + ebegin "Unmounting OCFS2 filesystems" + [ -z "$(umount -art ocfs2 2>&1)" ] + ret=$? + eend ${ret} "Failed to simply unmount filesystems" + [ ${ret} -eq 0 ] && return 0 + + declare -a siglist=( "TERM" "KILL" "KILL" ) + local retry=0 + local remaining="go" + + while [ -n "${remaining}" -a ${retry} -lt 3 ] + do + remaining="$(awk '$3 ~ /'ocfs2'/ { if ($2 != "/") print $2 }' /proc/mounts | sort -r)" + IFS=$'\n' + set -- ${remaining//\\040/ } + unset IFS + [ -z "${remaining}" ] && break + + ebegin $'\t'"Unmounting ocfs2 filesystems (retry #$((retry+1)))" + /bin/fuser -k -${siglist[$((retry++))]} -m "$@" &>/dev/null + sleep 5 + umount "$@" &>/dev/null + eend $? $'\t'"Failed to unmount filesystems" + done + + + einfo "Stopping OCFS2 cluster" + for cluster in ${OCFS_CLUSTERS}; do + ebegin " - ${cluster}" + /sbin/o2cb_ctl -H -n ${cluster} -t cluster -a online=no >/dev/null 2>&1 + eend $? + done +} diff --git a/sys-fs/ocfs2-tools/ocfs2-tools-1.6.4.ebuild b/sys-fs/ocfs2-tools/ocfs2-tools-1.6.4.ebuild new file mode 100644 index 0000000..f80ce8b --- /dev/null +++ b/sys-fs/ocfs2-tools/ocfs2-tools-1.6.4.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/ocfs2-tools/Attic/ocfs2-tools-1.2.1.ebuild,v 1.5 2009/10/08 09:03:35 flameeyes dead $ + +EAPI="3" +PV_MAJOR="${PV%%.*}" +PV_MINOR="${PV#*.}" +PV_MINOR="${PV_MINOR%%.*}" +DESCRIPTION="Support programs for the Oracle Cluster Filesystem 2" +HOMEPAGE="http://oss.oracle.com/projects/ocfs2-tools/" +SRC_URI="http://oss.oracle.com/projects/ocfs2-tools/dist/files/source/v${PV_MAJOR}.${PV_MINOR}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# (#142216) build system's broke, always requires glib for debugfs utility +RDEPEND=" + X? ( + x11-libs/gtk+:2 + >=dev-lang/python-2 + >=dev-python/pygtk-2 + ) + sys-apps/util-linux + >=dev-libs/glib-2.2.3 + sys-fs/e2fsprogs" +DEPEND="${RDEPEND}" + +src_configure() { + econf \ + $(use_enable X ocfs2console) \ + --enable-dynamic-fsck \ + --enable-dynamic-ctl +} + +src_install() { + make DESTDIR="${D}" install || die "Failed to install" + + dodoc CREDITS MAINTAINERS README.O2CB debugfs.ocfs2/README \ + documentation/{{users_guide,ocfs2_faq}.txt,/samples/cluster.conf} \ + "${FILESDIR}"/INSTALL.GENTOO + + # Keep o2cb script in case someone needs it + insinto /usr/sbin + newins vendor/common/o2cb.init o2cb + insinto /etc/default + newins vendor/common/o2cb.sysconfig o2cb + + newinitd "${FILESDIR}"/ocfs2.init ocfs2 + newconfd "${FILESDIR}"/ocfs2.conf ocfs2 + + insinto /etc/ocfs2 + newins documentation/samples/cluster.conf cluster.conf + +# keepdir /config +# keepdir /dlm +} + +pkg_postinst() { + elog "Read INSTALL.GENTOO in /share/doc/${PF}/ for instructions" + elog "about how to install, configure and run ocfs2." +} |