ФЭНДОМ


Используйте Venti для получения наибольшей производительности сервера Fossil (см. документ Установка Venti.

Если вы используете сервер Venti на локальной машине, вам нужно узнать свой IP адрес (cat /net/ndb) и установить значение переменной:

% venti=ваш-ip-адрес

в окружении.

Основным хранилищем данных для Fossil является сервер Venti. Fossil сохраняет dirty блоки и эфемерные картины всех файлов на локальном дисковом разделе под названием буфер записи (write buffer).

Буфер записи не обязательно должен быть одинаковым по размеру с файловой системой, которую он хранит, но, если он большой, то проблем меньше + легкая инициализация. Лэптоп Расса Кокса (Russ Cox, rsc) использует гигабайтовый буфер записи, при чем исходный тексты используют все-навсего полгигабайта.

Отформатируйте буфер записи командой:

% fossil/flfmt /dev/sdC0/fossil

Затем создайте файл под названием flproto, содержащий строки:

srv -p fscons
srv fossil
fsys main config /dev/sdC0/fossil
fsys main open -AWP
fsys main

Если вы хотите узнать, что означает каждая из команд, прочитайте страницу fossilcons(8). Выполните:

% fossil/fossil -c '. flproto'
% con -l /srv/fscons

для запуска fossil, выполнения сценария flproto и подключения к консоли.

В случае, если какая-нибудь из команд не срабатывает, сценарий не будет продолжать работу. Подключение к /srv/fscons должно вывести сообщения об ошибках. Если вы нажмете Enter несколько раз, то получите:

prompt:
main:
main:

(Первое приглашение выводится перед запуском сценария. Последняя команда в сценарии изменяет файловую систему по-умолчанию на «main»; последующие приглашения показывают именно его.)

Создайте новое окно и подмонтируйте fossil:

% mount -c /srv/fossil /n/fossil

Теперь у вас есть консольное окно и окно, содержащее подмонтированный fossil. Некоторое время вы будете переключаться между ними. Примеры покажут приглашение «%» для команд оболочки и «main: » — для консольных команд fossil.

Флаги -AWP в команде open отключают аутентификацию, включают произвольные wstats и выключают проверку разрешений.

Файловая система fossil имеет три основных дерева каталогов: /active, /archive и /snapshot. Активная файловая система находится в каталоге /active. Когда вы подмонтировали каталог /srv/fossil, вы автоматически подключили его к /active. О деталях читайте fossil(4).

Перед созданием файлов для конкретных пользователей и групп, вы должны добавить их в таблицу пользователей. Чтобы создать файл пользователей, выполните следующее в консоли fossil:

main: create /active/adm adm sys d775
main:

Возможно, вам захочется использовать тот же набор пользователей, что и в вашей текущей файловой системе. Формат файла был немного изменен, так что теперь первое поле — строка, а не число. (Строка описывает структуру диска fossil, подобно числу, хранящемуся в kfs и структуре диска fs.) Чтобы преобразовать файл, выполните:

% sed 's/^([^:]+):([^:]+)/\2:\2/' /adm/users >/n/fossil/adm/users

Здесь используется /adm/users из вашей локальной kfs. Теперь дайте команду fossil выполнить перезагрузку файла пользователей:

main: users /active/adm/users

Протестируйте результативность перезагрузки:

% echo hi >/n/fossil/foo
% chgrp glenda /n/fossil/foo
% ls -l /n/fossil/foo
% rm /n/fossil/foo

Команда chgrp должна быть успешной, если этого не произошло, то у вас проблема с таблицей пользователей.

Настало время проинициализировать файловую систему. Это можно сделать таким образом:

% disk/mkfs -a -s /n/kfs /sys/lib/sysconfig/proto/allproto | disk/mkext -d /n/fossil

Если ваша kfs и буфер записи fossil находятся на одном диске, то вы можете заметить, что запуск первого, а затем второго — значительно быстрее, таким образом, они не оспаривают диск:

% disk/mkfs -a -s /n/kfs /sys/lib/sysconfig/proto/allproto >/где-нибудь/куда-нибудь
% disk/mkext -d /n/fossil </где-нибудь/куда-нибудь

Теперь у вас есть файловая система. Файл пользователей, вероятно, только что был переписан, так что верните его назад:

main: users -w

Эта команда перепишет файлом /adm/users текущую таблицу пользователей сервера.

Создайте картину всех файлов:

main: snap -a

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

Теперь убейте fossil и перезапустите его:

% kill fossil | rc
% fossil/fossil -c '. flproto'

В консольном окне вам опять необходимо подключится к /srv/fscons.

Проверьте все ли на месте:

% mount /srv/fossil /n/fossil
% mount /srv/fossil /n/archive main/archive
% ls -l /n/fossil
% ls -l /n/archive

Не плохо, не так ли?

Теперь мы готовы к настоящим действиям. Добавьте строку

users /active/adm/users

в файл flproto и удалите флаги -AWP из open. Перезапустите fossil:

g% kill fossil | rc
g% fossil/fossil -c '. flproto'
g% mount /srv/fossil /n/fossil
g% mount /srv/fossil /n/archive main/archive
g% ls -l /n/archive

Если вы хотите сохранить сеть, выполните команды:

listen tcp!*!9fs
listen il!*!9fs

в flproto или консоли. Теперь другие могут подключаться.

Соединения (даже к локальным /srv файлам) аутентифицируются посредством factotum. Если вы загружаете автономный сервер и не используете ключиp9sk1, вам необходимо добавить ключ к вашему factotum для использования при аутентификации. Особенно, если

% grep p9sk1 /mnt/factotum/ctl

ничего не находит, в таком случае вы должны дать следующую команду:

% echo 'key proto=p9sk1 user=you dom=local !password=local' >/mnt/factotum/ctl

для установки ключа. Это будет нужно для монтирования при работе без флагов -AWP.

Имя пользователя должно совпадать с вашим именем на локальной машине. На пароль нет ограничений. (Так как оба монтирования и fossil используют одинаковый factotum и одинаковые ключи, аутентификация должна быть успешной!)

Примите наши поздравления! Вы владеете fossil.

Для получения большей информации смотрите fossil(4) и fossilcons(8).

Загрузка автономной системы fossilПравить

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

Есть возможность сборки ядра, которое загружалось бы из локальной системы fossil. Точкой отсчета является конфигурация pc ядра — pcfl. Скопируйте pcfl в файл pcваше-сист-имя, а затем:

  • Замените cpuserver = 0 на cpuserver = 1 в секции port, если вы хотите получить CPU сервер.
  • Замените fl на имя вашей системы в путях секции bootdir.

Создайте файл /sys/lib/sysconfig/ваше-сист-имя и заполните его. Файлы в каталоге /sys/lib/sysconfig/fl являются хорошей точкой отсчета. Отредактируйте их, чтобы они подходили вашей установке. Если конкретно, то вам нужно:

  • заменить cpuserver=no на cpuserver=yes в файле boot, если это необходимо;
  • заменить командную строку venti в boot, если это необходимо;
  • отредактировать flproto для соответствия вашей настройке; запомните также, что srv файл должен быть назван boot, а не fossil;
  • отредактировать venti.conf для соответствия вашей настройке.

Теперь вы готовы для сборки ядра и его загрузки. Для построения вам нужно запустить lnfs.

Если что-нибудь не так, то ядро не загрузится. И настает время для отладки…

Использование зеркала с fossilПравить

Устройство fs(3) может использоваться для создания зеркала ваших разделов fossil и venti. К примеру, для установки зеркала /dev/fs/fossil, которое является RAID-массивом /dev/sdC0/fossil и /dev/sdD0/fossil, выполните:

bind -a '#k' /dev
echo mirror fossil /dev/sdC0/fossil /dev/sdD0/fossil >/dev/fs/ctl

После этого, используя /dev/fs/fossil, вы можете запускать fossil. Намного эффективнее установить зеркало перед форматированием раздела и инсталляцией на него fossil.

Устройство fs(3) не включено в дистрибутив plan9.iso.bz2 (по данным 6 июня 2003 г.) и вам требуется установить ночной снимок системы или же использовать replica/pull(1) (читайте Обновление системы).

Если у вас уже есть fossil и вы хотите добавить диск для его зеркалирования, то можете установить зеркало как это описано выше, запустите fossil и пока вы работаете, используйте команду dd(1) для копирования первого устройства на новое. Дальше используйте cmp(1) для соединения устройства с другим. Если что-то пошло не так, повторите процедуру.

Если вы используете автономную fossil систему, тогда вам необходимо изменить /sys/lib/sysconfig/имя-вашей-системы/boot для установки зеркала перед запуском fossil. Например, вот так:

bind -a '#S' /dev
bind -a '#k' /dev
...
echo mirror fossil /dev/sdC0/fossil /dev/sdD0/fossil >/dev/fs/ctl
fossil -c '. flproto'

где fossil proto файл (flproto) должен использовать устройство fs(3):

srv boot
fsys main config /dev/fs/fossil
…

Copyright © 2003 Перевод Андрей С. Кухар. Последняя модификация 24.08.2003

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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

Также на ФЭНДОМЕ

Случайная вики