0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Двусторонняя синхронизация файлов

Двусторонняя синхронизация файлов

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

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

    Ubuntu 12.04.5 Desktop/Server, Windows 7, Server 2008 R2

          В роли инструмента который будет играть практическую роль выступит утилита — unison

        Для того, чтоб синхронизация файлов работала нужно использовать одинаковую версию. Сейчас я пока разберу, как настроить двухстороннюю связь между двумя системами под управлением

        Ubuntu 12.04.5 Server amd64

          Обновляю информацию по репозитариям и устанавливаю данную утилиту из дефолтных репозитариев:

        $ sudo apt-get update —fix-missing && sudo apt-get upgrade -y

        $ sudo apt-get update —fix-missing && sudo apt-get upgrade -y

        Также на обоих системах должно быть синхронизировано время:

        Текущая доступная версия из репозитариев:

        $ sudo apt-cache show unison | grep Version

        а на официальном сайте уже доступна: 2.40.102

        $ sudo apt-get install unison -y

        $ sudo apt-get install unison -y

        Настраиваю доступ между системами по ключам ssh:

        Повторять здесь шаги не буду потому как есть опубликованная практическая заметка:

        Для первой системы доступ на основе публичных ключей:

        /.ssh/id_rsa.pub | ssh -p 22 ekzorchik@192.168.0.197 ‘umask 077;test -d .ssh | mkdir .ssh; cat >> .ssh/authorized_keys’

        The authenticity of host ‘192.168.0.197 (192.168.0.197)’ can’t be established. ECDSA key fingerprint is 89:fd:7c:8d:07:15:42:73:c3:27:10:34:8b:5c:a2:b8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘192.168.0.197’ (ECDSA) to the list of known hosts.

        ekzorchik@192.168.0.197’s password: 712 mbddr@

        Для второй системы доступ на основе публичных ключей:

        /.ssh/id_rsa.pub | ssh -p 22 ekzorchik@192.168.136 ‘umask 077;test -d .ssh| mkdir .ssh; cat >> .ssh/authorized_keys’

        Отлично. Но не забываем проверить, что аутентификация между двумя системами работает и пароль не запрашивается. Т.к. у меня на обоих системах присутствует учетная запись ekzorchik, то перед подключение через ssh не надо указывать под каким пользователем происходит аутентификация, если у Вас пользователь, а он будет отличен от рассмотренного в этой заметке то следует использовать ключ «- l” <user_name> . Теперь перехожу к настройке самой утилиты: — Unison — утилита которая помимо rsync может осуществлять двухсторонную синхронизацию файлов/каталогов. К примеру вы подключаете свой внешний носитель к системе и прям как во большинстве фильмов данные с компьютера копируются Вам. Разве Вам такого не хотелось.

        На заметку: если осуществлять синхронизацию между различными системами, Ubuntu, Windows то обязательным условияем является использованием одинаковой версии программа, потому как есть полученные практические ошибки при использовании различных версий.

        Каталог который буду настраивать на синхронизацию:

        $ mkdir shara — содержащий наработки повседневного использования в течении всего времени работы в одной компании:

        Задача: нужно настроить двухстороннюю синхронизацию для определенных директорий с файлами:

        Чтобы начать синхронизацию:

        $ unison shara/ ssh://192.168.0.197//home/ekzorchik/shara Contacting server… Connected [//srv-mon//home/ekzorchik/shara -> //srv-phone//home/ekzorchik/shara] Looking for changes Warning:

        No archive files were found for these roots, whose canonical names are: /home/ekzorchik/shara //srv-mon//home/ekzorchik/shara This can happen either because this is the first time you have synchronized these roots, or because you have upgraded Unison to a new version with a different archive format. Update detection may take a while on this run if the replicas are large. Unison will assume that the ‘last synchronized state’ of both replicas was completely empty. This means that any files that are different will be reported as conflicts, and any files that exist only on one replica will be judged as new and propagated to the other replica. If the two replicas are identical, then no changes will be reported. If you see this message repeatedly, it may be because one of your machines is getting its address from DHCP, which is causing its host name to change between synchronizations. See the documentation for the UNISONLOCALHOSTNAME environment variable for advice on how to correct this. Donations to the Unison project are gratefully accepted: http://www.cis.upenn.edu/

        Waiting for changes from server Reconciling changes local srv-mon dir —-> tips_firma [f]

        Proceed with propagating updates? [] y

        Propagating updates UNISON 2.40.65 started propagating changes at 12:16:34.07 on 25 Nov 2014 [BGN] Copying tips_mebetal from /home/ekzorchik/shara to //srv-mon//home/ekzorchik/shara Shortcut: copied /home/ekzorchik/shara/tips_firma/tips_exe/user.txt from local file /home/ekzorchik/shara/.unison.tips_firma.9ffec30340641776fecf8dcd7a31f5f8.unison.tmp/file.txt Shortcut: copied /home/ekzorchik/shara/tips_firma/

        $ps_report_25_11_2014_v1.docx from local file /home/ekzorchik/shara/.unison.tips_firma.9ffec30340641776fecf8dcd7a31f5f8.unison.tmp/

        $ps_report_20_11_2014_v1.docx [END] Copying tips_firma UNISON 2.40.65 finished propagating changes at 12:16:43.22 on 25 Nov 2014 Saving synchronizer state Synchronization complete at 12:16:43 (1 item transferred, 0 skipped, 0 failed)

        Файлы переехали на вторую систему:

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

        $ ls -al | grep .unison

        drwx—— 2 ekzorchik ekzorchik 4096 Nov 25 12:16 .unison

        Далее прорабатываю составление файла ответов:

        # Unison preferences file

        #Для включения пакетного режима и автоматического ответа на вопросы

        # выводить в консоль информацию о действиях если поставить значение true то на консоль не будет выводиться ничего.

        #файлы которые нужно пропускать при синхронизации

        # подстановочные ключевые слова: Name, Path, BelowPath, Regex

        ignore = Name * .tmp

        #если синронизация между системами Windows & Ubuntu, то для трансформации прав

        #сохраняем лог с результатами работы в отдельном файле

        # Определяем команду для отображения отличий между копиями файлов при конфликте

        diff = diff -y -W 79 –suppress-common-lines

        Сохраняем внесенные изменения:

        Если на srv-phone удалили все текстовые файлы в каталоге share/tips_firma/*.txt

        UNISON 2.40.65 finished propagating changes at 16:02:40.72 on 25 Nov 2014

        Saving synchronizer state

        Synchronization complete at 16:02:40 (604 items transferred, 0 skipped, 0 failed)

        На заметку: если не нужен вывод в консоль в момент выполнения команды unison, то следует в профиль синхронизации для параметра silent = false присвоить значение true. Изменения применятся мгновенно.

        проверю, что случилось со всеми текстовыми файлами на srv-mon:

        l s: cannot access shara/tips_firma/*.txt: No such file or directory

        их нет, как и должно быть синхронизация прошла успешно.

        Теперь можно настроить запланированное задание для учетной записи файлы которой происводятся синхронизировать:

        * 1 * * * /usr/bin/unison &> /dev/null

        Сохраняем внесенные изменения. Этим заданием я говорю, запускать каждый час утилиту unison для синхронизации каталог обозначенного в дефолтном профиле именуемом, как default.prf. Если профилей у Вас несколько, то нужно указать так: / usb/bin/unison profile.prf

        Но следует быть осторожный при такой двухсторонней синхронизации, удалив файлы с другого хоста srv-mon, а на первом хосте srv-phone Отработало задание, которое произведет сверку файлов и также удалит на первом их. По сути получается, что синхронизировать по двухстороннему обмену ключевые каталоги следует очень внимательно, можно быстро попращаться со всеми файлами вслучае каких либо изменений по нечаянности. Но как дополнительный рубеж можно подключить систему контроля версий — git, как выход.

        Отлично с настройкой под мои текущие задачи все более или менен понятно, теперь разберу как произвести обновление до самой актуальной версии : 2.40.102 которая доступна для Ubuntu 14.04.1, поэтому просто посредством сайта packages.ubuntu.com найду пути пакетов которые скачаю и установлю в систему в ручном режиме:

        $ wget -c http://mirrors.kernel.org/ubuntu/pool/universe/u/unison/unison_2.40.102-2ubuntu1_amd64.deb

        $ wget -c http://mirrors.kernel.org/ubuntu/pool/universe/u/unison2.32.52/unison2.32.52_2.32.52-7ubuntu1_amd64.deb

        $ wget -c http://mirrors.kernel.org/ubuntu/pool/universe/m/meta-unison/unison-all_2.40+2_all.deb

        Устанавливаю по такому же порядку как и производил скачивание:

        $ sudo dpkg -i unison_2.40.102-2ubuntu1_amd64.deb

        $ sudo dpkg -i unison2.32.52_2.32.52-7ubuntu1_amd64.deb

        $ sudo dpkg -i unison-all_2.40+2_all.deb

        Проверяю текущую версию:

        unison version 2.40.102 — отлично самая последняя актуальная. Точно такие же действия произвожу и на второй системе:

        Информацию по конструктивным особенностям работы текущей версии можно подчерпнуть из справки: (много интересного описано)

        Ранее я рассматривал похожую утилиту lftp которую можно также приспособить для решения описанного здесь решения, но как ещё одно средство выбора исполнения поставленной задачи такая утилита, как unison тоже имеет право на свое существование. Отличие к примеру от утилиты rsync, то что первым делом при первой синхронизации происходит подсчет и хранение контрольных сумм новых и измененных файлов ну а уже после если файлы на основе этого и просходит отслеживание, а утилита lftp проделывается точно такие же манипуляции. Считаю что на этом моменте я пока завершу данную заметку, поставленную цель выполнил, прощаюсь, с уважением автор блога — ekzorchik.

        Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

        Поблагодари автора и новые статьи

        будут появляться чаще 🙂

        Карта МКБ: 4432-7300-2472-8059

        Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

        Синхронизация файлов между Synology NAS и компьютером с помощью Cloud Station

        Cloud Station для Synology NAS — это приложение для синхронизации файлов Synology NAS с другими устройствами: компьютерами или мобильными устройствами (с приложением DS cloud). Установите Cloud Station Server на Synology NAS, а Cloud Station Drive на компьютере для автоматической синхронизации на компьютере с Synology NAS.

        Настройка подключения между Synology NAS и компьютером

        1. Откройте Центр пакетов, найдите Cloud Station Server и нажмите Установить.
        2. Запустите Cloud Station Server.
        3. На вкладке Обзор нажмите кнопку в разделе Cloud Station Drive, чтобы скачать Cloud Station Drive для операционной системы. (Вы также можете скачать Cloud Station из Центра загрузок Synology.)
        4. Запустите на компьютере средство установки и следуйте инструкциям на экране.
        5. После установки запустите Cloud Station на компьютере. Нажмите Запустить сейчас.
        6. Введите адрес Synology NAS, на котором установлено приложение Cloud Station (или QuickConnect ID), имя пользователя и пароль. Чтобы найти IP-адреса в локальной сети, воспользуйтесь значком поиска справа. Нажмите Далее.
        7. Выберите папки, которые необходимо синхронизировать на Synology NAS и на компьютере, нажав на значки Редактировать. Затем можно нажать Дополнительно для настройки параметров конфигурации
        8. Снимите флажки рядом с папками, которые не нужно синхронизировать.
        9. Установите максимальный размер файла или имена файлов черного списка или типы файлов, которые не будут синхронизированы.
        10. Выберите тип синхронизации: в обоих направлениях или только скачивание данных с Synology NAS.
        11. Нажмите Готово для завершения настройки.
        12. На панели задач компьютера появится значок Cloud Station.
        13. Чтобы открыть панель задач, нажмите на значок панели задач. Здесь отображается состояние синхронизации и статус ваших файлов. Для запуска Cloud Station нажмите Главное приложение.
        14. После запуска вы увидите рекомендации по работе с Cloud Station. Нажмите на стрелку вправо, чтобы просмотреть дополнительные рекомендации, либо Руководства в Интернете для получения более подробной информации. Если вы не нуждаетесь в рекомендациях, установите флажок Больше не показывать.
        15. Теперь вы можете управлять задачами синхронизации в Cloud Station Drive.

        Скачивание предыдущей версии синхронизированного файла

        1. Нажмите значок Cloud Station Drive на панели задач и нажмите значок папки.
        2. Нажмите нужный файл правой кнопкой мыши и выберите Synology Cloud Station >Обзор предыдущих версий.
        3. Выберите версию для скачивания и нажмите на значок скачивания.

        Скачивание и восстановление предыдущей версии синхронизированного файла из Cloud Station Server

        1. Выберите Cloud Station Server>Журнал версий и найдите файл или папку для восстановления.
        2. Выберите файл для извлечения и нажмите Действие >Обзор предыдущих версий.
        3. Выберите версию файла, которую вы хотите скачать, и нажмите Скачать. Если вы хотите восстановить выбранную версию файла, нажмите Восстановить, чтобы перезаписать текущую версию файла.

        Важно!

        1. Обязательно сохраняйте предыдущие версии файла — так вы сможете его восстановить в случае случайного удаления или перезаписи.
        2. В меню Глобальные настройки можно настроить действия, которые будут выполняться на NAS при удалении файла с компьютера: извлечение версии файла или полное его удаление.
        3. Не копируйте вручную файлы с ПК на NAS и наоборот. Для того чтобы последующая синхронизация данных была эффективной, Cloud Station нужно просканировать каждый синхронизированный файл на наличие изменений. Таким образом, завершение начальной синхронизации может занять продолжительное время. Временные затраты зависят от качества файлов и от производительности NAS и ПК или Mac. Подробные сведения о работе Cloud Station представлены в технических документах здесь.

        Синхронизация данных с мобильными устройствами

        DS cloud можно бесплатно скачать из Apple App Store и Google Play Store. Также можно просканировать QR-код для мгновенного скачивания.

        Рабочие папки: файлы, которые всегда с тобой

        Давайте теперь подробно разберем, как настроить рабочие папки на сервере, рабочем компьютере пользователя и на его личном устройстве. Для этого я использую три машины – сервер и два клиентских хоста. Сервер и один из хостов включены в домен, второй хост является личным устройством пользователя. Характеристики сервера и хостов представлены ниже:

        1. Настройка сервера
          1. Установка роли Рабочие Папки (Work Folders)
          2. Создание общего ресурса синхронизации (Sync Share)
          3. Включение доступа по SMB (дополнительно)
          • KB2883200
          • KB2894179
          • KB2894029
          1. Настройка сервера
          1.1. Установка роли Рабочие Папки (Work Folders)

          Прежде всего, нужно установить роль Рабочие Папки (Work Folders) на сервер. Сделать это можно с помощью мастера добавления ролей и компонентов:

          Данную операцию также можно выполнить с помощью команды PowerShell:

          1.2. Создание общего ресурса синхронизации (Sync Share)

          После того, как Рабочие папки установлены на сервер, их необходимо настроить для пользователей. Для этого в Диспетчере серверов (Server Manager) переходим во вкладку Файловые службы и службы хранилища (File and Storage Services) и оттуда к Рабочим папкам (Work Folders). Далее необходимо создать новый общий ресурс синхронизации (Sync Share). Общий ресурс синхронизации (Sync Share) сопоставляет локальный путь к месту размещения папок пользователей и группы пользователей, которые имеют доступ к общему ресурсу синхронизации. В мастере создания ресурса нужно выбрать сервер (у нас это WFServer) и указать локальный пусть к месту на диске, где и будут храниться пользовательские папки (C:SalesShare).

          Далее выбираем формат имени папок пользователя. Мы можем выбрать, в зависимости от необходимости, использование просто алиаса пользователя tuser2 или же адреса пользователя tuser2@mva.com (если хотим устранить конфликт одинаковых алиасов пользователей в разных доменах).
          Кроме того, администратор может установить, что только определенная подпапка должна быть синхронизирована на устройствах. Для этого необходимо выбрать пункт «Sync only the following subfolder» и ввести имя папки.

          Далее укажем имя для общего ресурса синхронизации:

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

          Если вы хотите сделать эту возможность доступной, необходимо сделать неактивным пункт «Disable inherited permission and grant users exclusive access to their files».

          Далее определяем нужные нам правила безопасности для устройств, на которых будут использоваться Рабочие Папки.

          Проверим еще раз информацию.

          И перейдем к установке.

          Создать общий ресурс синхронизации возможно также с помощью команды PowerShell:

          В итоге, мы должны получить вот такой результат:

          1.3. Включение доступа по SMB (дополнительно)

          Если вы хотите включить доступ к папке по SMB, вы должны через Проводник зайти в место расположение папки SalesShare, и с помощью правой кнопки мышки выбрать пункт «Share with» -> «Specific people». Добавьте группу MVASales и измените права доступа на «Read/Write»:

          Кстати, после того, как вы включили доступ к папке по SMB, время синхронизации было установлено по умолчанию на каждые 5 минут. Чтобы это изменить, можно использовать следующую команду PowerShell:

          2. Настройка клиента, включенного в домен

          Теперь перейдем к настройке Рабочих папок на клиентских машинах. Установить Рабочие папки можно с помощью: Панель управления (Control Panel) -> Система и безопасность (System and Security) -> Рабочие папки (Work Folders).

          Введите E-mail адрес пользователя.

          Укажите, где на устройстве должны быть расположены рабочие папки.

          Подтвердите согласие с требуемыми правилами безопасности. Кстати, здесь хочу добавить, что файлы буду шифроваться и в случае, если операционной системой устройства является Windows RT 8.1.

          Теперь рабочие папки установлены на устройство.

          Администратор при этом контролирует сколько место доступно на сервере пользователю, и, следовательно, сколько информации может быть синхронизировано.

          Теперь мы можем создать файл в Рабочей папке, чтобы потом посмотреть, как будет проводится синхронизация.

          3. Настройка Рабочих Папок (Work Folders) на личном устройстве

          Настройка рабочих папок на личных устройствах отличается только на одном шаге. На этапе добавления пользователя на личном устройстве будут запрошены доменные логин и пароль пользователя.

          После завершения установки, открыв Рабочую папку мы увидим синхронизированный файл, созданный нами на доменном клиенте:

          4. Синхронизация файлов в Рабочих Папках (Work Folders)

          Теперь посмотрим, как же синхронизируются файлы в Рабочих Папках, если одновременно, на двух машинах редактируется один и тот же файл.
          В этом случае, оба файла будут сохранены и синхронизированы с указанием имени компьютера, на котором производились изменения. Далее пользователь уже самостоятельно должен решить объединить ли эти файлы, или какой из них необходимо удалить.

          Active Directory

          Active Directory («Активный каталог», AD) — службы каталогов корпорации Microsoft для операционных систем семейства Windows Server. Первоначально создавалась, как LDAP-совместимая реализация службы каталогов, однако, начиная с Windows Server 2008, включает возможности интеграции с другими службами авторизации, выполняя для них интегрирующую и объединяющую роль. Позволяет администраторам использовать групповые политики для обеспечения единообразия настройки пользовательской рабочей среды, разворачивать программное обеспечение на множестве компьютеров через групповые политики или посредством System Center Configuration Manager (ранее — Microsoft Systems Management Server), устанавливать обновления операционной системы, прикладного и серверного программного обеспечения на всех компьютерах в сети, используя Службу обновления Windows Server. Хранит данные и настройки среды в централизованной базе данных. Сети Active Directory могут быть различного размера: от нескольких десятков до нескольких миллионов объектов.

          Представление решения состоялось в 1999 году, впервые продукт был выпущен вместе с Windows 2000 Server, а затем развит в рамках выпуска Windows Server 2003. Впоследствии новые версии продукта вошли в Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2 и переименован в Active Directory Domain Services. Ранее служба каталогов называлась NT Directory Service (NTDS), это название до сих пор можно встретить в некоторых исполняемых файлах.

          В отличие от версий Windows до Windows 2000, которые использовали в основном протокол NetBIOS для сетевого взаимодействия, служба Active Directory интегрирована с DNS и работает только поверх TCP/IP. Для аутентификации по умолчанию используется протокол Kerberos. Если клиент или приложение не поддерживает Kerberos-аутентификацию, используется протокол NTLM [1] .

          Для разработчиков программного обеспечения предоставляется программный интерфейс доступа к службам Active Directory — ADSI.

          Содержание

          Устройство [ править | править код ]

          Объекты [ править | править код ]

          Active Directory имеет иерархическую структуру, состоящую из объектов. Объекты разделяются на три основные категории: ресурсы (например, принтеры), службы (например, электронная почта) и учётные записи пользователей и компьютеров. Служба предоставляет информацию об объектах, позволяет организовывать объекты, управлять доступом к ним, а также устанавливает правила безопасности.

          Объекты могут быть хранилищами для других объектов (группы безопасности и распространения). Объект уникально определяется своим именем и имеет набор атрибутов — характеристик и данных, которые он может содержать; последние, в свою очередь, зависят от типа объекта. Атрибуты являются составляющей базой структуры объекта и определяются в схеме. Схема определяет, какие типы объектов могут существовать.

          Сама схема состоит из двух типов объектов: объекты классов схемы и объекты атрибутов схемы. Один объект класса схемы определяет один тип объекта Active Directory (например, объект «Пользователь»), а один объект атрибута схемы определяет атрибут, который объект может иметь.

          Каждый объект атрибута может быть использован в нескольких разных объектах классов схемы. Эти объекты называются объектами схемы (или метаданными) и позволяют изменять и дополнять схему, когда это необходимо и возможно. Однако каждый объект схемы является частью определений объектов, поэтому отключение или изменение этих объектов могут иметь серьёзные последствия, так как в результате этих действий будет изменена структура каталогов. Изменение объекта схемы автоматически распространяется в службе каталогов. Будучи однажды созданным, объект схемы не может быть удалён, он может быть только отключён. Обычно все изменения схемы тщательно планируются.

          Контейнер аналогичен объекту в том смысле, что он также имеет атрибуты и принадлежит пространству имён, но, в отличие от объекта, контейнер не обозначает ничего конкретного: он может содержать группу объектов или другие контейнеры.

          Структура [ править | править код ]

          Верхним уровнем структуры является лес — совокупность всех объектов, атрибутов и правил (синтаксиса атрибутов) в Active Directory. Лес содержит одно или несколько деревьев, связанных транзитивными отношениями доверия. Дерево содержит один или несколько доменов, также связанных в иерархию транзитивными отношениями доверия. Домены идентифицируются своими структурами имён DNS — пространствами имён.

          Объекты в домене могут быть сгруппированы в контейнеры — подразделения. Подразделения позволяют создавать иерархию внутри домена, упрощают его администрирование и позволяют моделировать, например, организационную или географическую структуру организации в службе каталогов. Подразделения могут содержать другие подразделения. Microsoft рекомендует использовать как можно меньше доменов в службе каталогов, а для структурирования и политик использовать подразделения. Часто групповые политики применяются именно к подразделениям. Групповые политики сами являются объектами. Подразделение является самым низким уровнем, на котором могут делегироваться административные полномочия.

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

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

          Физическая структура и репликация [ править | править код ]

          Физически информация хранится на одном или нескольких равнозначных контроллерах доменов, заменивших использовавшиеся в Windows NT основной и резервные контроллеры домена, хотя для выполнения некоторых операций сохраняется и так называемый сервер «операций с одним главным сервером», который может эмулировать главный контроллер домена. Каждый контроллер домена хранит копию данных, предназначенную для чтения и записи. Изменения, сделанные на одном контроллере, синхронизируются на все контроллеры домена при репликации. Серверы, на которых сама служба Active Directory не установлена, но которые при этом входят в домен Active Directory, называются рядовыми серверами.

          Репликация каталога выполняется по запросу. Служба KCC (Knowledge Consistency Checker) создаёт топологию репликации, которая использует сайты, определённые в системе, для управления трафиком. Внутрисайтовая репликация выполняется часто и автоматически с помощью средства проверки согласованности (уведомлением партнёров по репликации об изменениях). Репликация между сайтами может быть настроена для каждого канала сайта (в зависимости от качества канала) — различная «оценка» (или «стоимость») может быть назначена каждому каналу (например, DS3, T1, ISDN), и трафик репликации будет ограничен, передаваться по расписанию и маршрутизироваться в соответствии с назначенной оценкой канала. Данные репликации могут транзитом передаваться через несколько сайтов через мосты связи сайтов, если «оценка» низка, хотя AD автоматически назначает более низкую оценку для связей «сайт—сайт», чем для транзитных соединений. Репликация «сайт—сайт» выполняется серверами-плацдармами в каждом сайте, которые затем реплицируют изменения на каждый контроллер домена своего сайта. Внутридоменная репликация проходит по протоколу RPC, междоменная — может использовать также протокол SMTP.

          Если структура Active Directory содержит несколько доменов, для решения задачи поиска объектов используется глобальный каталог: контроллер домена, содержащий все объекты леса, но с ограниченным набором атрибутов (неполная реплика). Каталог хранится на указанных серверах глобального каталога и обслуживает междоменные запросы.

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

          Базу Active Directory можно разделить на три логических хранилища или «раздела». Схема является шаблоном для службы и определяет все типы объектов, их классы и атрибуты, синтаксис атрибутов (все деревья находятся в одном лесу, потому что у них одна схема). Конфигурация является структурой леса и деревьев Active Directory. Домен хранит всю информацию об объектах, созданных в этом домене. Первые два хранилища реплицируются на все контроллеры доменов в лесу, третий раздел полностью реплицируется между репликами контроллеров в рамках каждого домена и частично — на сервера глобального каталога.

          База данных (хранилище каталогов) в Windows 2000 использует расширяемую подсистему хранения Microsoft Jet Blue ( англ. ) , которая позволяет для каждого контроллера домена иметь базу размером до 16 терабайт и 1 миллиард объектов (теоретическое ограничение, практические тесты выполнялись только с приблизительно 100 миллионами объектов). Файл базы называется NTDS.DIT и имеет две основные таблицы — таблицу данных и таблицу связей. В Windows Server 2003 добавлена ещё одна таблица для обеспечения уникальности экземпляров дескрипторов безопасности.

          Именование [ править | править код ]

          Служба поддерживает следующие форматы именования объектов: универсальные имена типа UNC, URL и LDAP URL. Версия LDAP формата именования X.500 используется внутри службы.

          Каждый объект имеет выделенное имя (англ.  distinguished name , DN) [2] . Например, объект принтера с именем HPLaser3 в подразделении «Маркетинг» и в домене foo.org будет иметь следующее выделенное имя: CN=HPLaser3,OU=Маркетинг,DC=foo,DC=org , где CN  — это общее имя, OU  — раздел, DC  — класс объекта домена. Выделенные имена могут иметь намного больше частей, чем четыре части в этом примере. У объектов также есть канонические имена. Это различающиеся имена, записанные в обратном порядке, без идентификаторов и с использованием косых черт в качестве разделителей: foo.org/Маркетинг/HPLaser3 . Чтобы определить объект внутри его контейнера, используется относительное выделенное имя: CN=HPLaser3 . У каждого объекта также есть глобально уникальный идентификатор (GUID) — уникальная и неизменная 128-битная строка, которая используется в Active Directory для поиска и репликации. Определённые объекты также имеют имя участника-пользователя (UPN, в соответствии с RFC 822) в формате объект@домен .

          Интеграция с UNIX [ править | править код ]

          Различные уровни взаимодействия с Active Directory могут быть реализованы в большинстве UNIX-подобных операционных систем посредством LDAP-клиентов, но такие системы, как правило, не воспринимают большую часть атрибутов, ассоциированных с компонентами Windows, например, групповые политики и поддержку односторонних доверенностей. Однако с выходом Samba 4 появилась возможность использовать групповые политики и инструменты администрирования Windows.

          Сторонние поставщики предлагают интеграцию Active Directory на платформах UNIX, Linux, Mac OS X и ряд приложений на Java, среди них — продукты корпорации Centrify [en] DirectControl и Express, UNAB (Computer Associates), TrustBroker (CyberSafe), PowerBroker Identity Services (BeyondTrust) [3] , Authentication Services (Quest Software), ADmitMac (Thursby) [3] . Сервер Samba — пакета программ PowerBroker Identity Services совместимости с сетевыми службами Microsoft — может выполнять роль контроллера домена [4] [5] .

          Добавления в схему, поставляемые с Windows Server 2003 R2, включают атрибуты, которые достаточно тесно связаны с RFC 2307, чтобы использоваться в общем случае. Базовые реализации RFC 2307 — nss_ldap и pam_ldap , предложенные PADL.com, непосредственно поддерживают эти атрибуты. Стандартная схема для членства в группе соответствует RFC 2307bis (предлагаемому) [6] . Windows Server 2003 R2 включает Консоль управления Microsoft для создания и редактирования атрибутов.

          Альтернативным вариантом является использование другой службы каталогов, например, 389 Directory Server (ранее — Fedora Directory Server, FDS), eB2Bcom ViewDS XML Enabled Directory [en] или Sun Java System Directory Server [en] , выполняющих двухстороннюю синхронизацию с Active Directory, реализуя таким образом «отражённую» интеграцию, когда клиенты UNIX- и Linux-систем аутентифицируются на собственных серверах, а клиенты Windows — в Active Directory. Другим вариантом является использование OpenLDAP с возможностью полупрозрачного перекрытия, расширяющей элементы удалённого сервера LDAP дополнительными атрибутами, хранимыми в локальной базе данных.

          голоса
          Рейтинг статьи
          Читайте так же:
          Как синхронизировать айфон с айтюнс с другим компьютере
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector