Как создать файловую систему S3QL и устанавливать его автоматически на загрузку?

StackOverflow https://stackoverflow.com/questions/4634616

Вопрос

Я экспериментировал с S3QL На Ubuntu 10.04, используя его, чтобы установить ведра Amazon S3. Тем не менее, мне очень понравилось, чтобы он устанавливал их автоматически. Кто-нибудь знает как это сделать?


Решение:

Благодаря помощи от Nikratio S3QL Я наконец сможет автоматически установить ведра S3, когда система сапоги. Вы определенно хотите посмотреть на руководство, но вот основы того, как это сделать!

Первый шаг - создать файл Authinfo. Этот файл должен быть размещен в каталоге .s3ql в домашнем каталоге пользователя, который будет использовать его. Файл Authinfo содержит информацию для входа в систему, позволяющую S3QL к ведрам монтирования без запроса. Ниже приведен пример того, как должен выглядеть ваш файл authinfo. Первая строка содержит ваши учетные данные о безопасности Amazon. Второе содержит местоположение и пароль для вашего ведра. Вы можете добавить несколько ведных строк в этот файл, если это необходимо, но я использую только один в этом примере. На данный момент пароль для ведра может быть чем угодно.

backend s3 machine any login ASDFGHJKL password ZXCVBNM
storage-url s3://mybucket password mypassword

Имя ведра должно быть уникальным. Нет двух пользователей не могут иметь одинаковое имя ведра, поэтому это хорошая идея войти в веб-сервисы Amazon и попробовать разные имена, пока вы не найдете ни одного доступного. Как только вы нашли один, вам нужно будет удалить его, поскольку S3QL будет восстановить его, когда он создает вашу файловую систему S3QL. Если ведро уже существует, вы получите ошибку.

Чтобы создать файловую систему, используйте команду:

mkfs.s3ql s3://mybucket

Это подскажет вам ваш пароль шифрования. Это должно быть таким же, как пароль для ведра в файле Authinfo.

Теперь, когда ваша файловая система создана, вы можете установить его с помощью команды:

mount.s3ql s3://mybucket /mnt/s3/bucket

Конечно, ваше имя ведро и точка монтирования будет варьироваться.

Теперь, если мы хотим автоматически установить это ведро на загрузку, нам нужно добавить сценарий Upstart в / etc / init. К счастью, S3QL поставляется упакован с одним, S3QL.conf.

Я добавил «- allow-orject» в команду mount.s3ql, чтобы позволить пользователям, кроме root для доступа к установленным ведрю.

#
# 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 управлял скриптом как root, но я создал файловую систему как другого пользователя. Как только я скопировал каталог .s3ql из домашнего каталога пользователя, которого я вошел в систему как / root, проблема была решена.

Я надеюсь, что это поможет кому-то еще там. Хотя я давно не использовал мою установленную ведро S3, я впечатлен тем, как ушли мои начальные тесты.

Кроме того, этот ответ был написан примерно через неделю после того, как решение было найдено. Я думаю, что я все охватил все, но если вы найдете, я пропустил шаг, дайте мне знать, и я добавлю его. Вы также захотите прочитать руководство, Это действительно стоит читать, если вы собираетесь использовать S3QL.

Это было полезно?

Решение

С некоторой помощью Nikratio я наконец сможет автоматически установить мою ведро S3 на загрузку. Я обновил свой вопрос с решением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top