How-to по файловой системе Coda

Обсуждаем сайт и форум.

Модератор: f0s

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

How-to по файловой системе Coda

Непрочитанное сообщение princeps » 2008-04-09 11:05:59

Есть несколько страниц плохого (собственно - моего :)) перевода сабжа. Не с начала и не до конца. Переводил для себя, когда надо было изучить эту штуку. Лежит на винте, вот подумал, может, пригодится кому-нибудь, чего зря пропадать интеллектуальной собственности. Разделы 7.1-7.3 - установка сервера и настройка, оригинал здесь: http://www.coda.cs.cmu.edu/doc/html/manual/c1140.html. Собственно, вопрос такой: надо ли кому, разместить где-нибудь и где?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: How-to по файловой системе Coda

Непрочитанное сообщение Alex Keda » 2008-04-11 12:42:21

надо.
на сайт в раздел документации
Убей их всех! Бог потом рассортирует...

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: How-to по файловой системе Coda

Непрочитанное сообщение princeps » 2008-04-11 14:03:51

Сначала, наверное, сюда закинуть?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: How-to по файловой системе Coda

Непрочитанное сообщение Alex Keda » 2008-04-11 14:17:39

давай
Убей их всех! Бог потом рассортирует...

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: How-to по файловой системе Coda

Непрочитанное сообщение princeps » 2008-04-11 14:59:55

Coda - это распределенная файловая система, что-то вроде мелкомягкой DFS. Мне она была интересна из-за возможности построить отказоустойчивый файл-сервер и, если скрестить с heartbeat, отказоустойчивый кластер для различных целей. Подробнее на английском можно прочитать тут: http://www.coda.cs.cmu.edu
Это частичный перевод 7-й главы (посвященной установке и настройке Coda)"Руководства пользователя и системного администратора Coda". Перевод делал для себя, так что за качество извиняюсь :) Что не смог перевести, или не смог по-человечески сказать на русском, отметил с двух сторон так: !!!
Если вдруг у кого возникнут замечания\исправления - пишите.

Глава 7
Установка сервера Coda

7.1
введение
Coda cell - это несколько серверов, объединенных вокруг одного мастер-сервера, в дальнейшем именуемого SCM (cell master). Все изменения базы данных Coda должны делаться на SCM, в других случаях SCM играет роль рядового сервера Coda. Демоны updateclnt и updatesrv должны затем применить изменения с SCM на другие сервера.
Первый устанавливаемый сервер должен быть SCM. Глава разбита на три секции: установка бинарников, конфигурация системы с использованием скрипта vice-setup (для SCM и не-SCM серверов) и подробного рассмотрения ручной настройки сервера. Перед началом необходима кое-какая вводная информация, которая поможет в настройке сервера.

7.1.1
Восстаналиваемая виртуальная память.
Для уверенности, что данные не будут потеряны и во избежание рассогласованности между серверами, Coda использует восстанавливаемую виртуальную память (RVM), которая представляет из себя систему транзакций, которая поддерживает состояние системы метаданных сервера Coda. RVM - это транзакционная система логирования данных, которая записывает изменения в лог RVM и во время сбоя или перезагрузки объединяет все изменения в файл данных RVM. Лог-файл и файл данных RVM в идеале должны располагаться на необработанных дисковых разделах.
Внимание! Не надо путать с виртуальной памятью.
После старта сервер Coda использует RVM для восстановления состояния системы Coda. Для оптимальной производительности вы должны иметь выделенные разделы диска для метаданных и логов, в идеале лог-раздел должен находиться на своем собственном диске. Тем не менее, использование на диске с лог-разделом другого раздела или использование лог-файла могут привести к некоторым потерям производительности.

Хранилище метаданных RVM. Это файл или отдельный раздел метаданных RVM. Вы можете использовать файл, но такая схема будет работать медленнее, особенно серверах с большими объемами данных. Этот раздел должен составлять примерно 4% от общего размера данных, которые вы собираетесь хранить в /vicepa (например, на 2Gb сервере мы используем порядка 80 Мб для rvm-данных). Для первой установки мы рекомендуем дефолтовые 22Mb и использование файлов для логов и данных RVM.
Внимание! Инсталлятор Windows NT создает файл c:\coda\rvm\DATA. Используйте его для метаданных RVM.

Виртуальная память. Метаданные, содержащиеся в файле данных RVM, !!! memory mapped !!!. Вы должны предусмотреть достаточное пространство под виртуальную память чтобы запустить сервер (~6Mb) и другие программы.

Лог RVM транзакций. Это лог файл, или, предпочтительнее, отдельный раздел на диске для него. Он не должен быть особенно большим, несколько мегабайт будет достаточно.

Внимание! Windows NT Setup создает файл c:\coda\rvm\LOG. Используйте его для лога транзакций RVM.
Смотрите секцию 7.3.1 для более подробного изучения RVM.

7.1.2 Организация диска сервера.
Серверы Coda требуют как минимум 2 дисковых раздела для оптимальной производительности (один чистый раздел для лога RVM и один раздел для данных RVM и одна обычная файловая система Unix для хранения данных Coda), безопасности и защиты данных от случайного удаления. Для дополнительного увеличения эксплуатационных показателей раздел лога RVM должен быть на своем собственном диске во избежание !!! задержек движения головок !!!, что уменьшает время поиска на диске в ходе операций логирования. Дополнительно /viсe может быть на отдельном разделе по тем же причинам, по которым /var выносится на отдельный раздел.

Тем не менее, может быть использована другая конфигурация, такая как запись данных и лога RVM в обычный файл Unix с потерями в производительности и безопасности данных. Также если требуется более чем одна Область Хранения Данных на Coda сервере (каталог по умолчанию называется /vicepa), дополнительные области хранения должны быть отдельными разделами (разделы, отличающиеся от дефолтового /vicepa, инициализирующие области хранения для данных в Coda) и смонтированы, к примеру, как /vicepb. Таблица ниже показывает возможные разделы диска на сервере Coda, соответственно с их назначением, типичными размерами и программой проверкой целостности.
Внимание! Размеры этих разделов были взяты с одного из серверов Coda на CMU-SCS и реальные размеры могут очень отличаться на различных системах.
Таблица 7-1. Примеры разделов Coda сервера (не FreeBSD).
Раздел Назначение Точка монтирования Обычный размер Надо ли проверять
hda2 Корневая ФС / 650Mb да
hda5 ФС /var /var 100Mb да
hda3 ФС vice /vice 300Мб да
hdc1 RVM лог. нет 12Мб нет
sda1 данные RVM нет 130Мб нет
sda2 ФС данных #0 /vicepa 1,6Gb да
sda3 ФС данных #1 /vicepb 1,6Gb да
sda5 ФС данных #2 /vicepc 1,6Gb да
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: How-to по файловой системе Coda

Непрочитанное сообщение princeps » 2008-04-11 15:04:26

7.2 Установка и настройка.
Инфо! Всегда проверяйте файлы INSTALL и README на (ftp://ftp.coda.cs.cmu.edu/pub/coda/ platform /) на предмет последних изменений и дополнений, не отраженных в мануале.

7.2.1 Установка бинарников и документации Coda сервера.
На текущий момент файлы сервера для поддерживаемых платформ устанавливаются в следующие каталоги:

Linux
- пользовательские программы: /usr/bin
- системные бинарники: /usr/sbin
- конфигурационные файлы: /etc/coda

FreeBSD
- пользовательские программы: /usr/local/bin
- системные бинарники: /usr/local/sbin
- конфигурационные файлы: /usr/local/etc/coda

NetBSD
- пользовательские программы: /usr/pkg/bin
- системные бинарники: /usr/pkg/sbin
- конфигурационные файлы: /usr/pkg/etc/coda

Внимание! Убедитесь, что переменная окружения PATH установлена должным образом для вашей платформы. В FreeBSD ее значение должно быть /usr/local/{bin,sbin}, в NetBSD /usr/pkg/{bin,sbin}. Linux устанавливает Coda согласно системных путей по умолчанию, поэтому Linux не нуждается в их изменении.

Один каталог используется всеми платформами: /vice, который используется для хранения конфигураций и баз данных Coda. Он необязательно должен быть в PATH.
Ниже специфические для каждой платформы шаги по установке бинарников и документации:

Linux.
#
rpm -Uvh lwp-
release
.i386.rpm
#
rpm -Uvh rvm-
release
.i386.rpm
#
rpm -Uvh rpc2-
release
.i386.rpm
#
rpm -Uvh coda-debug-server-
release
.i386.rpm

FreeBSD. Собирает и устанавливает порт coda5_server, остальные порты соберутся и установятся как зависимости:
# cd /usr/ports/net/coda5_server
# make
# make install

NetBSD. Собирает и устанавливает пакет исходников Coda5_сервер, остальное тянет как зависимости:
# cd /usr/pkgsrc/net/coda5_server
# make
# make install

7.2.2 Настройка сервера Coda.
Установка сервера похожа для всех платформ.

7.2.2.1 Перед началом.
Каталог /vice будет создан установочнм скриптом автоматически если он к тому времени еще не будет существовать. Однако, если ваша корневая файловая система не имеет достаточно свободного места (например, SrvLog стал гигантским - более 10 Мб), вам нужно будет создать раздел, который будет смонтирован как /vice, отформатировать ее как нормальную файловую систему UNIX, создать точку монтирования /vice, добавить нужную информацию в /etc/fstab и смонтировать ее руками ДО запуска установочного скрипта.
Как вариант, /vice может быть символьной ссылкой на каталог или существующий раздел с достаточным пространством, но она также должна быть создана до запуска инсталляционного скрипта vice-setup. Необходимые подкаталоги в /vice создадутся скриптом vice-setup.
Также помните, что установка SCM отличается в нескольких важных моментах от установки не-SCM. Поэтому, когда vice-setup спросит: Will this machine will be the SCM? очень важно ответить на этот вопрос правильно.
Только один SCM должен быть установлен в каждом Coda Cell и Coda не поддерживает сейчас cell с несколькими SCM.

vice-setup на SCM-сервере:
vice-setup-scm
vice-setup-user
vice-setup-rvm
vice-setup-srvdir

vice-setup на не-SCM-сервере:
vice-setup-rvm
vice-setup-srvdir

vice-setup вызывает эти скрипты в порядке, приведенном выше.

7.2.2.2 Настройка сервера Coda.
Если это первая (или единственная) установка в Coda cell, это должна быть SCM-установка, что достигается ответом yes на соответствующий вопрос, заданный vice-setup. SCM координирует синхронизацию базы данных Coda и глобальных конфигурационных файлов, нужных для !!! keep track !!! данных, хранимых в Coda. SCM также координирует аутентификацию пользователей Coda.
Если вы добавляете не-SCM сервер, который будет содержать копию базы данных, но не будет распространять их на другие сервера Coda Cell, ответьте no на соответствующий вопрос vice-setup.
Кроме указанных, SCM не играет никакой дополнительной роли.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: How-to по файловой системе Coda

Непрочитанное сообщение princeps » 2008-04-11 15:07:03

7.3 За vice-setup'ом
Эта секция содержит описания того, что vice-setup сделает для вас. Эта информация будет полезна тем, кто желает настроить наш скрипт vice-setup или иметь сервер, настроенный без использования стандартных установочных скриптов Coda.

7.3.1 Инициализация RVM
Инициализация RVM требует определения нескольких параметров, каждый из которых может вызвать !!! tradeoff !!!. Хотя лог и данные RVM могут быть обычными UFS файлами, это не рекомендуется. Использование для этих целей необработанные разделов дает более высокую степень сохранности данных и большую производительность. Лучше всего спланировать разделы RVM сначала на бумаге, принимая во внимание как эффективность RVM, так и общую эффективность использования диска, если вы решили не использовать значения, предлагаемые скриптом vice-setup.

7.3.1.1 Лог-раздел
Размер лог-раздела зависит от доступного места и проблем включения обрезки логов. Больший лог позволяет хранить историю операций за более долгий период, !!! are truncated less frequently !!!, но каждая обрезка логов будет занимать более долгое время. Короткие логи обрезаются чаще, но каждая обрезка занимает меньшее время. Размер лога также влияет на скорость запуска сервера. Мы используем размер логов в 90Мб при размере хранилища информации в 3,2 Гб на двух разделах Unix. (Мы предлагаем оставлять немного места в конце раздела лога RVM для сохранности, так как RVM автоматически добавляет одну лишнюю страницу к тому, что вы указали). Наш vice-setup предлагает несколько значений по умолчанию, наибольшее из которых 130Мб. Если вы решили следовать рекомендациям и использовать выделенный раздел, создайте раздел в 130Мб и оставьте его так для возможного расширения даже если при инициализации вам требуется, к примеру, размер в 22Мб.
Лог инициализируется с помощью rvmutl. В приглашении rvmutl используйте команду i и затем укажите размер лог-сегмента. При указании размера используйте M для мегабайта и K для килобайта. Например, для инициализации лога на разделе 1 на третьем диске SCSI на Linux машине в 22 мегабайта:
#
rvmutl
*
i
Enter name of log file or device (введите имя файла или устройства лога):
/dev/sdc1
Enter length of log data area (введите размер области данных лога):
22M
*
q

7.3.1.2 Раздел Метаданных
Сегмент данных содержит системные метаданные, такие как заголовки томов, каталоги Coda, !!! логи разрешений !!! и т.д. Размер сегмента данных зависит от дискового пространства, отведенного под файловые данные, т.е. от размера разделов /vicepX. Как правило вам потребуется примерно 3-5% от общего объема хранимой информации. Мы сейчас используем 4% как неплохое значение для большинства вариантов. В нашей системе сегмент данных составляет 90М для примерно 3,2 Гб дискового пространства. Делая его меньше, вы уменьшаете время загрузки сервера. С другой стороны, если свободное место на разделе данных RVM закончится, вам придется заново инициализировать всю систему,
!!! дорогостоящий штраф !!!. Поэтому планируйте тщательней.
При инициализации (или реинициализации) вы должны выбрать несколько параметров. В первую очередь - стартовый адрес восстанавливаемого сегмента в вашем адресном пространстве. На наших серверах мы запускаем RVM сегмент на 0x50000000 для Linux и BSD систем на архитектуре Intel.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru