Skip to content

oss-tsukuba/gfarm-samba

Repository files navigation

		Gfarm Samba VFS module v1.0.0

This module is a Gfarm module for Samba that enables to access
the Gfarm file system.

This module requires:
- Samba-3.6.x
- Gfarm-2.5.4 or later

This module is tested using:
- Gfarm-2.5.8
- Samba-3.6.12 source package
- Samba-3.6.3 binary package on Ubuntu 12.04
- Samba-3.6.6 binary package on CentOS 5.7

How to Install
==============

Before building this VFS module, you need to set up Samba
servers.  The VFS module build requires source code of
Samba-3.6.x and gfarm-devel package.

- Set up Samba servers

Set up Samba servers by either source tree or binary package.

* From Samba source package

$ cd samba-3.6.x/source3
$ ./configure
$ make
# make install

In this case, you need to prepare start up script of
smbd by yourself.  For more information, see manual page
of Samba.

* From binary package

In case of Ubuntu 12.04
$ sudo apt-get install samba

In case of CentOS 5.x
# yum install samba3x

Note that Gfarm Samba module is fully tested with Samba 3.6.x.
Use Samba 3.6.x binary package.

- Installation and Setup of Gfarm

- Preparation of Samba-3.6.x header files

Execute "configure.developer" script in the Samba source directory,
and, execute "make".  "make install" is not necessary at this time.

$ cd samba-3.6.x/source3		# SAMBA_SOURCE_DIRECTORY
$ ./configure.developer
$ make

- User account management

It can be done by pdbedit.  See Samba manuals.

- Compilation and installation of the Gfarm Samba VFS module

Execute following commands in the Gfarm Samba VFS module directory.

$ ./configure --with-samba=SAMBA_SOURCE_DIRECTORY \
	--with-gfarm=GFARM_INSTALL_DIRECTORY \
	--libdir=SAMBA_LIBRARY_DIRECTORY
$ make
# sudo make install

"make install" installs the Gfarm module in SAMBA_LIBRARY_DIRECTORY/vfs.
SAMBA_LIBRARY_DIRECTORY depends on the package and OS.  It typically
be /usr/lib/samba in 32bit OS, and /usr/lib64/samba in 64bit OS.

- Configuration to use the Gfarm Samba VFS module

Add following settings to smb.conf (ex. /etc/samba/smb.conf):
[gfarm]
	comment = Gfarm FS
	path = /
	vfs objects = gfarm
	writeable = yes
	browseable = yes

More advanced examples.
To use extended attribute (from CIFS clients)
and Alternate Data Stream (from Windows clients):
[gfarm]
	comment = Gfarm FS
	path = /
	vfs objects = streams_xattr gfarm
	writeable = yes
	browseable = yes
	ea support = yes

To record operations:
[gfarm]
	comment = Gfarm FS
	path = /
	vfs objects = full_audit streams_xattr gfarm
	writeable = yes
	browseable = yes
	ea support = yes
	vfs_full_audit:success = open pwrite unlink

  (For more information, see Samba manual page of vfs_full_audit.)

To use Gfarm configuration file for debug (usually unnecessary):
[gfarm]
	comment = Gfarm FS
	path = /
	vfs objects = streams_xattr gfarm
	writeable = yes
	browseable = yes
	ea support = yes
	gfarm:config = /etc/gfarm2rc-samba.conf

- Restarting smbd

You can access \\samba_hostname\gfarm with Windows Explorer.


ChangeLog
=========

[2015.11.28] v1.0.1

Bug fix
* configure --with-samba does not set samba source path

[2013.3.31] v1.0.0

New feature
* sf.net #600 - show Gfarm disk usage as a pie chart
* sf.net #620 - support utime()
* sf.net #622 - support ACL operations
* sf.net #631 - support extended attributes
* "gfarm:config" directive for smb.conf

Bug fix
* sf.net #590 - cannot be built by gcc 4.6.3
* sf.net #592 - terminated by SIGFPE
* sf.net #593 - memory leak
* sf.net #599 - rmdir cannot work
* sf.net #613 - MS Word cannot save a file
* sf.net #618 - readlink() cannot work
* sf.net #634 - may use host certificate for GSI authentication

[2012.2.9] v0.0.2
* catch up with the interface change of samba 3.6.x
* change the module name from gfarm_vfs to gfarm
* new build system generated by automake
* use stat cache
* fix missing entries when listing a directory

[2010.12.31] v0.0.1 Hiroki Ohtsuji <ohtsuji at hpcs.cs.tsukuba.ac.jp>
* initial version

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published