The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Централизованное обновление портов и системы FreeBSD"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Централизованное обновление портов и системы FreeBSD" 
Сообщение от Monty emailИскать по авторуВ закладки(??) on 22-Июн-05, 10:42  (MSK)
Здравствуйте.
Хочу решить следующую задачу по оптимизации процесса обновления дерева портов и исходников системы FreeBSD не нескольких серверах.
В сети работает несколько серверов под управлением ОС FreeBSD. Каждый сервер подключен к интернету. Дело в том, что обновлять отдельно каждый как-то не выгодно финансово, посколько приходится за одно обновление платить в несколько раз больше.
Скажите, каким образом можно организовать следующую схему:
один сервер будет обновляться по интернету, а остальные сервера будут обновляться уже с первого сервера. Тогда учитывая, что трафик локальный бесплатный, платить придется только один раз.
Может у кого-то реализованы подобные схемы? Пожалуйста, поделитесь опытом.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Централизованное обновление портов и системы FreeBSD" 
Сообщение от INM emailИскать по авторуВ закладки(??) on 22-Июн-05, 10:51  (MSK)
>Здравствуйте.
>Хочу решить следующую задачу по оптимизации процесса обновления дерева портов и исходников
>системы FreeBSD не нескольких серверах.
>В сети работает несколько серверов под управлением ОС FreeBSD. Каждый сервер подключен
>к интернету. Дело в том, что обновлять отдельно каждый как-то не
>выгодно финансово, посколько приходится за одно обновление платить в несколько раз
>больше.
>Скажите, каким образом можно организовать следующую схему:
>один сервер будет обновляться по интернету, а остальные сервера будут обновляться уже
>с первого сервера. Тогда учитывая, что трафик локальный бесплатный, платить придется
>только один раз.
>Может у кого-то реализованы подобные схемы? Пожалуйста, поделитесь опытом.


посмотри в новости за сегодня
http://www.opennet.dev/opennews/art.shtml?num=5663
там есть статья...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Централизованное обновление портов и системы FreeBSD" 
Сообщение от newser Искать по авторуВ закладки(ok) on 22-Июн-05, 12:15  (MSK)
>Здравствуйте.
>Хочу решить следующую задачу по оптимизации процесса обновления дерева портов и исходников
>системы FreeBSD не нескольких серверах.
>В сети работает несколько серверов под управлением ОС FreeBSD. Каждый сервер подключен
>к интернету. Дело в том, что обновлять отдельно каждый как-то не
>выгодно финансово, посколько приходится за одно обновление платить в несколько раз
>больше.
>Скажите, каким образом можно организовать следующую схему:
>один сервер будет обновляться по интернету, а остальные сервера будут обновляться уже
>с первого сервера. Тогда учитывая, что трафик локальный бесплатный, платить придется
>только один раз.
>Может у кого-то реализованы подобные схемы? Пожалуйста, поделитесь опытом.


Первым делом советую почитать man development.
У меня это организовано примерно так:

На основном сервере есть каталог /FreeBSD, в котором располагается полное дерево CVS от FreeBSD (/FreeBSD/FreeBSD-CVS). Оно обновляется по CVSup раз в сутки, можно и чаще. Потом cvs'ом получаю каталог /FreeBSD/ports, в котором содержатся соответственно порты:

cd /FreeBSD; cvs -d /home/ncvs co -A -P ports

/home/ncvs - это симлинк на /FreeBSD/FreeBSD-CVS.
Есть каталог /FreeBSD/FreeBSD-5.4, где опять же cvs'ом с тегом RELENG_5_4 получен каталог src:

mkdir /FreeBSD/FreeBSD-5.4
cd /FreeBSD/FreeBSD-5.4
cvs -d /home/ncvs co -P -rRELENG_5_4 src

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

ln -s /FreeBSD/ports /usr/ports
ln -s /FreeBSD/FreeBSD-5.4/src /usr/src

Создается каталог для дистфайлов:

mkdir /distfiles

У меня он вынесен на отдельный раздел, почему - объясню позже. Далее

ln -s /distfiles /usr/ports/distfiles

После чего создаем еще один каталог (у меня он тоже на отдельном разделе):

mkdir -p /build/obj
ln -s /build/obj /usr/obj

После этого можно расшарить по NFS каталоги /FreeBSD (read-only), /build (read-only) и /distfiles (read-write).

Теперь можно собрать систему:

cd /usr/src
make buildworld
make buildkernel KERNCONF=...

На других серверах примонтируем mainserver:/FreeBSD mainserver:/build mainserver:/distfiles кидаем соответствующие симлинки для /usr/ports, /usr/src и /usr/obj и можно просто

cd /usr/src
make installkernel KERNCONF=...
make installworld

Правда, этот процесс оказывается чуточку сложнее, но суть такова.
Далее, идем в любой порт и делаем make, который кладет дистфайлы в /distfiles (именно поэтому он расшарен в read-write).

Таким образом достигается:

1. Централизованное хранение исходников (src) и портов (ports)
2. Централизованное хранение distfiles
3. Сборка мира осуществляется на одной машине (mainserver) (если, конечно в /etc/make.conf на всех машинах прописано примерно одно и то же).
4. Т.к. сборка делается только в одном месте, уменьшаются накладные расходы.

В кратце все, надеюсь объяснил доступным языком.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Централизованное обновление портов и системы FreeBSD" 
Сообщение от Crystal_m Искать по авторуВ закладки(??) on 22-Июн-05, 12:26  (MSK)
>Здравствуйте.
>Хочу решить следующую задачу по оптимизации процесса обновления дерева портов и исходников
>системы FreeBSD не нескольких серверах.
>В сети работает несколько серверов под управлением ОС FreeBSD. Каждый сервер подключен
>к интернету. Дело в том, что обновлять отдельно каждый как-то не
>выгодно финансово, посколько приходится за одно обновление платить в несколько раз
>больше.
>Скажите, каким образом можно организовать следующую схему:
>один сервер будет обновляться по интернету, а остальные сервера будут обновляться уже
>с первого сервера. Тогда учитывая, что трафик локальный бесплатный, платить придется
>только один раз.
>Может у кого-то реализованы подобные схемы? Пожалуйста, поделитесь опытом.

/usr/src и /usr/ports монтировать по NFS на все сервера

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру