Wenn Daten dauerhaft gespeichert werden sollen hat man ein Problem:
Fli4l läuft in einer RamDisk. Aus diesen Grund sind bei einen Shutdown bzw. Neustart die Daten verloren.
Xen bietet die Möglichkeit virtuelle Laufwerke einzubinden
Das "opt_hd" jedoch hat Schwierigkeiten beim booten auf die Datei "hd.cfg" zuzugreifen.
Für diesen Fall gibt es ein weiteres opt welches noch genauer beschrieben wird.
Das "opt_hd" muss jedoch installiert werden.
Es ist sinnvoll das Laufwerk als Image zur Verfügung zu stellen
Im Falle eines Umzuges muss nur die Datei kopiert werden.
Hier noch mal die Erstellung einer Imagedatei:
Mit "dd" wird eine mit Nullen gefüllte Datei erzeugt:
xen-dom0:~# dd if=/dev/zero of=/vm_images/fli4l_data.img bs=1024k count=20 20+0 records in 20+0 records out 20971520 bytes transferred in 0.309074 seconds (67852760 bytes/sec) xen-dom0:~#
Danach wird die Datei formatiert:
xen-dom0:~# mkfs.ext3 /vm_images/fli4l_data.img
mke2fs 1.37 (21-Mar-2005)
/vm_images/fli4l_data.img is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
5136 inodes, 20480 blocks
1024 blocks (5.00%) reserved for the super user
First data block=1
3 block groups
8192 blocks per group, 8192 fragments per group
1712 inodes per group
Superblock backups stored on blocks:
8193
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
xen-dom0:~#
In "/vm_images/" liegt nun eine 20MB grosse Imagedatei.
Die muss nun fli4l zugeordnet werden.
In der Konfigurationsdatei /etc/xen/fli4l wird folgende Änderung durchgeführt:
#---------------------------------------------------------------------------- # Define the disk devices you want the domain to have access to, and # what you want them accessible as. # Each disk entry is of the form phy:UNAME,DEV,MODE # where UNAME is the device, DEV is the device name the domain will see, # and MODE is r for read-only, w for read-write. disk = [ 'file:/vm_images/fli4l_data.img,sda1,w' ] #----------------------------------------------------------------------------
In der Datei "hd.txt" von fli4l muss auch noch etwas geändert werden:
OPT_HDDRV='yes' # install drivers for harddisk: yes or no HDDRV_N='0' # number of HD drivers to load, usually 1
Alle anderen Einträge auf 'no' belassen
Markus Kraus hat ein opt geschrieben: opt_extmount.tar.gz .
Dieses entpacken und in "extmount.txt" folgendes eintragen.
OPT_EXTMOUNT='yes' EXTMOUNT_N='1' EXTMOUNT_1_PART='/dev/sda1' EXTMOUNT_1_MPOINT='/data'
Wichtig ist hier, das die Angaben für das Device identisch sind. Hier "sda1".
Nach den Build-Prozess die Dateien auf den Server kopieren, und die VM starten.
Zum Anfangxen-dom0:~# ls -lh /vm_images/fli4l_data.img -rw-r--r-- 1 root root 20M Jan 2 12:43 /vm_images/fli4l_data.img xen-dom0:~#
Zuerst werden Nullen aus "/dev/zero" angehängt
xen-dom0:~# dd if=/dev/zero bs=1024k count=10 >> /vm_images/fli4l_data.img 10+0 records in 10+0 records out 10485760 bytes transferred in 0.148693 seconds (70519492 bytes/sec) xen-dom0:~#
Nun das Dateisystem überprüfen:
xen-dom0:~# e2fsck -f /vm_images/fli4l_data.img e2fsck 1.37 (21-Mar-2005) /vm_images/fli4l_data.img: clean, 11/5136 files, 1696/20480 blocks xen-dom0:~#
Als letztes das Dateisystem an die neue Grösse anpassen:
xen-dom0:~# resize2fs /vm_images/fli4l_data.img resize2fs 1.37 (21-Mar-2005) Resizing the filesystem on /vm_images/fli4l_data.img to 30720 (1k) blocks. The filesystem on /vm_images/fli4l_data.img is now 30720 blocks long. xen-dom0:~#
Jetzt ist die Datei 30MB gross
xen-dom0:~# ls -lh /vm_images/fli4l_data.img -rw-r--r-- 1 root root 30M Jan 2 14:05 /vm_images/fli4l_data.img xen-dom0:~#