Virtualizálás Xen 4.1-gyel Ubuntu 12.04 alatt (64 bit)

2013-01-22 08:58:15
Címkék: xen , ubuntu , precise , oob , hvc0

Default Ubuntu 12.04 install

Az aktuálisan elérhető Ubuntu Server x64 telepítőt letöltöttem, telepítettem. Csak az OpenSSH Server csomagot tettem fel a felkínáltakból, a hdd-t két részre osztottam: - sda1: 10 GB a rendszernek - sda2: 70 GB a virtuális gépeknek, LVM-mel

Kernel: 3.2.0-29-generic


Teljes bejegyzés

 

A rendszer felkészítése

root@ub12:~# apt-get update
root@ub12:~# apt-get upgrade
root@ub12:~# apt-get install lvm2 debootstrap xen-hypervisor-4.1-amd64

root@ub12:/etc/grub.d# mv 10_linux 15_linux
root@ub12:/etc/grub.d# mv 20_linux_xen 10_linux_xen
root@ub12:/etc/grub.d# update-grub

Logikai lemezek a virtuális gépeknek (LVM)

root@ub12:~# pvcreate /dev/sda2
root@ub12:~# vgcreate -s 512M vg01 /dev/sda2
root@ub12:~# lvcreate -l 8 -n virt-os vg01
root@ub12:~# lvcreate -l 8 -n virt-swap vg01
root@ub12:~# mkfs.ext4 /dev/vg01/virt-os
root@ub12:~# mkswap /dev/vg01/virt-swap

Alaprendszer előkészítése a virtuális diszken (debootstrap)

root@ub12:~# mkdir virthdd
root@ub12:~/virthdd# mount /dev/vg01/virt-os .
root@ub12:~/virthdd# debootstrap precise .

Alaprendszer konfigurálása

root@ub12:~/virthdd# cp -pr /lib/modules/3.2.0-29-generic ./lib/modules/
root@ub12:~/virthdd# chroot . /usr/bin/passwd
root@ub12:~/virthdd# vi ./etc/fstab

Az /etc/fstab javasolt tartalma:

# file_system mount_point type  options dump pass
proc             /proc           proc    defaults        0       0
/dev/xvda1       /               ext4    defaults,errors=remount-ro 0       1
/dev/xvda2       none            swap    sw              0       0
root@ub12:~/virthdd# vi ./etc/init/tty1.conf

Az /etc/init/tty1.conf javasolt tartalma:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345] and (
            not-container or
            container CONTAINER=lxc or
            container CONTAINER=lxc-libvirt)

stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 hvc0
root@ub12:~/virthdd# vi ./etc/hostname
root@ub12:~/virthdd# vi ./etc/network/interfaces

Az /etc/network/interfaces javasolt tartalma:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.168.2
    netmask 255.255.255.0
    gateway 192.168.168.1
    dns-nameservers 8.8.8.8
root@ub12:~# vi virt-os.xen

A virt-os.xen javasolt tartalma:

kernel   = "/boot/vmlinuz-3.2.0-29-generic"
ramdisk  = "/boot/initrd.img-3.2.0-29-generic"
memory   = 2048
name     = "virt-os"
vif      = ['ip=192.168.168.2']
extra    = 'xencons=tty'
disk     = ['phy:/dev/vg01/virt-os,xvda1,w', 'phy:/dev/vg01/virt-swap,xvda2,w']
root     = "/dev/xvda1 ro"
root@ub12:~# vi /etc/xen/xend-config.sxp

NAT beállításához az /etc/xen/xend-config.sxp fájlt a következőképpen kell módosítani:

...
#(vif-script vif-bridge)
...
...
(network-script network-nat)
(vif-script     vif-nat)
...
root@ub12:~# umount virthdd
root@ub12:~# reboot

Tesztelés

root@ub12:~# xm create -c virt-os.xen
Ubuntu 12.04 LTS v-ub12 hvc0

v-ub12 login: root
Password:
Last login: Tue Jan 22 10:16:21 UTC 2013 on hvc0
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-29-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
root@v-ub12:~# ping index.hu
PING index.hu (217.20.130.97) 56(84) bytes of data.
64 bytes from sportgeza.hu (217.20.130.97): icmp_req=1 ttl=57 time=5.03 ms

Innentől gyakorlatilag bármi megtehető, javasolt egy sshd egyből, hogy ne a xen konzolból kelljen adjusztálgatni a beállításokat.

Segítségek:

Building a Debian or Ubuntu Xen Guest Root Filesystem using debootstrap

XEN Routed Networking with NAT


Virtualizálás Xen-nel Ubuntu 8.04.1 Server-en

2008-09-04 18:46:02
Címkék: xen , ubuntu

Ebben a leírásban nem szentelnék túl sok felesleges szót a Xen elméletére, arra vannak bőven máshol dokumentációk. Itt most a közepébe vágunk, és néhány paranccsal építünk egy virtualizált környezetet. Aztán pedig egy-két használati tapasztalatot írok le.

A kiindulási alap egy teljesen egyszerű Ubuntu 8.04.1 Server disztribúció, OpenSSH szerverrel megtoldva. Alább vázolom, hogy az általam telepített rendszer alatt hogyan van partícionálva a HDD:


Teljes bejegyzés
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x0000a987

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *         256      262400      131072+  83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2          262656     8651264     4194304+  83  Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3         8651520    17040128     4194304+  82  Linux swap / Solaris
/dev/sda4        17040384   488397056   235678336+   5  Extended
/dev/sda5        17040640   488397056   235678208+  83  Linux

A listán látszik, hogy az 1-es és 2-es partíciókkal problémázik, mert nem a cylinder-hez igazodnak. Ennek egy oka van: a partíciókat 128k-s blokkokhoz igazítottam. Ez azért lehet praktikus, mert a hardveres RAID-ek chunk mérete is beállítható erre az értékre, és így elkerülhető például az, hogy a partíciók blokkjai két külön chunk-ra kerüljenek. A két külön chunk-on elhelyezkedő blokk a redundancia biztosításánál overhead-et jelenthet (mivel nem elég egy chunk-ot kiírni, illetve paritást számolni, egyből kettőt kell).

Továbblépve ezen a kis kitérőn: a rendszernek 4 GB helyet hagytam, mégpedig azért, hogy véletlenül se tudjam semmilyen egyéb nem oda való programmal teleszemetelni, a Xen-nek pedig elég ennyi. Még mielőtt valakinek eszébe jutna, hogy "jaj, nem lesz hely a virtuális lemezeknek", az felejtse el gyorsan, hogy naplózó fájlrendszerre tesz egy másik fájlrendszert, ez ugyanis bőséges overhead-et okozna. Ehelyett LVM-mel szolgáljuk ki majd a guest-eket, az amúgy is flexibilis, méretezhető, és nem hordozható nehezebben, mint egy sima fájl a fájlrendszerünkben.

Két dolog tehát eddig biztosan kell: Xen és LVM2.

# apt-get install ubuntu-xen-server lvm2
# reboot
...
# uname -a
Linux xen01 2.6.24-19-xen #1 SMP Sat Jul 12 00:15:59 UTC 2008 x86_64 GNU/Linux

# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1878     2     r-----     13.1

Ezentúl az xm parancsot (xen-manage?) fogjuk használni arra, hogy a virtuális gépeinket kezeljük.

Most pedig hozzunk létre egy LVM volume-ot az első guest-ünknek. Előbb persze kell egy PV (physical volume), amibe tennünk kell egy VG-t (volume group), és csak azután lehet LV-t létrehozni (logical volume), előbbi kettőt csak első esetben kell létrehozni. Ez a három kétbetűs rövidítés hasznunkra lesz a későbbiekben, ha hozzá tesszük az alábbi kulcsszavakat is: display, scan, create, extend, remove, s. Tehát [pv|vg|lv]scan, [pv|vg|lv]s, stb.

# pvcreate /dev/sda5
# vgcreate -s 128m vg01 /dev/sda5
# lvcreate -l 32 -n lv-guest01 vg01

Lám, most már van egy lemezünk, véletlenül pont 4 GB-os (32128m), amit szimpla partícióként kezelhetünk, akár egy */dev/sda1-et. Például tehetünk rá egy ext3-as fájlrendszert rögtön:

# mkfs.ext3 /dev/vg01/lv-guest01
# mount /mnt/guest01 /dev/vg01/lv-guest01
# df -h

A Xen alapvetően nem úgy működik, mint egy VMWare, hogy ad a kezedbe egy grafikus felületet, emulálja a BIOS-t, sőt még a setup-ba is belemehetsz - nem, itt ilyenről nincs szó (de ettől függetlenül lehetséges vele akár Windows-t is futtatni, csak az egy másik leírás lesz...). A Xen vár tőlünk néhány fontos paramétert (szerencsére tárolhatjuk ezt egy config-fájlban is), azután elindítja a guest-et. Az egyik ilyen paraméter, hogy melyik diszken találja a rendszert - ebből következik, hogy itt nincs értelme boot partícónak sem. A lemez egyelőre a korábban létrehozott lv-guest01 azonosítójú LV lesz.

Mivel a lv-guest01 már ext3, fel van mountolva, az alaprendszert a debootstrap-pel "telepítjük".

# cd /mnt/guest01
# debootstrap --arch amd64 hardy /mnt/guest01 http://hu.archive.ubuntu.com/ubuntu

Ezzel már van egy alaprendszerünk, de még nem teljes funkcionalitású, a beállításokhoz az alábbi lépéseket javasolt elvégezni:

# mount --bind /dev /mnt/guest01/dev
# mount -t proc proc /mnt/guest01/proc
# cp /etc/resolv.conf /mnt/guest01/etc/resolv.conf
# cp /etc/network/interfaces /mnt/guest01/etc/network/interfaces
# cp /etc/apt/sources.list /mnt/guest01/etc/apt/sources.list
# mcedit mnt/guest01/etc/hostname
# cp -r /lib/modules/`uname -r` /mnt/guest01/lib/modules/`uname -r`
# chroot /mnt/guest01/ /bin/bash
# apt-get update
# apt-get upgrade
# apt-get install ssh 
# echo -e "/dev/sda1\t/\text3\tdefaults\t1\t2\n" >> /etc/fstab
# passwd
# exit

A rendszer már képes működni, viszont van még egy-két konfig fájl, amit érdemes ízlés szerint szerkeszteni: /etc/network/interfaces, /etc/hostname. Ha ezek megvannak, akkor umount-oljuk a fájlrendszert.

# umount /mnt/guest01/dev /mnt/guest01/proc
# umount /mnt/guest01

Most pedig kell egy paraméterfájl (pl. /mnt/guest01.xen), amit a Xen-nek fogunk átadni, hogy tudja, milyen paraméterekkel futtassa a rendszert, ez körül-belül így néz ki:

kernel      = '/boot/vmlinuz-2.6.24-19-xen'
ramdisk     = '/boot/initrd.img-2.6.24-19-xen'
memory      = '256'

root        = '/dev/sda1 ro'
disk        = [
        'phy:/dev/vg01/guest01,sda1,w',
]

name        = 'guest01'

vif         = [ 'ip=10.0.0.1,mac=00:16:3E:00:00:01' ]

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
vcpus       = '1'
extra = 'xencons=tty1'

A paraméterek pontos jelentését a Xen manual bizonyára részletesen is elmagyarázza, egy-két fontosabb:

  • memory - a guest által használható memóriamennyiség MB-ban
  • vcpus - a guest által használható virtuális CPU szám
  • kernel - megadható más elérési út is, de akkor figyelni kell arra, hogy a /lib/ ennek megfelelően legyen feltöltve

A rendszer az alábbi parancssal índítható:

# xm create /mnt/guest01.xen

A fenti parancs a háttérben indítja el a guest-et, de lehetőségünk van átvenni a konzolját:

# xm console guest01

Vagy pedig már úgy indítjuk, hogy átvesszük a konzolját (-c kapcsolóval):

# xm create /mnt/guest01.xen -c

Xen és XenServer előadás

2014-04-17 06:11:00
Címkék: xenserver , xen , eloadas

Kedves kollégám, barátom felkérésére órát adtam a Széchenyi Egyetem villamosmérnök hallgatóinak a Xen virtualizációs megoldásról és a XenServer disztribúció használatáról / konfigurálásáról.

Az előadás anyaga elérhető az alábbi linken: Xen és Xenserver "diasor"



Virtualizálás Xen 4.4-gyel Ubuntu 14.04 alatt (64 bit)

2014-04-30 09:46:38
Címkék: xen , ubuntu , trusty , oob , hvc0

Default Ubuntu 14.04 install

Az aktuálisan elérhető Ubuntu Server x64 telepítőt letöltöttem, telepítettem. Csak az OpenSSH Server csomagot tettem fel a felkínáltakból, a hdd-t három részre osztottam:

  • sda1: 8 GB a rendszernek
  • sda2: 8 GB swap
  • sda3: 484.1 GB a virtuális gépeknek, LVM-mel

Kernel: 3.13.0-24-generic


Teljes bejegyzés

A rendszer felkészítése

root@ub14:~# apt-get update
root@ub14:~# apt-get upgrade
root@ub14:~# apt-get install lvm2 debootstrap xen-hypervisor-4.4-amd64

Logikai lemezek a virtuális gépeknek (LVM)

root@ub14:~# pvcreate /dev/sda3
root@ub14:~# vgcreate -s 512M vg01 /dev/sda3
root@ub14:~# lvcreate -l 8 -n virt-os vg01
root@ub14:~# lvcreate -l 8 -n virt-swap vg01
root@ub14:~# mkfs.ext4 /dev/vg01/virt-os
root@ub14:~# mkswap /dev/vg01/virt-swap

Alaprendszer előkészítése a virtuális diszken (debootstrap)

root@ub14:~# mkdir virthdd
root@ub14:~/virthdd# mount /dev/vg01/virt-os .
root@ub14:~/virthdd# debootstrap trusty .

Alaprendszer konfigurálása

root@ub14:~/virthdd# cp -pr /lib/modules/3.13.0-24-generic ./lib/modules/
root@ub14:~/virthdd# chroot . /usr/bin/passwd
root@ub14:~/virthdd# vi ./etc/fstab

Az /etc/fstab javasolt tartalma:

# file_system mount_point type  options dump pass
proc             /proc           proc    defaults        0       0
/dev/xvda1       /               ext4    defaults,errors=remount-ro 0       1
/dev/xvda2       none            swap    sw              0       0
root@ub14:~/virthdd# vi ./etc/init/tty1.conf

Az /etc/init/tty1.conf javasolt tartalma:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345] and (
            not-container or
            container CONTAINER=lxc or
            container CONTAINER=lxc-libvirt)

stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 hvc0
root@ub14:~/virthdd# vi ./etc/hostname
root@ub14:~/virthdd# vi ./etc/network/interfaces

Az /etc/network/interfaces javasolt tartalma:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.168.2
    netmask 255.255.255.0
    gateway 192.168.168.1
    dns-nameservers 8.8.8.8
root@ub14:~# vi virt-os.xen

A virt-os.xen javasolt tartalma:

kernel   = "/boot/vmlinuz-3.13.0-24-generic"
ramdisk  = "/boot/initrd.img-3.13.0-24-generic"
memory   = 2048
name     = "virt-os"
vif      = ['ip=192.168.168.2']
extra    = 'xencons=tty'
disk     = ['phy:/dev/vg01/virt-os,xvda1,w', 'phy:/dev/vg01/virt-swap,xvda2,w']
root     = "/dev/xvda1 ro"
root@ub14:~# vi /etc/xen/xend-config.sxp

NAT beállításához az /etc/xen/xend-config.sxp fájlt a következőképpen kell módosítani:

...
#(vif-script vif-bridge)
...
...
(network-script network-nat)
(vif-script     vif-nat)
...

valamint, az /etc/xen/xl.conf fájlban a következő paramétereknek kell szerepelniük:

vif.default.gatewaydev="eth0"
vif.default.script="vif-nat"

Végül:

root@ub14:~# umount virthdd
root@ub14:~# reboot

Tesztelés

root@ub14:~# xm create -c virt-os.xen
Ubuntu 14.04 LTS v-ub14 hvc0

v-ub14 login: root
Password:
Last login: Tue Jan 22 10:16:21 UTC 2013 on hvc0
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-29-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
root@v-ub14:~# ping index.hu
PING index.hu (217.20.130.97) 56(84) bytes of data.
64 bytes from sportgeza.hu (217.20.130.97): icmp_req=1 ttl=57 time=5.03 ms

Innentől gyakorlatilag bármi megtehető, javasolt egy sshd egyből, hogy ne a xen konzolból kelljen adjusztálgatni a beállításokat.

Természetesen a NAT-hoz szükséges tűzfal és kernelparamétereket a dom0-n be kell állítani.

Segítségek:

Building a Debian or Ubuntu Xen Guest Root Filesystem using debootstrap

XEN Routed Networking with NAT


Olcsó asztali órás rádió Androidból

2017-04-14 22:36:00
14

Konzol kimenet színezés

2017-01-06 13:08:37
0

Windows Event Log bedolgozás MSSQL adatbázisba [update 1]

2015-04-30 22:23:52
0

Az internetadó margójára

2014-11-01 10:39:57
0

A C4nn0N logó

2014-07-26 20:50:32
0

Virtualizálás Xen 4.4-gyel Ubuntu 14.04 alatt (64 bit)

2014-04-30 09:46:38
1

Xen és XenServer előadás

2014-04-17 06:11:00
0

HLDS-V8: Javascripttel programozható HLDS (CS 1.6)

2014-03-15 09:33:53
0

Node.js lazy hibakezelés

2013-08-19 22:08:35
0

Office 2013 animáció kikapcsolása

2013-07-02 08:31:35
1

Node.js ékezetes szövegbevitel konzolból / parancssorból

2013-06-27 07:41:54
0

Egy Counter Strike szerver üzemeltetési tapasztalatai

2013-05-17 14:21:14
7

Hogyan tegyünk grafikus felületet Ubuntu 10.04 Serverre?

2013-05-07 08:19:05
2

Torrent tracker node.js-ben 65 sorban

2013-04-28 10:23:25
0

Hányadik vagyok a Google-ben?

2013-04-24 09:09:01
0

Virtualizálás Xen 4.1-gyel Ubuntu 12.04 alatt (64 bit)

2013-01-22 08:58:15
2

Cloud Backup - Ments a felhőbe

2012-05-02 21:46:13
0

VIP plugin CS 1.6-hoz

2012-04-22 16:35:07
7

Ki az az admin?

2012-03-17 23:45:04
0

Csináltam egy blogot

2011-12-09 15:32:11
2

Az IT szabályozásokról

2009-09-01 17:30:58
0

Twitter - IRC gateway, avagy hogyan twitteljünk irc protokollon

2009-06-05 09:51:47
0

Hogyan lehet blokkolhatatlan hirdetéseket elhelyezni egy weblapon?

2008-10-28 10:56:30
11

Virtualizálás Xen-nel Ubuntu 8.04.1 Server-en

2008-09-04 18:46:02
0

Hogyan tegyünk grafikus felületet Ubuntu 8.04 Serverre?

2008-05-19 20:02:29
0

FAR Manager kedvcsináló I.

2008-05-02 11:41:02
0

Far Manager 1.80 - Open Source

2008-01-04 21:11:19
0

IBM DB2 9.5 Express install Ubuntu 7.10 Serverre

2007-12-19 10:35:03
0

IBM Websphere Application Server 6.1.0.3 Express és WAS Plugin install Ubuntu 7.10 Serverre

2007-12-19 10:33:27
0

Hogyan tegyünk grafikus felületet Ubuntu 7.10 Serverre?

2007-12-11 22:00:17
0

Warezolás, gazemberség?

2007-11-20 21:01:00
0

iSCSI Target és Initiator installálása Ubuntu 6.06.1 LTS-re

2007-10-13 18:23:40
0

Oracle 11g R1 install Ubuntu 6.06.1-re

2007-08-18 14:13:04
0

How to install Oracle 11g R1 on Ubuntu 6.06.1 LTS

2007-08-18 14:13:04
0

Hogyan tegyünk grafikus felületet Ubuntu 6.06.1 Serverre?

2007-08-18 14:09:55
0

Apache2 - WebDAV - Ubuntu 6.06.1 - Windows XP kliens

2007-08-13 19:48:34
0

CVS beállítása Ubuntu 6.06.1-re

2007-05-21 19:39:32
0

IBM DB2 8.2 Express install Debian 4.0-ra (64 bit)

2007-05-15 20:21:33
0

IBM DB2 8.2 Express install Ubuntu 6.06.1-re

2007-05-09 20:47:34
0

Lemez olvasási/írási sebesség tesztelés linux alatt

2007-05-05 20:14:30
0

Oracle Applications tippek 1.

2007-05-03 20:47:55
0

Windows Event Log bedolgozás MSSQL adatbázisba

2007-04-30 21:06:33
0

Oracle tippek 1.

2007-04-30 17:20:25
0

MySQL automatikus backup készítés jelszó felfedése nélkül

2007-04-18 23:42:51
0

LVM - logikai lemezkezelés (skicc)

2007-04-15 19:28:33
0

Counter Strike 1.6 telepítése Ubuntu 6.06.1-re

2007-04-08 12:15:32
0