s3fs Ошибка ввода / вывода
Я пытаюсь настроить систему резервного копирования с s3fs
и сервис Amazon S3. Я следовал этому руководству и этому руководству.
Tailing /var/log/messages
Я получил:
Aug 28 13:37:46 server s3fs:###response=403
Я уже пытался создать файл аутентификации /etc/passwd-s3fs и настроить доступ и закрытый ключ, передав его через командную строку. Я проверил несколько раз учетные данные, и я использовал его с s3fox
и это работает.
Я также установил, что время машины (с помощью команды date) совпадает с временем на серверах Amazon S3 (я получил время, когда сервер S3 загружал файл с помощью файлового менеджера).
Не только делает rsync
не работают, команды как ls
или же cp
в /mnt/s3
не работал также.
4 ответа
Вы можете хранить учетные данные в двух местах. Уровень системы или уровень пользователя. Не ясно из вашего вопроса, где у вас есть вещи. Каждый требует разных настроек разрешений.
Для размещения на уровне системы в /etc/passwd-s3fs
разрешения должны быть 640
, Так что настройте с chmod
например, если это не так
sudo chmod 640 /etc/passwd-s3fs
Для размещения на уровне пользователя в ~/.passwd-s3fs
разрешения должны быть 600
, Так что настройте с chmod
например, если это не так
chmod 600 ~/.passwd-s3fs
Кроме того, содержимое каждого из этих файлов должно соответствовать довольно простому формату AccessKey:SuperSecretKey
больше ничего не нужно AccessKey
на одной стороне толстой кишки (:
) объявление SuperSecretKey
на другой стороне.
Привет несколько раз я также смонтировать ведро s3 на Linux. Я отметил ниже ссылку для этого. Нормальная документация пропускает важную заметку о разрешениях. Поэтому сначала вам нужно размонтировать расположение, затем изменить права доступа к ключу и каталогу, а затем снова подключить.
Ваше разрешение на монтирование каталога должно быть 777, а разрешение файла ключа должно быть 600. Пожалуйста, ознакомьтесь с документацией ниже.
chmod 777 /mnt/dir/
chmod 600 ~/.passwd-s3fs
Монтирование корзины AWS S3 в файловую систему Ubuntu
Надеюсь, это поможет, потому что я много раз использую эту документацию в облаке.
Проверьте, использует ли монтирование s3fs правильный порт. В случае k8s svc вам необходимо использовать порт 9000 или NodePort, соответствующий 9000.
минио-сервис NodePort 172.19.32.41 9090:30302/TCP,9000:31557/TCP 34m
(app-root) bash-4.2# s3fs test /share1 -o passwd_file=~/minio.creds -o url=http://10.9.0.12:31557 -o use_path_request_style
(корень приложения) bash-4.2# cp anaconda-post.log /share1
(корень приложения) bash-4.2# ls /share1anaconda-post.log
Трижды проверьте учетные данные в /etc/passwd-s3fs
Кроме того, убедитесь, что используемое имя сегмента совпадает с именем вашего сегмента (т. е. оно уникально для вас) (т. е. не используйте название сегмента "test" или что-то в этом роде, поскольку маловероятно, что вы владеете / заявляете имя группы; имена групп находятся в глобальном пространстве имен с именами других групп)
также s3fs не создает сегменты; вам нужно будет использовать другой инструмент s3, чтобы сначала создать контейнер, а затем смонтировать его с помощью s3fs.