The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Подготовка DomU FreeBSD-окружения д..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Подготовка DomU FreeBSD-окружения д..."  +/
Сообщение от auto_tips (ok) on 29-Дек-10, 22:37 
В качестве хост-системы будет использован сервер на базе Debian GNU/Linux 5, на котором дисковые разделы разбиты с использованием LVM.

Для сборки работающего в режиме паравиртуализации ядра FreeBSD и формирования образа системы понадобится уже установленная FreeBSD. В простейшем случае можно воспользоваться VirtualBox для временной установки FreeBSD.

Заходим в существующую FreeBSD систему и подготавливаем дисковый образ /tmp/freebsd.img для Xen.

   cd /usr/src
   truncate -s 1G /tmp/freebsd.img

Привязываем файл с дисковым образом к устройству /dev/md0

   mdconfig -f freebsd.img

Разбиваем разделы, форматируем и монтируем в /mnt:

   fdisk -BI /dev/md0
   bsdlabel -wB md0s1
   newfs -U md0s1a
   mount /dev/md0s1a /mnt

Собираем мир и ядро с паравиртуальными драйверами Xen и устанавливаем в директорию /mnt:

   make buildworld
   make buildkernel KERNCONF=XEN
   make DESTDIR=/mnt installworld
   make DESTDIR=/mnt installkernel KERNCONF=XEN
   make DESTDIR=/mnt distribution

В /mnt/etc/ttys добавляем строку с описанием терминала xc0

   xc0 "/usr/libexec/getty Pc" vt100 on secure

В /mnt/etc/fstab прописываем параметры монтирования корня:

   /dev/ad0s1a / ufs rw 0 0

Отмонтируем сформированный образ и скопируем его на хост-систему, на которой будет работать DomU:

   umount /mnt
   mdconfig -d -u 0
   bzip2 -v9 /tmp/freebsd.img
   scp /tmp/freebsd.img.bz2 user@dom0-host.example.com:/tmp/freebsd.img.bz2

Отдельно копируем ядро с паравиртуальными драйверами:

   scp /usr/obj/usr/srcsys/XEN/kernel user@dom0-host.example.com:/tmp/freebsd_8.2-RC1_kernel


++ Настраиваем Dom0

Подготавливаем LVM-разделы, которые будут использоваться для работы FreeBSD. Создадим два раздела - один для изменения размера рабочего раздела и второй - рабочий раздел, на котором будет работать гостевая система.

Создаем LVM-разделы в уже присутствующей физической группе xen-vol:

   lvcreate -L1000 -n freebsdmaint.example.com xen-vol
   lvcreate -L110000 -n freebsd-dom0.example.com xen-vol

копируем ранее созданный образ в данные разделы:

   dd if=freebsd.img of=/dev/xen-vol/freebsdmaint.example.com bs=1M
   dd if=freebsd.img of=/dev/xen-vol/freebsd-dom0.example.com bs=1M

Конфигурируем Xen:

Создаем два файла конфигурации: первый для обслуживания изменения размера раздела и второй для рабочего виртуального окружения (отдельный раздел нужен так как мы не можем переконфигурировать текущий раздел без его отмонтирования, смонтировать файл через "mount -o loop" мы не можем так как в Linux отсутствует полноценная поддержка UFS).

Ранее подготовленное ядро копируем в /xen/kernels/freebsd_8.2-RC1_kernel

Окружение для изменения размера дискового раздела freebsdmaint.example.conf.cfg:

   kernel = "/xen/kernels/freebsd_8.2-RC1_kernel"
   vcpus = '1' # 1 CPU
   memory = '64' # 64 Мб ОЗУ
   disk = [ 'phy:/dev/xen-vol/freebsdmaint.example.com,hda,w',  'phy:/dev/xen-vol/freebsd-dom0.example.com,hdb,w' ]
   name = 'freebsdmaint.example.com'
   vif = [ 'bridge=eth0,mac=00:16:3E:62:DB:03' ]
   extra = 'xencons=tty1'
   extra = "boot_verbose"
   extra += ",boot_single"
   extra += ",kern.hz=100"
   extra += ",vfs.root.mountfrom=ufs:/dev/ad0s1a"

Рабочее окружение freebsd-dom0.example.conf.cfg (отличается от предыдущей конфигурации указанием только одного раздела freebsd-dom0.example.com):

   kernel = "/xen/kernels/freebsd_8.2-RC1_kernel"
   vcpus = '1'
   memory = '64'
   disk = [ 'phy:/dev/xen-vol/freebsd-dom0.example.com,hda,w' ]
   name = 'freebsd-dom0.example.com'
   vif = [ 'bridge=eth0,mac=00:16:3E:62:DB:03' ]
   extra = 'xencons=tty1'
   extra = "boot_verbose"
   extra += ",boot_single"
   extra += ",kern.hz=100"
   extra += ",vfs.root.mountfrom=ufs:/dev/ad0s1a"

Запускаем обслуживающее окружение:

   xm create -c freebsdmaint.example.conf.cfg

Изменяем размер рабочего раздела, который виден как /dev/ad1s1a (после запуска fdisk на первые два вопроса отвечаем 'y', после запроса размера указываем размер основного раздела как "число Мб * 2048"):

   fdisk -u /dev/ad1
  
   ******* Working on device /dev/ad1 *******
   parameters extracted from in-core disklabel are:
   cylinders=14023 heads=255 sectors/track=63 (16065 blks/cyl)

   Figures below won't work with BIOS for partitions not in cyl 1
   parameters to be used for BIOS calculations are:
   cylinders=14023 heads=255 sectors/track=63 (16065 blks/cyl)

   Do you want to change our idea of what BIOS thinks ? [n] n
   Media sector size is 512
   Warning: BIOS sector numbering starts with sector 1
   Information from DOS bootblock is:
   The data for partition 1 is:
   sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
   start 63, size 2088387 (1019 Meg), flag 80 (active)
   beg: cyl 0/ head 1/ sector 1;
   end: cyl 129/ head 254/ sector 63
   Do you want to change it? [n] y
   ...
   Supply a decimal value for "size" [2088387]

   fdisk: WARNING: partition does not end on a cylinder boundary
   fdisk: WARNING: this may confuse the BIOS or some operating systems
   Correct this automatically? [n] y

   Should we write new partition table? [n] y

Изменяем размер слайса:

   bsdlabel -e /dev/ad1s1

   # size offset fstype [fsize bsize bps/cpg]
   a: 2088351 16 unused 0 0
   c: 2088387 0 unused 0 0 # "raw" part, don't edit

Не трогаем значение "raw" и правим размер слайса "a", приписав туда вычисленное на прошлом шаге значение дискового раздела минус 16 байт. Т.е. получаем после правки (raw-значение рассчитается автоматически):

   # size offset fstype [fsize bsize bps/cpg]
   a: 225279416 16 unused 0 0
   c: 225279432 0 unused 0 0 # "raw" part, don't edit

Запускаем growfs для расширения существующей файловой системы:

   growfs /dev/ad1s1a

Выключаем обслуживающую VM и запускаем основную. Внимание, одновременно основной и обслуживающий VM запускать нельзя, так как они работают с одинаковым дисковым разделом freebsd-dom0.example.com.


URL: http://silverwraith.com/blog/?p=83
Обсуждается: https://www.opennet.ru/tips/info/2509.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от l13tl3 email(ok) on 29-Дек-10, 22:37 
а я ядро собираю в virtualbox, а ОС в LVM ставлю с netboot-образа в qemu. работает
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от pavlinux (ok) on 30-Дек-10, 03:12 
> "DomU FreeBSD в Linux Dom0 Xen с LVM"

Хорошая трава :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от Аноним (??) on 30-Дек-10, 06:07 
Ну а выньдусь там же вас не смущает?

Ооопс! Приношу ивинения. Я думал ваше высказывание как то всязанно с отквоченным постом :)
А потом дошло что трава и в самом деле - хорошая :)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от l13tl3 email(ok) on 30-Дек-10, 12:13 
а почему бы и нет?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от Добрый Дохтур on 30-Дек-10, 13:23 
А freebbsd - i386?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от l13tl3 email(ok) on 30-Дек-10, 20:33 
в режиме PV только i386. x64 еще недопилили
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

7. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от Аноним (??) on 30-Дек-10, 14:13 
Я только не понял, почему обязательно иметь установленную фрю, если можно с образа скопировать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от Аноним (??) on 30-Дек-10, 20:59 
> Я только не понял, почему обязательно иметь установленную фрю, если можно с
> образа скопировать?

В Linux UFS только на чтение и то с глюками. Если скопировать через dd, то запишется только начало и нужно ресайзить ФС, а для этого FreeBSD нужно загрузить с другого раздела, чтобы текущий остался размонтированным.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от ананим on 31-Дек-10, 02:37 
ну что за бред?
dd скопирует столько, сколько скажешь. ему на фс положить. асл читается уж точно полностью. даже с асл.
он вообще читает всё. так уж устроен.
у вас в учителях не трухин был?
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от slepnoga (ok) on 01-Янв-11, 15:35 
>> Я только не понял, почему обязательно иметь установленную фрю, если можно с
>> образа скопировать?
> В Linux UFS только на чтение и то с глюками. Если скопировать
> через dd, то запишется только начало и нужно ресайзить ФС, а
> для этого FreeBSD нужно загрузить с другого раздела, чтобы текущий остался
> размонтированным.

Может оно только в убунте на чтения ? /ме уже лет 5-ть как пишет на слайс с фряхой или опенком - ЧЯДНЯД ?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от freelsd email on 05-Янв-11, 03:34 
XEN 3.3.1?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от freelsd email on 05-Янв-11, 03:36 
Что по нагрузке? Помнится, в HVM жутко нагружалась система из-за тормознутой UFS, пробовал кто в боевом режиме фряху на паравирте зарядить?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Подготовка DomU FreeBSD-окружения для выполнения в Linux Dom..."  +/
Сообщение от VDm email on 10-Янв-11, 14:11 
При запуске апача или gstat падает ? или там чтото допилили уже ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




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

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