Sie sind hier : Homepage →  > hier stehen die veralteten Seiten→  i-1) Suse 12.1/64 XEN Screenshots→  Eine SUSE 12.1 XEN VM "klonen"

"Cloning" - Die effizienteste Methode, V-Server zu installieren
(wenn es nach Handbuch funktionieren würde !!!!!! tut es noch nicht)

Februar 2012 - Das mit den "Clones" kennen wir fast nur aus den Science-Fiction Filmen, wenn dort hunderte gleichartige synthetische Gestalten rumlaufen.

Bei XEN ist (wäre) es theoretisch sehr effizient, sich für neu einzurichtende VMs einen (oder wie bei uns zwei) Musterclone(s) zu erstellen und diese uptodate zu halten
-

  • unser Muster-Clone 1 ist eine ganz nackte SUSE 12.1 textbasierte Grundlage (für ftp und dns Server)
  • unser Muster-Clone 2 ist eine ebenfalls textbasierte erweiterte selbst vorbereitete LAMP ähnliche Grundlage für unsere mysql-php-apache Web-Server

-
und dann in "Nullkommanix" ein Dupklikat in einer neu einzurichtenden VM zu erstellen, wobei das Duplikat dann sogar nahezu perfekt vorbereitet ist.

Vorarbeiten:
Ich habe mir ein minimales Suse 12.1 System (unser Muster-Clone Nr.1) erstellt und das dann in eine weitere Muster-VM geklont. (Wie das jemals funktioniert hatte, ist entschwunden.) Danach habe ich in diesem Muster-Clone Nr.2 die notwendigen Webserver-  und mysql "Ingredenzien" samt der hilfeichen bzw. notwendigen Tools installiert und so weit wie möglich und dennoch names- und IP- neutral !!! (nämlich alles noch per DHCP) vorbereitet.

Daraus habe ich dann unsere erste richtige Muster-VM (also die Clone-Vorlage) erstellt, gut brauchbar und performant für einen Vhost-Webserver für etwa 10 bis 50 virtuelle Hosts. Alle generellen neutralen Konfigurationen dieses Servers fließen auch gleich in den ursprünglichen Clone Nr.2 ein, der dann beim nächsten "Cloning" noch besser vorbereitet ist.
-

Hauptgrund: Geschwindigkeit und Datentransfer

Beim "Klonen" wird ein 1:1 Abbild des Originals, also unseres jeweiligen Clone-Musters, auf die Zielplatte und deren Partitionen geschrieben.

Ich muss also so gut wie Nichts bereits einmal Geladenes ein weiteres Mal aus dem openSuse Repository holen und auch alle dem Klone bereits verabreichten Updates bleiben erstmal erspart.

Es gibt sicher ein paar Randbedingungen, die man beachten sollte, doch die ersten Versuche waren absolut überzeugend.
-

Die Clone-Muster Grundlagen

Für einen späteren Clone habe ich immer 500Mb oder 1GB swap und 5GB oder bis zu 8GB für die Linux "root" Partition vorgesehen. Also muß der Master-Clone auch diese Größen besitzen und darf auf keinen Fall größer sein, eher kleiner. Mein Masterclone1 hat also 1GB swap und 6GB "root" und wird auf eine neue leere 20 GB Partition "geklont".

Dort habe ich dann noch 13GB unbenutzen freien Platz, den ich von der DOM 0 aus mit "gparted" als weitere (die 3.) Partition (mit ext4) formatiere und dann verlasse. Da der Clone ja sofort läuft, kann ich mit "yast" und dem "partitioner" diese 3. Partition als separate "Datenpartition" hinter mein neues "/vol2/ Verzeichnis einklinken. Damit habe ich (auf unseren Servern) auch den eigentlichen Linux (root) Bereich vom späteren Typo3 Daten- und "mysql"- Bereich komplett getrennt.
-

Juli 2012 - es geht leider nicht weiter

Es funktioniert nämlich nicht oder nur mit Hilfe eine Geheimnisses. Ich habe jetzt Wochen probiert, eine Suse XEN VM zu clonen, doch der Teufel steckt im Detail. Bislang hat es mit dem installierten Virtual Machine Manager 0.9.1 nicht funktioniert - trotz nächtelangem googelns.

Ich kann zwar im "VM Machine Manager" eine herunter gefahre VM clonen, aber ich bekomme die vorbereitete "Clone-Vorlage" über dieses jetzt geclonte Abbild nicht auf eine zweite Platte auf dem gleichen Server installiert. Die auf der Suse 12.1 Umgebung vorhanden XEN Supervisor Tools sind absolut dürftig und nicht besonders gesprächig. Auch die letzten Updates vom Juli 2012 bringen da keine Abhilfe.

.

Ein Workaround mit allen Tricks - mühsam - aber geht.

Es geht über die normalen Tools (yast und midnight commander) in der DOM-0, im XEN Grundsystem. Mit dem Yast Partitionierer überprüfe ich die Festplatten des Servers, die bei uns anfänglich so (ähnlich) aussehen (habe sie hier von 0 bis 16 sortiert !):
.

unsere physischen cciss "Devices" die Part-Größe Funktion Format
       
>>>>> das ist die DOM-0      
/dev/cciss/c0d0 6.35 GB    
/dev/cciss/c0d0p1 502.00 MB Linux swap Swap
/dev/cciss/c0d0p2 5.85 GB Linux native Ext4
       
ab hier beginnen die DOM-U (von 1 bis 13)      
/dev/cciss/c0d1 58.59 GB    
/dev/cciss/c0d1p1 502.00 MB Linux swap Swap
/dev/cciss/c0d1p2 5.86 GB Linux native Ext4
/dev/cciss/c0d1p3 49.80 GB Linux native Ext4
/dev/cciss/c0d2 39.07 GB    
/dev/cciss/c0d2p1 502.00 MB Linux swap Swap
/dev/cciss/c0d2p2 5.86 GB Linux native Ext4
/dev/cciss/c0d2p3 32.71 GB Linux native Ext4
/dev/cciss/c0d3 39.07 GB    
/dev/cciss/c0d4 58.59 GB    
/dev/cciss/c0d5 39.07 GB    
/dev/cciss/c0d5p1 502.00 MB Linux swap Swap
/dev/cciss/c0d5p2 5.86 GB Linux native Ext4
/dev/cciss/c0d5p3 32.71 GB Linux native Ext4
/dev/cciss/c0d6 39.07 GB    
/dev/cciss/c0d6p1 1.00 GB Linux swap Swap
/dev/cciss/c0d6p2 6.00 GB Linux native Ext4
/dev/cciss/c0d7 39.07 GB    
/dev/cciss/c0d8 39.07 GB    
/dev/cciss/c0d9 39.07 GB    
/dev/cciss/c0d9p1 39.06 GB Linux native Ext4
/dev/cciss/c0d10 39.07 GB    
/dev/cciss/c0d11 39.07 GB    
/dev/cciss/c0d12 39.07 GB    
/dev/cciss/c0d13 58.59 GB    
/dev/cciss/c0d13p1 502.00 MB Linux swap Swap
/dev/cciss/c0d13p2 5.86 GB Linux native Ext4
       
>>>>> das ist der große Muster-Clone 1      
/dev/cciss/c0d14 9.77 GB    
/dev/cciss/c0d14p1 502.00 MB Linux swap Swap
/dev/cciss/c0d14p2 5.86 GB Linux native Ext4
       
>>>>> das ist der kleine Muster-Clone 2      
/dev/cciss/c0d15 9.77 GB    
/dev/cciss/c0d15p1 502.00 MB Linux swap Swap
/dev/cciss/c0d15p2 5.86 GB Linux native Ext4
       
>>>>> die Reste-Ecke - Datsi und Sperrmüll      
/dev/cciss/c0d16 91.32 GB    
/dev/cciss/c0d16p1 91.32 GB Linux native Ext4


dann lege ich im root in /usr/ 2 neue Verzeichnisse an:

  • [XEN1-root - root] /usr $ mkdir 01-quelle
  • [XEN1-root - root] /usr $ mkdir 02-ziel


und setze die Mountpoint (Einhängepunkte) per Yast auf diese Partitionen, die natürlich vorher angelegt und formatiert sein müssen. Da hilft der yast Partitionierer sehr gut, eine Kontorlle geht auch mit gparted unter yast2

Unsere Devices bzw. Platten sehen dann so aus:
.

Die Anzeige der Partitionen jetzt mit Einhängepunkten

/dev/cciss/c0d0 6.35 GB              
/dev/cciss/c0d0p1 502.00 MB     Linux swap Swap   swap  
/dev/cciss/c0d0p2 5.85 GB     Linux native Ext4   /  
                 
/dev/cciss/c0d1 58.59 GB              
/dev/cciss/c0d1p1 502.00 MB     Linux swap Swap      
/dev/cciss/c0d1p2 5.86 GB     Linux native Ext4      
/dev/cciss/c0d1p3 49.80 GB     Linux native Ext4      
/dev/cciss/c0d2 39.07 GB              
/dev/cciss/c0d2p1 502.00 MB     Linux swap Swap      
/dev/cciss/c0d2p2 5.86 GB     Linux native Ext4      
/dev/cciss/c0d2p3 32.71 GB     Linux native Ext4      
/dev/cciss/c0d3 39.07 GB              
/dev/cciss/c0d4 58.59 GB              
/dev/cciss/c0d5 39.07 GB              
/dev/cciss/c0d5p1 502.00 MB     Linux swap Swap      
/dev/cciss/c0d5p2 5.86 GB     Linux native Ext4      
/dev/cciss/c0d5p3 32.71 GB     Linux native Ext4      
/dev/cciss/c0d6 39.07 GB              
/dev/cciss/c0d6p1 1.00 GB     Linux swap Swap      
/dev/cciss/c0d6p2 6.00 GB     Linux native Ext4   /usr/02-ziel  
/dev/cciss/c0d7 39.07 GB              
/dev/cciss/c0d8 39.07 GB              
/dev/cciss/c0d9 39.07 GB              
/dev/cciss/c0d9p1 39.06 GB     Linux native Ext4   /z-clones  
                 
/dev/cciss/c0d10 39.07 GB              
/dev/cciss/c0d11 39.07 GB              
/dev/cciss/c0d12 39.07 GB              
/dev/cciss/c0d13 58.59 GB              
/dev/cciss/c0d13p1 502.00 MB     Linux swap Swap      
/dev/cciss/c0d13p2 5.86 GB     Linux native Ext4      
/dev/cciss/c0d14 9.77 GB              
/dev/cciss/c0d14p1 502.00 MB     Linux swap Swap      
/dev/cciss/c0d14p2 5.86 GB     Linux native Ext4   /usr/01-quelle ID
/dev/cciss/c0d15 9.77 GB              
/dev/cciss/c0d15p1 502.00 MB     Linux swap Swap      
/dev/cciss/c0d15p2 5.86 GB     Linux native Ext4      
/dev/cciss/c0d16 91.32 GB              
/dev/cciss/c0d16p1 91.32 GB     Linux native Ext4      

Einfaches Kopieren mit den Midnight Commander

Jetzt verzweige ich mit der linken Seite des mc in /usr/01-quelle/ und rechts in /usr/02-ziel/ und kopiere die gesamte Clone-Vorlage einfach rüber.

Ich hatte aber vorher diese Virt. Maschine bereits mit dem VMM angelegt , nach unseren Spielregeln benamt (z.B. c0d6-www16-40giga) und mit einer Suse 12.1 absoluten Minimal-version installiert. Und natürlich testweise mindestens einmal gestartet.

Ich überschreibe also mit dieser primitiven Variante des "Clonings" die gesamte root Installation mit der Vorlage aus der Partition des vorbereiteten Clones.
.

Dann starte ich mit dem VMManager diese neue VM

Sicherheitshalber löse ich die beiden temporären Mountpoints in meiner DOM-0 wieder aus, damit ich sowohl die Clone-Vorlage, als auch die neue DOM-U problemlos starten kann. Beide müssen dazu wieder gestoppt sein !!!

Da diese VM (wie auch die Vorlage) das Netzwerk über DHCP bootet, kommt sie sofort hoch und mit "ifconfig" lasse ich die aktuelle ip-nummer anzeigen. Es funktioniert, ich habe ein funktionierendes Abbild der Clon-Vorlage.
.
endlich
.

Es ist nur ein "Workaround" - nämlich absolut unbefriedigend

und die bislang bekannten Clone-Werkzeuge funktionieren nicht oder sind noch schlimmer.

Alles in Allem - sehr unbefriedigend im Jahr 2012.

.

Startseite -- © 2001/2022 - Copyright by Dipl.-Ing. Gert Redlich / Germany - D-65191 Wiesbaden - Telefon-Nummer - Impressum