| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Кластерный сервер, использование файловой системы |
| Автор: Vit 30.1.2006, 19:55 |
| Есть кластерный сервак. Есть довольно обширный набор функций которые работают с файловой системой (Создают и читают файлы). Для работы с ними используют локальную папку c:\{чего-то-там}. На обычном сервере всё проходит на ура, на кластерном появляется целая куча вопросов и проблем: 1. Как узнать из SP к какой физический сервер сейчас предоставляет c:\? 2. Допустим на каждом сервере кластера есть папка "c:\{чего-то-там}", как обратиться из запроса к папке на конкретном сервере, а не к той что по умолчанию? Попытка обратится по "абсолютному" адресу из запроса к серевым ресурсам невозможна, по крайней мере я не знаю как, всё что работает в контексте MS SQL Server сетевых ресурсов просто не "видит" 3. Как обеспечить синхронизацию контекста папок с файлами на кластерном серваке? 4. Есть SP которая делает примерно следующее: - Выбирает данные - Записывает в файл - выбирает другие данные - записывает в файл - читает данные из какого-то файла - преобразует какие-то файлы - отсылает файлы по email Все операции достаточно длительные, возможно выполнения процесса в течение десятка часов. Как я понимаю на кластерном сервере в любой момент может произойти "переключение" с одного сервера на другой, точнее файловая система "видимая" из запроса вдуг может внезапно смениться и стать не файловой системой сервера А, а файловой системой сервера Б. В таком случае в лучшем варианте запрос просто вылетит (хотя желательно всё-таки при этом получить бы более или менее внятное сообщение о том что произошло), в худшем может произойти что-то типа: - Пишем в файл А (в каком-то цикле выкверяем данные и записываем в файл) - сервак "переключается" c сервера на сервер - на новом сервере продолжается запись в файл А (который собственно начал писаться заново) В итоге получаем систему отработавшую без единого сбоя, но половина данных потеряна без единой ошибки или предупреждения! Ежели такое переключение произойдёт несколько раз, то результат и вовсе будет непредсказуемым. 5. Существует ли возможность поставить "триггер" на "переключение" сервера? Ведуться ли где-то логи когда и на какой физический сервак из кластера переключился MS SQL Server? |
| Автор: boevik 31.1.2006, 09:29 |
| При кластерной работе, в обычном варианте, есть два сервера (или более) на каждом установлен SQL Server и базы сидят на общем внешнем накопителе, обычно external disk storage RAID5, т.е. SQL сервер не работает с локальными дисками. В этом варианте решаются почти все проблемы с синхронизацией данных между дисками. |