Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: mount --bind как тестовый инструмент администратора.  (Прочитано 10226 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« : 11-02-2011 09:01 » 

Не знаю, как обстоят дела с mount --bind в других unxi-like, потому пишу в Linux.

Для тех, кто не знает, что это такое: можно одну директорию подмонтировать в другую. Например, имеем:

/a
/b

Монтируем mount --bind /a /b и получаем:

/a
/b (фактически /a)

Возникла идея, что эту фишку можно применять для задач, когда требуется для каких-то целей (как правило для тестов) подложить приложению другую копию файлов. Ведь данные не нужно будет копировать, переносить с места на место, или переименовывать директории.

Как думаете, это не очень опасно? Да, для продакшн я бы поостерегся - только для тестов.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #1 : 11-02-2011 11:44 » 

RXL, не опасно Улыбаюсь если твоя утилита не меняет файлов
в виду того что это тот же самый каталог, то не понятно зачем, т.е. если среда ломает каталог a, то и ломает b, ну и наоборот

я обычно ln -s или cp -l  использую для подкладывания
ln -s удобней потому что можно увидить куда реально ссылается
Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 11-02-2011 12:03 » 

Антон, у меня в уме вот такой пример: надо произвести апгрейд Oracle. Естественно, сперва нужно сделать резерную копию всех данных и самой директории Оракла для отката в случае возникновения проблем. Объемы там приличные и файлов много.

Обычный алгоритм:
1. Останавливаю Оракл.
2. Делаю копию (данные - копированием, ORA_HOME - упаковкой в tar).
3. Апгрейд или другие работы с последующим тестированием.
4. При проблемах, остановка Оракла и возврат всех данных и ORA_HOME назад.

Вариант с использованием LVM:
1. Останавливаю Оракл.
2. Делаю LVM snapshot.
5. Провожу апгрейды и тесты.
6. В случае проблем останавливаю Оракл, монтирую снепшот и восстанавливаю с него данные, после уничтожаю снепшот.
7. В случае успешных работ только уничтожаю снепшот.

Вариант с использованием LVM и mount --bind:
1. Останавливаю Оракл.
2. Делаю LVM snapshot.
3. Монтирую LVM в другую директорию xxx.
4. Монтирую директорию. Например: mount --bind xxx ORA_HOME
5. Провожу апгрейды и тесты.
6. В случае проблем останавливаю Оракл, отмонтирую директорию, LVM-раздел и уничтожаю снепшот.
7. В случае успешных работ, останавливаю Оракл, отмонтирую директорию, переношу данные из снепшота на рабочий раздел, отмонтирую и уничтожаю раздел.

Как видно, первый вариант требует предварительного бекапа и долгого восстановления.
Второй вариант требует долгого копирования при восстановлении данных.
Третий вариант требует долгого копирования в успешном случае.
Мне по душе третий вариант, т.к. основные работы выполнены и можно расслабиться, пока данные копируются. А также в случае проблем можно повторить попытку не тратя уйму времени на восстановление.
« Последнее редактирование: 11-02-2011 12:09 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #3 : 11-02-2011 12:43 » 

RXL, ты что-то скрываешь Улыбаюсь
у меня есть ощущение, что ты что-то не досказал из-за чего третий вариант выглядит наиболее интересно
можешь описать следующее:
- подробнее про LVM, что куда зачем и почему (т.е. не совсем понятно, где крутится оракл и снепшоты, чего ты делаешь)
- что куда биндим
Записан

Странно всё это....
McZim
Модератор

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #4 : 11-02-2011 12:56 » 

RXL, а Oracle way религия не позволяет! ИМХО ты слишком все усложняешь! С какой на какую версию хочешь обновиться?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 11-02-2011 12:57 » new

Вечерком распишу подробнее.

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


Добавлено через 46 секунд:
Макс, я не хочу обновляться Улыбаюсь
Просто проскочила мысль с mount --bind и я развил ее до практического примера.

Добавлено через 4 минуты и 17 секунд:
Сама идея была в том, что можно не копировать данные для экспериментов. Линк не всегда подходит, хотя и является более простым решением. В отличии от линка, монтирование производится в существующую директорию и при этом файлы не исчезают, но становятся недоступными (а открытые файлы продолжают работать!).
« Последнее редактирование: 11-02-2011 13:02 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines