The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Облако Selectel: зависание монтирования, зависание копирования"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Резервное копирование / Linux)
Изначальное сообщение [ Отслеживать ]

"Облако Selectel: зависание монтирования, зависание копирования"  +/
Сообщение от xintrea (??) on 26-Дек-12, 13:10 
Здравствуйте!


Разбираюсь сейчас с облачным хранилищем selectel.ru.

Монтирую хранилище через программу cloudfuse.

Сразу после монтирования все обычно нормально - как минимум, небольшие файлы могу легко копировать в хранилище. Проблемы возникают позднее, и их две.

1.

Спустя какое-то время после монтирования (несколько часов), каталог хранилища перестает открываться. При этом хранилище примонтировано, команда mount показывает что монтирование есть:

$ mount
...
fuse on /mnt/storage type fuse (rw,nosuid,nodev,user=user)

Узнать, что каталог перестал открываться можно одним способом - попробовать войти в каталог (cd) и попробовать получить список файлов (ls). Если терминал повиснет, значит нужно перемонтироваться. Терминал виснет так, что даже Ctrl+C не помогает.

Отмонтирование с целью дальнейшего монтирования приходится делать с опциями -f -l, иначе не отмонтируется:

#umount -f -l /mnt/storage

Я не могу придумать способ проверить в шелл скрипте, доступен ли каталог хранилища для работы или нет. Ведь статус через mount нормальный, а при любой попытке доступа к каталогу - полное зависание шела.

2.

Проблема может возникнуть в середине копирования большого файла. То есть, на начало копирования каталог хранилища доступен. В середине копирования (не всегда, вероятность 50/50) все виснет напрочь, как и в п.1.

Я не могу придумать способ копирования так, чтобы было ясно - копирование зависло и не завершилось, или прошло нормально. Каким способом можно в таких нестабильных условиях сделать проверку - копирование зависло, его надо прибить, и скопировать заново?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Облако Selectel: зависание монтирования, зависание копирования"  +/
Сообщение от name (??) on 26-Дек-12, 16:20 
cp tralala /tmp &
в цикле до 100500
ps | grep cp
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Облако Selectel: зависание монтирования, зависание копирования"  +/
Сообщение от name (??) on 26-Дек-12, 16:26 
dd if=tralala of=/tmp/1.bin &

kill -USR1 номер процесса

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Облако Selectel: зависание монтирования, зависание копирования"  +1 +/
Сообщение от enchant (ok) on 27-Дек-12, 18:56 
Скорее всего проблема в самом cloudfuse который не обрабатывает случае обрыва соединения и не делает попытки переподключиться.

Попробуйте другие способы монтирования, например http://pypi.python.org/pypi/pycloudfuse/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Облако Selectel: зависание монтирования, зависание копирования"  +/
Сообщение от NHN on 22-Фев-13, 16:57 
аналогичная проблема. pycloudfuse пробовали? помогло?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Облако Selectel: зависание монтирования, зависание копирования"  +/
Сообщение от Mr. Mistoffelees email on 22-Фев-13, 17:51 
Привет,

> Разбираюсь сейчас с облачным хранилищем selectel.ru.
> Монтирую хранилище через программу cloudfuse.

Раз это сетевой сервис, значит TCP. Раз TCP, вам нужно как-то позаботится об keep-alive - вряд ли FUSE сделает это за вас. Варантов много - от cron скрипта, которУй делает листинг каждую минуту до чего угодно. Лучший, наверно - пофиксить конкретный FUSE драйвер чтоб сам держал keep-alive.

WWell,

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Облако Selectel: зависание монтирования, зависание копирования"  +/
Сообщение от Pahanivo (ok) on 22-Фев-13, 18:32 
> Проблема может возникнуть в середине копирования большого файла
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Облако Selectel: зависание монтирования, зависание копирования"  +/
Сообщение от John (??) on 23-Фев-13, 09:28 
Посмотрите документацию по утилите fusectl (способ проверить в шелл скрипте)
  кол-во запросов ожидающих отправки в пространство пользователя
  cat /sys/fs/fuse/connections/XX/waiting

  оборвать соединение ФС
  echo 1 > /sys/fs/fuse/connections/XX/abort

Есть дополнительная документация по fuse (в исходных текстах ядра)
/path_to/kernel-src/Documentation/filesystems/fuse.txt

Для копирования используйте rsync (с параметром --inplace) - он сможет "докопировать"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру