Erstellung eines SLES10 Repositories zum Verwenden des SLES10 Templates in Virtuozzo 3
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird. Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar. |
---|
Virtuozzo 3 für Linux nutzt sogenannte EZ Templates als Basis für Gastsysteme. Die EZ Templates, die bei Parallels unter https://www.parallels.com/products/virtuozzo/templates/catalog/ bezogen werden können, enthalten allerdings nur Metadaten. In diesen Metadaten ist vermerkt, wo die entsprechenden .rpm bzw. .deb Packages für ein Betriebssystem bezogen werden können. Im Normalfall verweisen diese Metadaten auf öffentlich zugängliche Mirrors der Linux Distributionen.
Für Enterprise Distributionen gibt es keine derartigen öffentlich zugängliche Mirrors. Dieser Artikel beschreibt die notwendigen Schritte beim Einsatz von SLES10 in einem Gastsystem. Dabei wird beschrieben wie ein solcher Mirror selbst erstellt werden kann. Die beschrieben Schritte basieren auf den Informationen aus dem Virtuozzo Installation Guide[1].
Ausgangssituation
In diesem Beispiel soll auf einem 2 HE Intel SR2500 Cluster (der Virtuozzo 3 in der 64 Bit Variante enthält) ein SLES10 in der 64 Bit Version in einem Gastsystem verwendet werden.
Dazu wird folgendes EZ Template von Parallels genützt:
- sles-10-x86_64 https://www.parallels.com/products/virtuozzo/templates/id,1869 (SUSE LINUX Enterprise Server 10 (for AMD64/Intel EM64T) packaged as a Virtuozzo EZ Template.)
Repository einrichten
Damit das SLES10 Template in Virtuozzo verwendet werden kann, müssen die .rpm-Packages von SLES10 in einem yum-kompatiblen Repository Server bereitgestellt werden.
Repository Server vorbereiten
Als Repository Server dient in diesem Beispiel ein Virtuozzo Gastsystem mit CentOS 4. In diesem Beispiel ist das der VE mit der VEID 101 und die IP Adresse 192.168.1.153 (falls Sie eine andere VEID bzw. IP Adresse verwenden passen Sie die Werte bei den folgenden Befehlen in der Anleitung entsprechend an):
[root@sr2500test-node1 ~]# vzlist VEID NPROC STATUS IP_ADDR HOSTNAME 1 45 running 192.168.255.3 localhost 101 11 running 192.168.1.153 vps.thomas-krenn.com [root@sr2500test-node1 ~]#
Im VE 101 werden ein Webserver sowie das Tool createrepo und das Paket python-urlgrabber benötigt. Diese drei Komponenten werden wie folgt vom Basissystem aus installiert:
[root@sr2500test-node1 ~]# vzpkg install 101 -p httpsd [root@sr2500test-node1 ~]# vzpkg install 101 -p createrepo [root@sr2500test-node1 ~]# vzpkg install 101 -p python-urlgrabber
SLES10 rpm Pakete einspielen
Nun werden die rpm Pakete von SLES10 eingespielt. Diese werden von einem aktuellen SLES10 SP2 ISO Image bezogen. Kopieren Sie dazu das ISO Image SLES-10-SP2-DVD-x86_64-GM-DVD1.iso nach /root/ auf das Basissystem des aktiven Knotens. Anschließend mounten Sie das ISO Image:
[root@sr2500test-node1 ~]# mount -o loop /root/SLES-10-SP2-DVD-x86_64-GM-DVD1.iso /mnt
Nun erstellen Sie ein Verzeichnis für die rpm Pakete und kopieren diese dorthin:
[root@sr2500test-node1 ~]# mkdir -p /vz/root/101/var/www/html/download/suse/es10 [root@sr2500test-node1 ~]# mkdir -p /vz/root/101/var/www/html/download/suse/es10-updates [root@sr2500test-node1 ~]# cp -a /mnt/suse/i586 /vz/root/101/var/www/html/download/suse/es10/ [root@sr2500test-node1 ~]# cp -a /mnt/suse/noarch /vz/root/101/var/www/html/download/suse/es10/ [root@sr2500test-node1 ~]# cp -a /mnt/suse/x86_64 /vz/root/101/var/www/html/download/suse/es10/
Das ISO Image können Sie nun wieder unmounten:
[root@sr2500test-node1 ~]# umount /mnt
Repository Metadaten erstellen
In diesem Schritt werden die Metadaten für das Repository erstellt. Dieser Schritt muss im Gastsystem (hier VE 101) durchgeführt werden. Sie können sich dazu entweder per SSH in das Gastsystem verbinden oder so wie hier gezeigt mittels vzctl enter
vom Basissystem in das Gastsystem wechseln:
[root@sr2500test-node1 ~]# vzctl enter 101 entered into VE 101 -bash-3.00# createrepo /var/www/html/download/suse/es10 2339/2339 - x86_64/zypper-0.6.104-0.3.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata -bash-3.00# createrepo /var/www/html/download/suse/es10-updates Saving Primary metadata Saving file lists metadata Saving other metadata -bash-3.00#
Erstellen der Mirrorlist Dateien
Virtuozzo EZ Templates verwenden sogenannte Mirrorlisten. Dies ermöglicht die Konfiguration von mehreren gleichwertigen Repositories. In diesem Beispiel reicht ein einzelner Mirror aus, die Mirrorlisten enthalten also nur einen Eintrag.
Die Listen werden wie folgt am Basissystem erstellt:
[root@sr2500test-node1 ~]# mkdir -p /vz/root/101/var/www/html/download/mirrors [root@sr2500test-node1 ~]# echo "https://192.168.1.153/download/suse/es10/" > /vz/root/101/var/www/html/download/mirrors/suse-es10 [root@sr2500test-node1 ~]# echo "https://192.168.1.153/download/suse/es10-updates/" > /vz/root/101/var/www/html/download/mirrors/updates-released-sles10
vztt Konfiguration anpassen
Damit das EZ Template die Mirrorlisten finden, muss in der Datei /etc/vztt/vztt.conf die Variable SLES_SERVER gesetzt werden.
In der Standardkonfiguration enthält /etc/vztt/vztt.conf nur einen auskommentieren Eintrag dazu. Dies kann wie folgt überprüft werden:
[root@sr2500test-node1 ~]# grep SLES /etc/vztt/vztt.conf #SLES_SERVER=https://127.0.0.1 [root@sr2500test-node1 ~]#
Fügen Sie nun einen Eintrag mit der richtigen IP Adresse hinzu (achten Sie dabei auf die zwei Pfeile >> im Kommando):
[root@sr2500test-node1 ~]# echo "SLES_SERVER=https://192.168.1.153" >> /etc/vztt/vztt.conf [root@sr2500test-node1 ~]# grep SLES /etc/vztt/vztt.conf #SLES_SERVER=https://127.0.0.1 SLES_SERVER=https://192.168.1.153 [root@sr2500test-node1 ~]#
Template Cache erstellen
Überprüfen Sie, ob Sie das sles-10-x86_64 Template bereits installiert haben:
[root@sr2500test-node1 ~]# vzpkg list centos-4-x86_64 2009-05-06 09:05:28 sles-10-x86_64 [root@sr2500test-node1 ~]#
Falls es noch fehlt kopieren Sie sles-10-x86_64-ez-3.0.0-9.swsoft.noarch.rpm nach /root/ am Basissystem des aktiven Knotens und installieren es wie folgt:
[root@sr2500test-node1 ~]# rpm -ihv sles-10-x86_64-ez-3.0.0-9.swsoft.noarch.rpm Preparing... ########################################### [100%] 1:sles-10-x86_64-ez ########################################### [100%] [root@sr2500test-node1 ~]#
Nun können Sie den Template Cache erstellen:
[root@sr2500test-node1 ~]# vzpkg create cache sles-10-x86_64 Debug: Using temporary VEID 10000001 Debug: Mounting VE private area Creating cache for sles-10-x86_64 OS template Loading "rpm2vzrpm" plugin Setting up Install Process Setting up repositories [...] Finished. Packing cache file sles-10-x86_64.tar.gz ... Cache file sles-10-x86_64.tar.gz [4.7M] created. [root@sr2500test-node1 ~]#
Das Kommando vzpkg list
zeigt nun das Datum der Erstellung dieses Templates:
[root@sr2500test-node1 ~]# vzpkg list centos-4-x86_64 2009-05-06 09:05:28 sles-10-x86_64 2009-05-06 10:13:45 [root@sr2500test-node1 ~]#
Das Template kann nun zur Erstellung neuer virtueller Server verwendet werden.
Tips
Hinzufügen weiterer Pakete in einem Gastsystem
Wenn ein virtueller Server mit SLES10 eingerichtet wurde (z.B. über das VZ Control Center) können zusätzliche Pakte einfach vom Basissystem aus mittels vzpkg nachinstalliert werden. Hier ein Beispiel indem MySQL nachinstalliert wird:
[root@sr2500test-node1 ~]# vzlist VEID NPROC STATUS IP_ADDR HOSTNAME 1 52 running 192.168.255.3 localhost 101 12 running 192.168.1.153 vps.thomas-krenn.com 102 16 running 192.168.1.154 sles10test [root@sr2500test-node1 ~]# vzpkg install 102 -p mysql Loading "rpm2vzrpm" plugin Setting up Install Process Setting up repositories Reading repository metadata in from local files Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for mysql to pack into transaction set. mysql-5.0.26-12.18.x86_64 100% |=========================| 48 kB 00:00 ---> Package mysql.x86_64 0:5.0.26-12.18 set to be updated --> Running transaction check --> Processing Dependency: mysql-client for package: mysql --> Processing Dependency: perl-DBD-mysql for package: mysql --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for mysql-client to pack into transaction set. mysql-client-5.0.26-12.18 100% |=========================| 29 kB 00:00 ---> Package mysql-client.x86_64 0:5.0.26-12.18 set to be updated ---> Downloading header for perl-DBD-mysql to pack into transaction set. perl-DBD-mysql-3.0002-15. 100% |=========================| 5.4 kB 00:00 ---> Package perl-DBD-mysql.x86_64 0:3.0002-15.2 set to be updated --> Running transaction check --> Processing Dependency: perl-Data-ShowTable for package: perl-DBD-mysql --> Processing Dependency: perl-DBI for package: perl-DBD-mysql --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: perl-DBD-mysql --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for mysql-shared to pack into transaction set. mysql-shared-5.0.26-12.18 100% |=========================| 28 kB 00:00 ---> Package mysql-shared.x86_64 0:5.0.26-12.18 set to be updated ---> Downloading header for perl-Data-ShowTable to pack into transaction set. perl-Data-ShowTable-3.3-5 100% |=========================| 4.0 kB 00:00 ---> Package perl-Data-ShowTable.x86_64 0:3.3-584.2 set to be updated ---> Downloading header for perl-DBI to pack into transaction set. perl-DBI-1.50-13.2.x86_64 100% |=========================| 12 kB 00:00 ---> Package perl-DBI.x86_64 0:1.50-13.2 set to be updated --> Running transaction check --> Processing Dependency: perl-PlRPC for package: perl-DBI --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for perl-PlRPC to pack into transaction set. perl-PlRPC-0.2018-13.2.x8 100% |=========================| 4.3 kB 00:00 ---> Package perl-PlRPC.x86_64 0:0.2018-13.2 set to be updated --> Running transaction check --> Processing Dependency: perl-Net-Daemon for package: perl-PlRPC --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for perl-Net-Daemon to pack into transaction set. perl-Net-Daemon-0.38-61.2 100% |=========================| 3.9 kB 00:00 ---> Package perl-Net-Daemon.x86_64 0:0.38-61.2 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: mysql x86_64 5.0.26-12.18 base2 16 M Installing for dependencies: mysql-client x86_64 5.0.26-12.18 base2 5.7 M mysql-shared x86_64 5.0.26-12.18 base2 1.2 M perl-DBD-mysql x86_64 3.0002-15.2 base2 139 k perl-DBI x86_64 1.50-13.2 base2 560 k perl-Data-ShowTable x86_64 3.3-584.2 base2 53 k perl-Net-Daemon x86_64 0.38-61.2 base2 40 k perl-PlRPC x86_64 0.2018-13.2 base2 33 k Transaction Summary ============================================================================= Install 8 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 24 M Downloading Packages: (1/8): mysql-client-5.0.2 100% |=========================| 5.7 MB 00:00 (2/8): mysql-shared-5.0.2 100% |=========================| 1.2 MB 00:00 (3/8): perl-Data-ShowTabl 100% |=========================| 53 kB 00:00 (4/8): perl-DBD-mysql-3.0 100% |=========================| 139 kB 00:00 (5/8): perl-PlRPC-0.2018- 100% |=========================| 33 kB 00:00 (6/8): perl-Net-Daemon-0. 100% |=========================| 40 kB 00:00 (7/8): mysql-5.0.26-12.18 100% |=========================| 16 MB 00:00 (8/8): perl-DBI-1.50-13.2 100% |=========================| 560 kB 00:00 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: perl-Net-Daemon ######################### [1/8] Installing: perl-PlRPC ######################### [2/8] Installing: perl-DBI ######################### [3/8] Installing: perl-Data-ShowTable ######################### [4/8] Installing: mysql-shared ######################### [5/8] Installing: perl-DBD-mysql ######################### [6/8] Installing: mysql-client ######################### [7/8] Installing: mysql ######################### [8/8] Installed: mysql.x86_64 0:5.0.26-12.18 Dependency Installed: mysql-client.x86_64 0:5.0.26-12.18 mysql-shared.x86_64 0:5.0.26-12.18 perl-DBD-mysql.x86_64 0:3.0002-15.2 perl-DBI.x86_64 0:1.50-13.2 perl-Data-ShowTable.x86_64 0:3.3-584.2 perl-Net-Daemon.x86_64 0:0.38-61.2 perl-PlRPC.x86_64 0:0.2018-13.2 Complete! Installed: mysql x86_64 5.0.26-12.18 Dependency Installed: mysql-client x86_64 5.0.26-12.18 mysql-shared x86_64 5.0.26-12.18 perl-DBD-mysql x86_64 3.0002-15.2 perl-DBI x86_64 1.50-13.2 perl-Data-ShowTable x86_64 3.3-584.2 perl-Net-Daemon x86_64 0.38-61.2 perl-PlRPC x86_64 0.2018-13.2 [root@sr2500test-node1 ~]#
Referenzen
- ↑ Virtuozzo Installation Guide Kapitel Managing Repositories for Commercial Linux Distributions, Seite 65
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|