Показаны сообщения с ярлыком FreeBSD. Показать все сообщения
Показаны сообщения с ярлыком FreeBSD. Показать все сообщения

понедельник, 12 марта 2012 г.

Замена стандартного интерпретатора /bin/sh во FreeBSD 8.2 на что-либо нормальное

Собираем bash:
cd /usr/ports/shells/bash
make install clean; rehash

Меянем шелл заданному юзеру:
chsh -s /usr/local/bin/bash testuser

Источник: http://www.cyberciti.biz/faq/howto-set-bash-as-your-default-shell/

вторник, 6 марта 2012 г.

Cмена прав для вновь создаваемых файлов на FreeBSD

Стандартно для обычных пользователей во FreeBSD umask стоит в значении 022, это далеко не всегда удобно, так как сбрасывает право записи в файл для пользователей группы. Если это требуется изменить, то нужно открыть файл:
vi /etc/login.conf

Скорректировать строку:
:umask=002:

После этого перестроить конфиги:
cap_mkdb /etc/login.conf

Все, после этого достаточно выйти / войти в консольную сессию и значение umask изменится на новое. Кроме этого, обращаю внимание, что umask для root меняется иначе.

Установка Nginx 1.1 на FreeBSD 8.2

Компилируем:
cd /usr/ports/www/nginx
make install clean

Добавляем в автозапуск:
vi /etc/rc.conf

Добавляем там:
nginx_enable="YES"

Запускаем:
/usr/local/etc/rc.d/nginx start

пятница, 25 ноября 2011 г.

FreeBSD - загрузка с USB

При загрузке FreeBSD с usb, очень распространена ситуация, когда система не дождалась инициализации USB и выдала "кант маунт рут", но в dmesg при этом видно, что флешка подмонтировалась, но с задержкой.

Для борьбы с этим, нужно увеличить таймаут ожидания root устройства:
vi /boot/loader.conf

И добавить там:
kern.cam.boot_delay=10000

Источник: http://forums.freebsd.org/showthread.php?t=23349

понедельник, 16 мая 2011 г.

Кэш диски на ZFS

Для начала создадим RAID-Z массив из 3х дисков (в моем случае это
SATA): http://phpsuxx.blogspot.com/2010/09/raid-z-freebsd-81.html

Итак, имеем обычный RAID-Z массив:
zpool status
pool: backup
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad10 ONLINE 0 0 0
errors: No known data errors


Теперь подключим к массиву очередное дисковое устройство (в моем
случае это 128GB SSD) как L2ARC кэш:
zpool add backup cache ad14

В документации о роли "cache" сказано следующее (но я не думаю, что
кто-то сочтет это за существенные ограничения):
cache A device used to cache storage pool data. A cache
device cannot be mirrored or part of a raidz or raidz2
configuration.For more information, see the "Cache Devices"
section.

В итоге оно у нас добавится и будет упомянуто в статусе:
zpool status
pool: backup
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad10 ONLINE 0 0 0
cache
ad14 ONLINE 0 0 0

errors: No known data errors

суббота, 9 октября 2010 г.

FreeBSD 8.1 и ZFS: cannot remove ad14: only inactive hot spares or cache devices can be removed

Имеем вот такой конфиг с 1 slog устройством:
zpool status
pool: backup
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad10 ONLINE 0 0 0
logs ONLINE 0 0 0
ad14 ONLINE 0 0 0

errors: No known data errors

И при попытке удалить slog устройство ad14 получаем:
zpool remove backup ad14
cannot remove ad14: only inactive hot spares or cache devices can be removed

Судя по рассылке ZFS, форуму OpenSolaris и форуму FreeBSD это баг и единственный вариант избавится от slog`а - это удалить массив.

P.S. log устройства во FreeBSD 8.1 использовать КРАЙНЕ не рекомендуется. Кроме невозможности их удаления есть еще одна неприятность - если log-устройство было создано не как mirror, а как одиночное устройство, то в случае его отказа становится недоступным весь пул с данными и как это исправлять у меня информации нету.

FreeBSD: No manual entry for ls

Как бороться с такой напастью? Нужно поставить man страницы. Делается это не совсем тривиально, читаем дальше.

Запускаем sysinstall:
sysinstall

Далее выбираем "Configure Do post-install configuration of FreeBSD", далее "Distributions Install additional distribution sets", далее ставим галочки на "man" и "info" и жмем "Ok". После этого в новом окошке появляется окошко выбора источника установки, выбираем "2 FTP Install from an FTP server", далее выбираем какой-нибудь зеркало из блока "Primary" и нажимаем ок, потом подтверждаем наличие сетевого соединения. Все, ждем пока маны будут установлены и выходим из sysinstall.

Более подробно и с картинками: http://www.cyberciti.biz/tips/howto-install-man-info-pages-and-other-package-set.html

воскресенье, 3 октября 2010 г.

Установка софта во FreeBSD из портов

Для начала нужно подготовить дерево портов к работе: http://phpsuxx.blogspot.com/2009/11/freebsd.html

Для поиска нужных приложений по имени можно пользоваться вот такой комбинацией:
make search name=memcache -C /usr/ports

Ищем расположение порта с требуемой программой:
whereis memcached


В ответ получаем путь:

memcached: /usr/ports/databases/memcached


Переходим в указанную папку и собираем/ставим программу:

cd /usr/ports/databases/memcached
make install clean

Либо есть более простой вариант установки портов, используя portinstall:
portinstall memcached

Вот так все довольно легко :)

Источник: http://www.freebsd.org/doc/handbook/ports-using.html

Установка Apache 2.2 с поддержкой PHP 5.3.2 на FreeBSD 8.1

Инициализируем систему портов вот так.

Установка Apache 2.2

cd /usr/ports/www/apache22
make install clean

Когда будет выведено окно настройки конфигурации, то оставляем там все без изменений - стандартная конфигурация довольно оптимальна.

Добавляем запуск Apache при запуске системы:
echo 'apache22_enable="YES"' >> /etc/rc.conf

Запускаем Апача:
/usr/local/etc/rc.d/apache22 start

Либо вот так покороче и поудобнее:
service apache22 start

Теперь открываем в баузере страницу: http://ip_вашего_сервера и там в случае корректной работы Apache мы должны увидеть надпись "It works!".

Конфиг Апача находится по адресу /usr/local/etc/apache22/httpd.conf, а стандартная папка для сайтов /usr/local/www/apache22/data/.

Подключение PHP 5 к Apache 2.2 в режиме mod_php

cd /usr/ports/lang/php5
make install clean

После этого при конфигурировании флагов сборки ставим галочку на "APACHE Build Apache module".

Теперь нужно собрать часто исползуемые расшрения:
cd /usr/ports/lang/php5-extensions
make install clean

При конфигурации ставим галочки (те, что уже стоят, не трогаем) на CURL, FILEINFO, BCMATH, GD, FTP, IMAP, MSTRING, MCRYPT, MYSQL, OPENSSL, SOCKETS, XMLRPC, XSL, ZIP, ZLIB.

Все остальные окошки конфигурации оставляем без изменения (их будет море, угу).

Теперь открываем конфигурацию Апача:
vi /usr/local/etc/apache22/httpd.conf

И добавляем следующее:
# возможно, эта строка уже будет добавлена, если она есть, повторно добавлять не нужно
LoadModule php5_module libexec/apache/libphp5.so
<IfModule mod_php5.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>

Теперь перезапускаем Апача для применения изменений:
service apache22 restart

Убеждаемся, что PHP был корректно подключен к Апачу:
apachectl -M | grep php5
Syntax OK
php5_module (shared)

Создаем тестовый PHP скрипт:
echo "<? PHP echo 'Hello from PHP!'; ?>" > /usr/local/www/apache22/data/index.php

И теперь открываем веб-страницу: http://ip_вашего_сервера/index.php и там мы должны увидеть текст Hello from PHP!, который повествует о том, что связка Apache2.2 и PHP 5.3.2 корректно настроена.

По материалам: http://www.freebsd.org/doc/handbook/network-apache.html

Установка ПО на FreeBSD 8.1 из бинарных пакетов

Кроме классического метода установки программ из портов (сборка из исходного кода) во FreeBSD есть также и привычный для пользователей Linux систем способ установки из прекомпилированных бинарных пакетов. Каковы его преимущества? Очевидно, скорость :)

Установка

Итак, для установки пакета даем команду (-r означает, что установка должна быть осуществлена из удаленного репозитория):
pkg_add -r mc

Даем команду rehash (чтобы оболочка перечитала все пути, где хранятся программы, и увидела новую команду mc):
rehash

Все, mc доступен и работает :)

Вывод списка установленного ПО

Вот команда для просмотра списка установленных в данный момент пакетов:
pkg_info
gamin-0.1.10_4 A file and directory monitoring system
gettext-0.18_1 GNU gettext package
gio-fam-backend-2.24.1_1 FAM backend for GLib's GIO library
glib-2.24.1_1 Some useful routines of C programming (current stable versi
libiconv-1.13.1_1 A character set conversion library
libslang2-2.2.2_1 Routines for rapid alpha-numeric terminal applications deve
mc-4.7.2_1 Midnight Commander, a free Norton Commander Clone
pcre-8.02 Perl Compatible Regular Expressions library
perl-5.10.1_1 Practical Extraction and Report Language
pkg-config-0.23_1 A utility to retrieve information about installed libraries
png-1.4.3 Library for manipulating PNG images
python26-2.6.5 An interpreted object-oriented programming language

Удаление пакета

Удаление пакета осуществляется также очень просто (обращаю внимание, что pkg_delete mc выдаст ошибку, версия обязательна к указанию!):
pkg_delete mc-4.7.2_1

Либо, если очень не хочется указывать версию, есть универсальынй формат:
pkg_delete mc\*

Проверка наличия обновлений

А вот способ проверки наличия обновлений для бинарных пакетов (для начала нужно инициализировать / обновить дерево портов: так):
pkg_updating

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

Обновление пакетов

Для обновления бинарных пакетов необходим пакет portupgrade и иницилизированное дерево портов, делать инициализацию так:
pkg_add -r portupgrade

Теперь запускаем команду обновления заданного бинарного пакета (-R означает обновление всех зависимых от этого пакета пакетов, -r обозначает обновление всех пакетов, от которых зависит этот пакет):
portupgrade -PP -r -R gettext

Обновить все имеющиеся пакеты (как бинарные так и нет! Так что если хотите обновлять лишь бинарные, то вводите их имена вручную):
portupgrade -PP -r -R -a

Обращаю внимание, что ключ -PP обозначает "ставить обновления только если они доступны в виде бинарных пакетов", а они в свою очередь есть не всегда. Так что в крайнем случае, можно использовать ключе -P, который обозначает получение обновлений как в виде бинарных пакетов (предпочтительно), так и в виде сборки их исходных кодов.

Источник: http://www.freebsd.org/doc/handbook/packages-using.html

понедельник, 6 сентября 2010 г.

iotop для FreeBSD

top -m io -o total

Работает суперски, сейчас попробовал загрузить диск dd шкой, так она сразу взлетела в верх списка :)

Тестирование поведения RAID-Z массива во FreeBSD при полном отказе одного из дисков

Итак, мы имеем собранный RAID-Z массив из 3 дисков: http://phpsuxx.blogspot.com/2010/09/raid-z-freebsd-81.html

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

Частичный отказ диска

Итак, "отключаем" массив от системы:
zpool export backup

При этом он также будет отмонтирован.

Теперь эмулируем физическое повреждение поверхности диска /dev/ad6 (пишем на него гигабайт "белого шума"):
dd if=/dev/urandom of=/dev/ad6 bs=1m count=1000

Снова подключаем массив:
zpool import backup

После этого можно попробовать прочесть какой-либо из файлов с массива (или можно этого не делать, как я понял) и в итоге мы увидим следующее:
zpool status
pool: backup
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://www.sun.com/msg/ZFS-8000-9P
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad6 ONLINE 0 0 10
ad10 ONLINE 0 0 0

errors: No known data errors

То есть, ZFS определила, что мы чего-то нахимичили с данными (так как они не совпадали со своими ключевыми суммами), это на лету исправила и сообщила нам число ошибок из-за ключевых сумм с ad6. Что же, прекрасно, если винт правда начал умирать, Вы узнаете это первым.

Но при этом ZFS нашел не все ошибки (так понимаю, по причине, что мы считали далеко не все данные с диска), поэтому есть возможность попросить ZFS провести полную проверку данных на этом томе и исправить все найденные ошибки:
zpool scrub backup

После чего увидим следующий status:
zpool status
pool: backup
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://www.sun.com/msg/ZFS-8000-9P
scrub: scrub completed after 0h0m with 0 errors on Sun Sep 5 23:05:03 2010
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad6 ONLINE 0 0 21 1.00M repaired
ad10 ONLINE 0 0 0

errors: No known data errors


Теперь же попросим ZFS забыть про наши опыты и сбросить число ошибок:
zpool clear backup ad6

И теперь наш статус девственно чист:
zpool status
pool: backup
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad10 ONLINE 0 0 0

errors: No known data errors

Полный отказ диска

Допустим, диск отказывает на пустом месте. Для этого есть прекрасная команда offline:
zpool offline backup ad4

После такой наглости массив переходит в состояние DEGRADED (разрушен, это нештатный режим его работы):
zpool status
pool: backup
state: DEGRADED
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://www.sun.com/msg/ZFS-8000-9P
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
ad4 OFFLINE 0 49 0
ad6 ONLINE 0 0 0
ad10 ONLINE 0 0 0

errors: No known data errors

Подключаем диск обратно:
zpool online backup ad4

Смотрим статус массива:
zpool status
pool: backup
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://www.sun.com/msg/ZFS-8000-9P
scrub: resilver completed after 0h0m with 0 errors on Sun Sep 5 23:00:15 2010
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 49 0 21.5K resilvered
ad6 ONLINE 0 0 1 15K resilvered
ad10 ONLINE 0 0 0 14K resilvered

errors: No known data errors

Как я понял, в полях resilvered указано сколько блоков с каждого из рабочих дисков было считано, а напротив "отказавшего диска" указано число блоков которое было восстановлено на основе данных четности (но я могу ошибаться, не верьте мне!). Данные были восстановлены и теперь массив снова в статусе ONLINE. Примерно тоже самое произойдет, когда потребуется заменить один из дисков в связи с отказом.

Физическая замена одного из дисков

Допустим, на одном из дисков по данным S.M.A.R.T. образовалось большое число сбойных секторов и его стоит заменить (для чистоты эксперимента мне пришлось немного погонять техников ДЦ и физически заменить один из дисков.). Нужно ли готовить массив к этому заранее? Совершенно не нужно (официальная документации Sun). Сервер просто выключается, сбойный диск заменяется (то есть, на место подключения старого диска ставится новый) и сервер включается. Статус массива при этом будет следующий:
zpool import
pool: backup
id: 15744554445999282139
state: DEGRADED
status: One or more devices are missing from the system.
action: The pool can be imported despite missing or damaged devices. The
fault tolerance of the pool may be compromised if imported.
see: http://www.sun.com/msg/ZFS-8000-2Q
config:

backup DEGRADED
raidz1 DEGRADED
ad4 ONLINE
ad6 UNAVAIL cannot open
ad10 ONLINE


И при этом массив не был подключен к системе:
zpool list
no pools available

То есть, ZFS заметила, что диск ad6 куда-то пропал и не хочет запускаться. Что же делать?

Делаем "явное" подключение пула:
zpool import backup

После этого статус примет вид:
zpool status backup
pool: backup
state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
see: http://www.sun.com/msg/ZFS-8000-2Q
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
ad4 ONLINE 0 0 0
1502173858046405299 UNAVAIL 0 227 0 was /dev/ad6
ad10 ONLINE 0 0 0

errors: No known data errors

После этого сообщаем ZFS, что мы заменили этот диск:
zpool replace backup ad6

И, вуаля, массив снова в штатном режиме:
zpool status backup
pool: backup
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Mon Sep 6 16:05:36 2010
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0 31K resilvered
ad6 ONLINE 0 0 0 2.18M resilvered
ad10 ONLINE 0 0 0 33K resilvered

errors: No known data errors

Поистине фантастическая технология :)

По материалам: http://www.freebsd.org/cgi/man.cgi?zpool и http://people.freebsd.org/~pjd/misc/zfs/zfs_self-healing.swf

Создание RAID-Z массива на FreeBSD 8.1

Итак, имеем FreeBSD 8.1:
FreeBSD rescue 8.1-STABLE FreeBSD 8.1-STABLE #0: Mon Jul 26 08:20:08 UTC 2010 root@fbsd64.hetzner.de:/usr/obj/usr/src/sys/GENERIC amd64

А также три SATA-2 диска по 1.5 тб (каждый из которых ранее были разбиты для Linux Soft Raid-5):
find /dev | egrep 'ad'
/dev/ad4
/dev/ad4s1
/dev/ad4s2
/dev/ad4s3
/dev/ad6
/dev/ad6s1
/dev/ad6s2
/dev/ad6s3
/dev/ad10
/dev/ad10s1
/dev/ad10s2
/dev/ad10s3

Просмотрим список имеющихся ZFS пулов:
zpool list
no pools available

Создаем ZFS RAID-Z1 пул с именем backup на базе трех винтов:
zpool create backup raidz ad{4,6,10}

Итого, убеждаемся, что он создался:
zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
backup 4.06T 220K 4.06T 0% ONLINE -

В данный момент меня смутило, что при трех дисках по 1.5 тб эффективный объем вышел 4 тб, а не 2.7 (как было бы в случае RAID-5).

Теперь смотрим статус массива:
zpool status
pool: backup
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
backup ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad10 ONLINE 0 0 0

errors: No known data errors

Теперь смотрим в mount и замечаем чудесным образом там появившийся новый раздел:
mount | grep /backup
backup on /backup (zfs, local)

Который как раз на 2.7 тб:
df -h | grep backup
backup 2.7T 24K 2.7T 0% /backup

Вуаля, все, можно на нем размещать свои данные и совершенно не боятся, если один из дисков сбойнет :)

Уничтожить zpool можно также очень просто:
zpool destroy backup

По материалам: http://people.freebsd.org/~pjd/misc/zfs/zfs_self-healing.swf

воскресенье, 29 августа 2010 г.

ZFS Deduplication во FreeBSD 8.1

Пока отсутствует, так как эта фича была реализована лишь в 21 версии ZFS (ссылка), а во FreeBSD 8.1 используется ZFS версии 14 (ссылка).

Update: фича портирована в HEAD версию FreeBSD: http://www.opennet.ru/opennews/art.shtml?num=27828

понедельник, 23 августа 2010 г.

Текущее состояние системы контейнеризации jail во FreeBSD 8 и FreeBSD 8.1, а также ее перспективы

В последнее время заинтересовался состоянием развития системы контейнеризации jail во FreeBSD. В первую очередь в недавних релизах 8.0 и 8.1, но также интересно было бы ознакомиться с планируемыми нововведениями в этой подсистеме. Если Вы ранее не сталкивались с jail, то вкратце - это технология очень похожая на Linux OpenVZ, но с меньшими возможностями по изоляции (тут с OpenVZ поспорить сложно, да).

FreeBSD 8.0

Была добавлена поддержка полностью виртуализированного сетевого стека для jail инстанций. В оригинале звучит так:
A new virtualization container named “vimage” has been implemented. This is a jail with a virtualized instance of the FreeBSD network stack and can be created by using jail(8) command.

FreeBSD 8.1

Тут лишь небольшое добавление в фреймворк pfill для поддержки той самой виртуализации сети. В оригинале звучит так:
The pfil(9) framework for packet filtering in FreeBSD kernel now supports separate packet filtering instances like ipfw(4) for each VIMAGE jail.

FreeBSD 9.x

Согласно письму, недавно распространенному FreeBSD Foundation (10 июня 2010), они осознают всю важность подсистемы jail и планируют вывести ее на новый уровень в 9й ветке. Для этого разработчику ядра FreeBSD (Bjoern A. Zeeb) был выделен грант, который позволит довести jail до законченного решения (позволяющего полноценную изоляцию виртуальных контейнеров). Среди систем, которые планируется улучшить упоминаются SYSV, Posix IPC. Также очень большое внимание отдается отсутствию регрессий кода jail и максимально возможное снижение оверхеда, возникающего при использовании jail. Так что, технология вполне себе живет и имеет хорошие перспективы :)

Вот оригинал:
Dear FreeBSD Community,

We are pleased to announce that Bjoern A. Zeeb has been awarded a grant
to improve FreeBSD's jail based virtualization infrastructure and to
continue to work on the virtual network stack. His employer, CK Software
GmbH is matching the Foundation's funding with hours.

FreeBSD has been well known for its jail based virtualization during the
last decade. With the import of the virtual network stack, FreeBSD's
operating system level virtualization has reached a new level.

This project includes cleanup of two years of import work and
development and, more notably, brings the infrastructure for a network
stack teardown. Cleanly shutting down a network stack in FreeBSD will be
the major challenge in the virtualization area to get the new feature to
production ready quality for the 9.x release
lifecycle.

Further, the project includes generalization of the virtual network
stack framework, factoring out common code. This will provide an
infrastructure and will ease virtualization of further subsystems like
SYSV/Posix IPC with minimal overhead. All further virtualized subsystems
will immediately benefit from shared debugging facilities, an essential
feature for early adopters of the new technology.

"Improved jail based virtualization support, that continues to be very
lightweight and as easily manageable as classic jails, will be a killer
feature for the next few years," said Bjoern A. Zeeb, FreeBSD developer.
He also added, "It will allow people to partition their FreeBSD server,
run simulations without racks of hardware, or provide thousands of
virtual instances in hosting environments fairly easy and efficiently.
While this follows the trend of green computing, it also adds to
FreeBSD's virtualization portfolio with Xen or other more heavyweight
hypervisor support, which can be mixed with jails as needed."

While work in this area will have to continue, the funding for this
project will end mid-July 2010.

Sincerely,

The FreeBSD Foundation

Resource Containers Project

Это также очень серьезная веха в развитии FreeBSD jail, так как этот функционал позволит лимитировать ресурсы для каждого контейнера в отдельности (память, процессор, сеть и проч.), чего ранее в jail не было. Более подробно можно прочесть вот здесь: http://freebsdfoundation.blogspot.com/2010/07/resource-containers-project.html

Update:
А вот уже и новости с полей о добавлении вирутализации сетевого стека (о чем я писал выше, это уже есть в 8.1) и других улучшениях подсистемы jail: http://freebsdfoundation.blogspot.com/2010/08/update-on-freebsd-jail-based.html, следующим шагом стоит ожидать виртуализации SYSV/POSIX IPC.

Также очень много интересной технической информации на wiki странице проекта FreeBSD jail: http://wiki.freebsd.org/Jails

понедельник, 9 августа 2010 г.

Как установить FreeBSD на FastVPS.ru ?

Для начала стоит оговориться, что без проблемная установка FreeBSD возможна только на сервера NHS-1, 2, 3, 24.

1. Заходите в панель Robot
2. Выбираете FreeBSD 64 bit, если требуется 64 битная ОС (более 3 гб памяти) либо FreeBSD 32 bit, если требуется 32 битная ОС.
3. Выбираете Activate Rescue System и записываете где-либо выданный пароль
4. Если сервер доступен по ssh - презагружаете его командой shutdown -r now если же недоступен идете в Роботе на вкладку: Reset и выбираете "Execute a automatic hardware-reset"
5. После этого подключаетесь к серверу по ssh и запускаете команду installimage
6.
Выбор версии ОС
Далее выбираете FreeBSD 7.3 или FreeBSD 8.1. Мы рекомендуем 8.1.

Выбор битности
Далее выбираете битность, если более 3гб памяти, то 64, иначе 32.

Настройка RAID
Далее появится окошко настройки RAID, если желаете, чтобы оба диска были в RAID-1 (зеркало), то ставим крестики посредством пробела около каждого из двух дисков (если у Вас их три, то выбирайте только первые два). После этого щелкаем ок.

Выбор файловой системы
Далее предлагается файловая система - UFS или ZFS. Мы рекомендуем проверенную временем UFS.

Выбор размере файла подкачки
Достаточно 4 гигабайт.

Указание хостнейма и пароля
Потом вводим хостнейм (например, freebsd.fastvps.ru) и желаемый пароль.

Уведомление об уничтожении всех данных
Соглашаемся с форматированием обоих дисков и откидываемся на спинку стула :)

После окончания установки (она занимает около 10-15 минут) требуется перезагрузить машину командой
shutdown -r now
и после этого можно приступать к работе!

четверг, 1 июля 2010 г.

FreeBSD 8: pid 63 (swapon), uid 0: exited on signal 11 pid 65: (fsck), uid 0: exited on signal 11

Проблема тут вот в чем - какая-то хренота вписана в конец файла /etc/fstab. Проблема усугубляется тем, что "хренота" не видна по команде cat /etc/fstab (там непечатаемые символы). По ней все супер. А если если открыть /etc/fstab редактором vi, то в конце файла будет следующий мусор "^@^@^@^@". То есть эта та самая непечатаемая хренота, что сваливает машину. Аккуратно удаляем эту строку и ребутаем машину. Этимология появления хреноты в конце файла мне неизвестна. Все.

Источник: http://old.nabble.com/gmirror-issue--td25690893.html