Установка Fossil

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

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

в окружении.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

После этого, используя /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. Например, вот так:

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

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