FUSE

From OpenVZ Virtuozzo Containers Wiki
Revision as of 13:27, 17 November 2006 by Xemul (talk | contribs) (Added info on umounting sshfs)
Jump to: navigation, search

This page describes how to setup fuse inside VPS

Introduction

FUSE is a filesystem in which data and metadata are provided by an ordinary userspace process. The filesystem can be accessed normally through the kernel interface.

Preparations

To use FUSE you need the following:

  1. OpenVZ kernel version 028test005 or higher
  2. Fuse lib
  3. Any FUSE-based filesystem

In the examples below sshfs is used.

Setup

Kernel

Download appropriate kernel from openvz.org or compile kernel with CONFIG_FUSE_FS option set

Libfuse

Compile libfuse in VPS without kernel module

# vzctl enter 100
# tar xzf fuse-2.6.0.tar.gz
# cd fuse-2.6.0
# ./configure --disable-kernel-module
...
# make
...
# make install
Yellowpin.svg Note: Sometimes libfuse.so.X is unseen by your programs. Usually this file is installed in /usr/local/lib directory so don't forget to add it into your /etc/ld.so.conf

Filesystem

Download and compile filesystem.

# vzctl enter 100
# tar xzf sshfs-fuse-1.7.tar.gz
# cd sshfs-fuse-1.7
# ./configure
...
# make
...
# make install

VPS tuning

You need to make a characted device named /dev/fuse and grant your VPS permissions to it

# vzctl set 100 --devices c:10:229:rw --save
...
# vzctl exec 100 mknod /dev/fuse c 10 229
...

Mounting filesystem

After this you may try to mount FUSE in VPS

# vzctl enter 100
# sshfs root@foo.org:/root /mnt/foo.org.root

Unmounting filesystem

In case of sshfs after umounting an appropriate daemon must be killed. This may be done by the following command

# fusermount -u moutpoint

Using fusectl filesystem

Fusectl is a helper filesystem for FUSE. You may mount it in VPS as well

# vzctl enter 100
# mount -t fusectl none /fuse_ctl