Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Failed to load latest commit information.
EBSmount: Automatically mount EC2/Eucalyptus EBS devices ======================================================== EBSmount has 2 commands: ebsmount-udev Triggered by udev on EBS attach and detach ebsmount-manual Manually mount EBS device (simulates udev add trigger) Features: - Supports Amazon EC2 and Eucalyptus EBS devices - Automatically mounts EBS devices when they are attached (via udev) - Supports formatted devices, as well as partitions - Ignores unformatted devices and unsupported filesystems - Device/partition uniquely identifiable mountpoints - Configurable mount options - Hooking scripts execution upon mount (optionally) - Convenience command for a one step format and mount - Logging Quick start: - If the EBS device is not formatted, it will not be mounted automatically. For convenience, the user can format and mount the device in one step, for example: ebsmount-manual --format=ext4 /dev/sdf Default configuration (/etc/ebsmount.conf): ENABLED=True RUNHOOKS=False MOUNTDIR=/media/ebs MOUNTOPTIONS=noatime FILESYSTEMS=ext2 ext3 ext4 LOGFILE=/var/log/ebsmount.log DEVPATHS=/devices/xen/vbd- /devices/virtio-pci/virtio Unique mountpoints: - Every EBS filesystem is mounted to its own uniquely identifiable mountpoint, based on: $(MOUNTDIR)/$(FS_UUID)[:6] - For example: /media/ebs/a1b2c3 Hooking scripts: - Once a filesystem is mounted, EBSmount will execute scripts in alpha-numeric ordering located in MOUNTPOINT/.ebsmount - Hooking scripts execution is disabled by default. To enable execution, RUNHOOKS must be set to True in /etc/ebsmount.conf Additionally, hook scripts will only be executed if they are owned by root. - The mountpoint of the device will be set in the environment for convenience, as MOUNTPOINT - This provides a very powerful mechanism. In its simplest form, the user might want to symlink the mountpoint to a more accessible path, for example: MOUNTPOINT/.ebsmount/10symlink #!/bin/bash -e target=/vol mountp=$MOUNTPOINT [ -e $target ] || ln -s $mountp $target