Bearbeiten von „VirtualBox mit iSCSI auf ZFS (Linux)“

Aus UUGRN

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 117: Zeile 117:
  
 
<pre>
 
<pre>
$ VBoxManage storageattach foo --storagectl "SATA" --port 1 --device 0 --type hdd --medium iscsi \
+
$ VBoxManage storageattach foo --storagectl "SATA" --port 1 --device 0 --type hdd --medium iscsi --server 192.168.0.20 --target iqn.2014-02.de.sigsys:storage.vbox.foo.disk0 --username foo --password Neiz8eehah3zah5ho9ei
--server 192.168.0.20 --target iqn.2014-02.de.sigsys:storage.vbox.foo.disk0 \
 
--username foo --password Neiz8eehah3zah5ho9ei
 
 
</pre>
 
</pre>
  
[[Datei:Screenshot VirtualBox iSCSI 20140302.png|800px|Screenshot von VirtualBox, VM mit iSCSI Disk]]
+
[[Datei:Screenshot VirtualBox iSCSI 20140302.png|Screenshot von VirtualBox, VM mit iSCSI Disk]]
  
  
Zeile 128: Zeile 126:
  
 
== Performancetest ==
 
== Performancetest ==
Ein Ubuntu Server 12.04 im VirtualBox Gast wird installiert, dabei wird bei der Installation LVM verwendet. Die VM hat 2GB RAM, der PC, in dem VirtualBox läuft hat 8GB RAM.
+
Ein Ubuntu Server 12.04 im VirtualBox Gast wird installiert, dabei wird bei der Installation LVM verwendet. Die VM hat 2GB RAM, der PC, in dem VirtualBox läuft hat 8GB RAM. Nach der Installation kann mittels dd ein einfacher Performance-Test durchgeführt werden:
 
 
=== 1. Test ===
 
Nach der Installation kann mittels dd ein einfacher Performance-Test durchgeführt werden:
 
  
 
<pre>
 
<pre>
Zeile 140: Zeile 135:
  
 
Angesichts der Ausstattung sind 72MBytes/sec lineares Schreiben aus einer VM heraus ganz passabel. YMMV.
 
Angesichts der Ausstattung sind 72MBytes/sec lineares Schreiben aus einer VM heraus ganz passabel. YMMV.
 
=== 2. Test: Snapshot+Rollback ===
 
;In der VM:
 
<pre>
 
rabe@foo:~$ dd if=/dev/zero of=/var/tmp/big.8G bs=1024k count=8192
 
8192+0 Datensätze ein
 
8192+0 Datensätze aus
 
8589934592 Bytes (8,6 GB) kopiert, 165,985 s, 51,8 MB/s
 
</pre>
 
 
;Auf dem Server:
 
<pre>
 
# zpool iostat -v 10
 
[…]
 
                                    capacity    operations    bandwidth
 
pool                              alloc  free  read  write  read  write
 
--------------------------------  -----  -----  -----  -----  -----  -----
 
tank                              1,95T  3,48T    54  6,62K  71,5K  51,7M
 
  mirror                          1,90T  836G    28    407  34,7K  2,58M
 
    wwn-0x50014ee2b0b4a6c5-part1      -      -    12    80  52,7K  2,85M
 
    wwn-0x50014ee058e266cd-part1      -      -    15    84  62,7K  3,10M
 
  mirror                          52,6G  2,67T    26  6,23K  36,9K  49,1M
 
    wwn-0x50014ee25e76e28b-part1      -      -    14    429  58,7K  49,4M
 
    wwn-0x50014ee209153668-part1      -      -    12    424  50,7K  48,8M
 
--------------------------------  -----  -----  -----  -----  -----  -----
 
[…]
 
</pre>
 
 
Immernoch >50MB/sec.
 
 
* Erstmal herunter fahren:
 
<pre>
 
rabe@foo:~$ sudo poweroff
 
[sudo] password for rabe:
 
rabe@foo:~$
 
An alle Benutzer verteilte Nachricht von rabe@foo
 
        (/dev/pts/0) um 5:45 ...
 
 
Das System wird sich JETZT zum Ausschalten herunterfahren!
 
Connection to foo.fritz.box closed by remote host.
 
Connection to foo.fritz.box closed.
 
</pre>
 
 
* ZFS Snapshot erzeugen:
 
<pre>
 
# zfs snapshot tank/img/foo@test02
 
</pre>
 
 
* VM wieder starten und Testdateien in /var/tmp löschen:
 
<pre>
 
rabe@foo:~$ ls -la /var/tmp/
 
insgesamt 8388620
 
drwxrwxrwt  2 root root      4096 Mär  2 05:38 .
 
drwxr-xr-x 12 root root      4096 Mär  2 05:46 ..
 
-rw-rw-r--  1 rabe rabe 8589934592 Mär  2 05:41 big.8G
 
rabe@foo:~$ df -h /var/tmp/
 
Dateisystem              Größe Benutzt Verf. Verw% Eingehängt auf
 
/dev/mapper/foo--vg-root  28G    9,0G  17G  35% /
 
rabe@foo:~$ rm /var/tmp/big.8G
 
rabe@foo:~$ df -h /var/tmp/
 
Dateisystem              Größe Benutzt Verf. Verw% Eingehängt auf
 
/dev/mapper/foo--vg-root  28G    985M  25G    4% /
 
</pre>
 
 
* VM wieder herunterfahren:
 
<pre>
 
rabe@foo:~$ sudo poweroff
 
</pre>
 
 
* ZFS Rollback:
 
Geht leider nicht so direkt:
 
<pre>
 
# zfs rollback tank/img/foo@test02
 
cannot remove device links for 'tank/img/foo': Das Gerät oder die Ressource ist belegt: dataset is busy
 
</pre>
 
Vorher iscsitarget anhalten:
 
<pre>
 
# service iscsitarget stop
 
# zfs rollback tank/img/foo@test02
 
# service iscsitarget start
 
</pre>
 
 
* VM wieder hochahren, Daten sind wieder da:
 
<pre>
 
rabe@foo:~$ ls -la /var/tmp/
 
insgesamt 8388620
 
drwxrwxrwt  2 root root      4096 Mär  2 05:38 .
 
drwxr-xr-x 12 root root      4096 Mär  2 05:46 ..
 
-rw-rw-r--  1 rabe rabe 8589934592 Mär  2 05:41 big.8G
 
rabe@foo:~$ du -sh /var/tmp/
 
8,1G    /var/tmp/
 
</pre>
 
 
== More fun ==
 
=== ZFS Volume von 30GB auf 40GB vergrößern ===
 
Diese Operation wird "offline" durchgeführt, d.h. der VirtualHost Gast ist dabei ausgeschaltet!
 
 
* Auf dem Server:
 
<pre>
 
# zfs set volsize=40G tank/img/foo
 
# service iscsitarget restart
 
[ ok ] Removing iSCSI enterprise target devices: :.
 
[ ok ] Stopping iSCSI enterprise target service: :.
 
[ ok ] Removing iSCSI enterprise target modules: :.
 
[ ok ] Starting iSCSI enterprise target service:.
 
. ok
 
</pre>
 
* VirtualBox: Nach dem Neustart des iscsitarget auf dem Server erkennt VirtualBox die 40GB und auch im gast wird das sichtbar:
 
<pre>
 
rabe@foo:~$ sudo fdisk -l /dev/sda
 
 
Disk /dev/sda: 42.9 GB, 42949672960 bytes
 
255 Köpfe, 63 Sektoren/Spur, 5221 Zylinder, zusammen 83886080 Sektoren
 
Einheiten = Sektoren von 1 × 512 = 512 Bytes
 
Sector size (logical/physical): 512 bytes / 512 bytes
 
I/O size (minimum/optimal): 512 bytes / 512 bytes
 
Festplattenidentifikation: 0x00068d2c
 
 
  Gerät  boot.    Anfang        Ende    Blöcke  Id  System
 
/dev/sda1  *        2048      499711      248832  83  Linux
 
/dev/sda2          501758    62912511    31205377    5  Erweiterte
 
/dev/sda5          501760    62912511    31205376  8e  Linux LVM
 
</pre>
 
 
* Leider scheint zwar das Vergrößern von /dev/sda2 mittels parted zu klappen, jedoch kann /dev/sda5 nicht erweitert werden:
 
<pre>
 
rabe@foo:~$ sudo parted
 
GNU Parted 2.3
 
Verwende /dev/sda
 
Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten.
 
(parted) print
 
Modell: ATA VBOX HARDDISK (scsi)
 
Festplatte  /dev/sda:  42,9GB
 
Sektorgröße (logisch/physisch): 512B/512B
 
Partitionstabelle: msdos
 
 
Nummer  Anfang  Ende    Größe  Typ      Dateisystem  Flags
 
1      1049kB  256MB  255MB  primary  ext2        boot
 
2      257MB  32,2GB  32,0GB  extended
 
5      257MB  32,2GB  32,0GB  logical                LVM
 
 
(parted) resize 2
 
WARNUNG: Sie versuchen parted auf einem Dateisystem (resize) zu verwenden.
 
Der Dateisystemänderungsquelltext von parted ist nicht so robust, wie der
 
in speziellen, dateisystemspezifischen Paketen wie e2fsprogs.
 
Wir empfehlen parted nur zum Verändern von Partitionstabellen zu,
 
verwenden, falls möglich.
 
Die Unterstützung dieser Vorgänge wird in zukünftigen
 
Veröffentlichungen für die meisten Dateisysteme entfallen.
 
Anfang?  [257MB]?
 
Ende?  [32,2GB]? 40,9GB
 
(parted) print
 
Modell: ATA VBOX HARDDISK (scsi)
 
Festplatte  /dev/sda:  42,9GB
 
Sektorgröße (logisch/physisch): 512B/512B
 
Partitionstabelle: msdos
 
 
Nummer  Anfang  Ende    Größe  Typ      Dateisystem  Flags
 
1      1049kB  256MB  255MB  primary  ext2        boot
 
2      257MB  40,9GB  40,6GB  extended
 
5      257MB  32,2GB  32,0GB  logical                LVM
 
 
(parted) resize 5
 
WARNUNG: Sie versuchen parted auf einem Dateisystem (resize) zu verwenden.
 
Der Dateisystemänderungsquelltext von parted ist nicht so robust, wie der
 
in speziellen, dateisystemspezifischen Paketen wie e2fsprogs.
 
Wir empfehlen parted nur zum Verändern von Partitionstabellen zu,
 
verwenden, falls möglich.
 
Die Unterstützung dieser Vorgänge wird in zukünftigen
 
Veröffentlichungen für die meisten Dateisysteme entfallen.
 
Anfang?  [257MB]?
 
Ende?  [32,2GB]? 40,9GB
 
Fehler: Dateisystem konnte nicht erkannt werden.
 
</pre>
 
  
 
[[Kategorie:Anwendungsbeispiel]]
 
[[Kategorie:Anwendungsbeispiel]]
 
[[Kategorie:Hack]]
 
[[Kategorie:Hack]]

Bitte kopiere keine Inhalte, die nicht Deine eigenen sind!

Du gibst uns hiermit Deine Zusage, dass
  • Du den Text nicht aus Wikipedia kopiert hast
  • Du den Text selbst verfasst hast
  • oder der Text entweder
    • Allgemeingut (public domain) ist
    • oder der Copyright-Inhaber seine Zustimmung gegeben hat.
Wichtig
  • Benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!
  • Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der 'Diskussion:'-Seite darauf hin.
  • Bitte beachte, dass alle UUGRN-Beiträge automatisch unter der der Creative Commons Lizenz stehen.
  • Falls Du nicht möchtest, dass Deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf "Artikel Speichern".

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)