r10 - 26 Feb 2010 - 17:36:19 - BeckyHYou are here: Wiki >  AppLogic27 Web > CatFilerLinux
ALERT! AppLogic 2.7/2.8 Documentation The latest production release is AppLogic 3.0.30

Filer_Linux: Linux Filer Appliance

Latest Version: 3.0.7-1

linux.PNG At a Glance
Catalog Filer
Category Filers
User volumes yes
Min. memory 128 MB
OS Linux
Constraints no

Functional overview

Filer_Linux is an appliance that provides filesystem-level access to a volume with a Linux file system. Filer_Linux supports the following Linux file systems: ext2, ext3, fat16, fat32, reiserfs, swap, and ext3-snapshot (ext3 over LVM with snapshots) and supports the following modes of operation:

  • format: format the volume to the specified filesystem (e.g., execute mkfs)
  • fscopy: perform a filesystem-level copy from one volume to another, the destination volume is formatted prior to the copy
  • fsck: check the file system on the volume
  • fsrepair: check and repair the file system on the volume
  • manual: provide user-level access to the volume through both a Web GUI and root shell (through SSH)

In manual mode, Filer_Linux provides GUI access and root shell to the volume through its default interface. In this mode, Filer_Linux also optionally provides external network access in order for the user to copy files to and from the volume. Manual mode operation can be performed over one or two volumes.

ALERT! The Filer appliances are used internally by AppLogic and should not be used in regular AppLogic applications.

Boundary

Resources

Resource Minimum Maximum Default
CPU 0.05 0.05 0.05
Memory 128 MB 1G MB 512 MB
Bandwidth 1 Mbps 1 Mbps 1 Mbps

Terminals

Name Dir Protocol Description
None

The external interface is enabled. It is used for incoming and outgoing traffic and its network settings are configured through properties. It is only used in the manual mode and is not configured in all other modes.

The default interface is enabled. It is used for maintenance. Also, in the manual mode, it is used for accessing the Web GUI.

User Volumes

Volume Description
src Source volume for filesystem-level volume copy or management of two volumes. Always mounted read-only except by the Windows03 filer.
dst Volume that Filer_Linux provides access to. All operations are executed on this volume. Mounted read-only in fsck mode and in manual mode if mount_mode property is ro, otherwise mounted read-write. Mandatory in all modes.

Properties

Property name Type Description
mode enum Mode of operation for the filer. Valid values are: manual, format, fscopy, fsck, fsrepair. This property is mandatory.
fs_type_src enum File system on the src volume when two volumes are being managed. See fs_type_dst for valid values. This property is mandatory when two volumes are being managed; otherwise, it is ignored.
fs_type_dst enum File system on the dst volume. Depending on mode, it is either the file system currently on the dst volume or the file system to format on the dst volume. Valid values are: ext2, ext3, fat16, fat32, reiserfs, swap, ext3-snapshot. This property is mandatory.
fs_options string Additional file system options used to format the dst volume, in options=val pairs. This property is file system specific and is valid only in the format or fscopy modes. See below for the options that are valid for each file system. Default: (empty)
mount_mode enum Mount mode of dst volume in manual operations. Valid values are: rw, ro, and none. A value of none causes the dst volume not to be mounted. Default: ro
ip_addr IP Address Defines the IP address of the external interface in manual mode. If set to 0.0.0.0, the external interface is not used. Default: 0.0.0.0 (not used).
netmask IP address Defines the network mask of the external interface in manual mode. This property must be specified if ip_addr is specified. Default: 0.0.0.0.
gateway IP address Defines the default network gateway for the external interface in manual mode. It can be left blank only if the remote host is on the same subnet; must be specified otherwise. Default: (empty).
dns1 IP address Defines the primary DNS server used in manual mode to resolve domain names. This allows the user to specify hostnames when uploading/downloading files to/from a volume. Default: 208.67.222.222 (OpenDNS.org address).
dns2 IP address Defines the secondary DNS server, which will be used if the primary DNS server does not respond. Default: 208.67.220.220 (OpenDNS.org address).
vol_name_src string Name of the src volume being accessed by the filer when two volumes are being managed. Default: (empty)
vol_name_dst string Name of the dst volume being accessed by the filer. Default: (empty)

Operation modes

The following table lists the supported mode for each of the supported file systems:

  format fscopy fsck fsrepair manual
ext2 yes yes yes yes yes
ext3 yes yes yes yes yes
fat16 yes yes yes yes yes
fat32 yes yes yes yes yes
reiserfs yes yes yes yes yes
swap yes no no no yes
ext3-snapshot yes yes yes yes yes

In manual mode:

  • for all file systems, but swap, the volume is mounted on /mnt/vol.
  • for a swap volume, the block device is accessible on /dev/hda4.

Filesystem options

This section lists the file system options (as specified on fs_options) for each file system supported by Filer_Linux.

  • ext2
    • None

  • ext3
    • None

  • fat16
    • None

  • fat32
    • None

  • reiserfs
    • None

  • swap
    • None

  • ext3-snapshot
    • vol_group_name: string, name of the LVM volume group to create on the dst volume. If empty, randomly generate a volume group name. Default: (empty).
    • data_percentage: integer, percentage of the volume that is used to store data, remaining portion of the volume is for snapshots. Default: 80 (80% of the volume is for data).

Interface

The Filer appliances provide an HTTP interface on their default interface in order to collect status on non-manual volume operations and to access the Web GUI when in manual mode. The following functions are available by URL:

  • /: interactive access to the dst volume through the Web GUI, only available in manual mode
  • /api/status: returns the status for the current volume operation, only available in non-manual mode
    • The format of the output is the following: [progress=W, ]poll=X, status=Y, errortxt=Z
      • progress: integer, 0..100, progress of the current operation. If progress cannot be reported, then the progress field is not returned. Progress is not reported for the following modes:
        • format for all file systems
        • fsck and fsrepair for all file systems, but ext2, ext3, ext3-snapshot, and ufssol
      • poll: integer, recommended status poll interval, in seconds.
      • status: integer, status of the volume operation. See below for the list of statuses that can be returned by Filer_Linux.
      • errortxt: string, error message, if an error occurred (e.g., non-zero status)
    • The following is the list of statuses that Filer_Linux can return in the status field for a specific volume operation:
      • 0 - success
      • 100 - operation failed
      • 101 - operation not supported
      • 102 - operation not implemented
      • 103 - operation canceled
      • 104 - I/O error
      • 200 - no space left on volume
      • 201 - file system errors detected
      • 300 - out of memory
      • 400 - pending

Web GUI

The Filer appliances use a web-based file manager named eXtplorer to provide the Web GUI access to a volume (accessible only in manual mode). eXtplorer is released under the GNU GENERAL PUBLIC LICENSE Version 2. The version of eXtplorer used in the filers have been modified. The following are the changes to eXtplorer:

  1. Removed the login.
  2. Updated eXtplorer not to display its own files.
  3. Changed the file list to show the target for all links under the "Type" column.
  4. Changed the tooltip generated when the mouse is over a directory in the directory list to show the symlink target if the directory is a symlink.
  5. Changed symlink creation through the GUI to support orphaned links.
  6. Changed delete file through the GUI to support deletion of symlinks.
  7. Added an interface for editing the volume base path for any available volume.
  8. Changed the generation of file & directory lists to support links.
  9. Resolve relative & absolute links which include '..'.
  10. Add UI for chgrp/chown, allowing numeric entries only.
  11. Add owner/group to the file display.

The reference for the eXtplorer Volume Browser GUI can be found here.

The eXtplorer licenses and the source to the original un-modified eXtplorer can be found on the Filer appliances in /mnt/monitor/.volume_browser/LICENSES/.

Typical Usage

The following sections describe the configuration of Filer_Linux in several typical use cases:

formatting a volume

Example:

Property name Value Description
mode format format volume
fs_type_dst reiserfs format volume with reiserfs

Filer_Linux executes mkfs over the dst volume, specifying a filesystem type of reiserfs.

formatting an ext3-snapshot volume

Example:

Property name Value Description
mode format format volume
fs_type_dst ext3-snapshot format volume with ext3 over LVM with snapshots (i.e., 2 partitions)
fs_options vol_group_name=VGVOL data_percentage=75 75% of the volume is data

Filer_Linux creates a volume group named VGVOL on the dst volume. It then creates a partition named data in the volume group. This partition uses 75% of the space on the dst volume and is formatted with ext3. The remaining partition is for snapshots and is named snap.

filesystem-level volume copy

Example:

Property name Value Description
mode fscopy filesystem-level copy
fs_type_dst ext3 format destination volume with ext3

Filer_Linux formats the dst volume to ext3 with mkfs. It then mounts the src volume read-only and mounts the dst volume read-write. Finally, Filer_Linux copies the contents of the src volume to the dst volume using cp and unmounts both volumes.

file system check

Example:

Property name Value Description
mode fsck file system check
fs_type_dst fat32 volume to be checked has fat32

Filer_Linux executes fsck on the dst volume.

file system check with repair

Example:

Property name Value Description
mode fsrepair file system check with repair
fs_type_dst fat32 volume to be checked and repaired has fat32

Filer_Linux executes fsck with the repair option on the dst volume.

user-level access to volume

Example:

Property name Value Description
mode manual provide user-level access to volume
fs_type_dst ext3 volume has ext3
mount_mode rw read-write access to the volume
ip_addr 192.168.123.100 IP address for external interface
netmask 255.255.255.0 netmask for external interface
gateway 192.168.123.1 gateway for external interface
dns1 192.168.123.254 DNS server

Filer_Linux mounts the dst volume read-write at /mnt/vol. It then starts the eXtplorer GUI and starts sshd, which gives the user root access to the volume. The GUI is accessible through the default interface and any file transfers to/from the volume is through the external interface.

Notes

  • the Linux Filer is based on Ubuntu 7.04
  • in non-manual mode, there is no SSH or GUI access

3rd party open source software used inside of the appliance

Filer_Linux uses the following 3rd party open source packages in addition to its base OS install of Ubuntu 7.04.

Software Version Modified License Notes
apache2 2.2.3-3.2build2 Yes Apache homepage
apache2-mpm-prefork 2.2.3-3.2build2 Yes Apache homepage
apache2-utils 2.2.3-3.2build2 Yes Apache 2.0 homepage
apache2.2-common 2.2.3-3.2build2 Yes Apache 2.0 homepage
libapache2-mod-php5 5.2.1-0ubuntu1.6 No PHPv3.01 homepage
lftp 3.5.6-1build1 No GPLv2 homepage
ncftp 3.2.0-1 No Clarified Artistic License homepage
lvm2 2.02.06-2ubuntu9 No GPLv2 homepage
eXtplorer 2.0.0_RC1-15 Yes GPLv2 homepage
ubuntu-7.04-desktop-i386.iso 7.04 No ubuntu homepage
openssl 0.9.8c-4build1 No BSD homepage
ca-certificates 20061027 No MPL v1.1 homepage
libcurl3 7.15.5-1ubuntu2 No MIT homepage
curl 7.15.5-1ubuntu2 No MIT homepage

To see the full list of open source packages used in this appliance, please see its Implementation Design.

Related Documents

-- ApoorvaKulkarni - 26 Jan 2010

 
Copyright © CA 2005-2011. All Rights Reserved.
%