首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建s3ql文件系统并在引导时自动挂载?

如何创建s3ql文件系统并在引导时自动挂载?
EN

Stack Overflow用户
提问于 2011-01-08 15:37:03
回答 1查看 3.4K关注 0票数 4

我一直在Ubuntu10.04上使用s3ql进行实验,使用它来安装亚马逊的S3水桶。但是,我非常希望它能够自动地挂载它们。有人知道怎么做吗?

解决方案:

感谢s3ql的尼可比率的帮助,我终于能够在系统启动时自动挂载S3桶。您肯定想看看手册,但是下面是如何实现它的基本知识!

第一步是创建一个authinfo文件。此文件应放置在将使用该文件的用户的主目录中的.s3ql目录中。authinfo文件包含登录信息,允许s3ql在不提示的情况下挂载桶。下面是authinfo文件应该是什么样子的示例。第一行包含您的Amazon安全凭据。第二个包含存储桶的位置和密码。如果需要,可以向该文件中添加多行桶行,但在本例中我只使用一条。此时,桶密码可以是任何东西。

代码语言:javascript
复制
backend s3 machine any login ASDFGHJKL password ZXCVBNM
storage-url s3://mybucket password mypassword

桶名必须是唯一的。没有两个用户可以有相同的桶名,所以登录到并尝试不同的名称是个好主意,直到找到可用的名称为止。一旦找到了它,就需要删除它,因为s3ql在创建s3ql文件系统时会重新创建它。如果存储桶已经存在,您将收到一个错误。

若要创建文件系统,请使用以下命令:

代码语言:javascript
复制
mkfs.s3ql s3://mybucket

它将提示您输入加密密码。这应该与authinfo文件中的桶密码相同。

现在您的文件系统已经创建,您可以使用以下命令挂载它:

代码语言:javascript
复制
mount.s3ql s3://mybucket /mnt/s3/bucket

当然,您的桶名和挂载点会有所不同。

现在,如果我们想在引导时自动挂载这个桶,我们需要向/etc/init添加一个upstart脚本。幸运的是,s3ql附带了一个s3ql.conf。

我在mount.s3ql命令中添加了“--允许-其他”,以允许除根用户以外的其他用户访问已安装的桶。

代码语言:javascript
复制
#
# This file can be placed in /etc/init. It defines an upstart job that
# takes care of mounting and unmounting an S3QL file system.
# 
description "S3QL Backup File System"
author      "Nikolaus Rath <Nikolaus@rath.org>"

start on (filesystem and net-device-up IFACE=eth0)
stop on runlevel [016]

env BUCKET="s3://mybucket"
env MOUNTPOINT="/mnt/s3/bucket"

expect stop

script
    # Redirect stdout and stderr into the system log
    DIR=$(mktemp -d)
    mkfifo "$DIR/LOG_FIFO"
    logger -t s3ql -p local0.info < "$DIR/LOG_FIFO" &
    exec > "$DIR/LOG_FIFO"
    exec 2>&1
    rm -rf "$DIR"

    # Check and mount file system
    fsck.s3ql --batch "$BUCKET"
    exec mount.s3ql --upstart --allow-other "$BUCKET" "$MOUNTPOINT"
end script

pre-stop script
    umount.s3ql "$MOUNTPOINT"
end script

在添加此脚本之后,理论上您应该能够重新启动并自动安装桶,但这是我遇到的麻烦。我的不是被装上的。

我的问题是由于upstart将脚本作为根用户运行,但我以另一个用户的身份创建了文件系统。一旦我从我登录的用户的主目录复制了.s3ql目录(关于/root ),问题就解决了。

我希望这能帮到其他人。虽然我没有使用我安装的S3桶很长时间,但我对我的初步测试的进展印象深刻。

而且,这个答案是在找到解决方案一周后写的。我想我已经涵盖了一切,但如果你发现我错过了一步,让我知道,我会添加它。您还需要阅读手册,如果您打算使用s3ql,它确实值得一读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-22 18:03:04

在尼可比率的帮助下,我终于能够在引导时自动挂载我的S3桶了。我用解决方案更新了我的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4634616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档