Montag, 26. Januar 2009

XENserver - post-install-skript (beispiel für e1000e)

Zum Einbinden der neuen Intel Gigabit Desktop Adapter CT PCIe habe ich folgendes post-install-skript verwendet.

#!/bin/sh

(
echo "running post installation"

# wir befinden uns in / (installation-root)
# zielsystem ist gemountet in /tmp/root

# installation neuer Treiber w/ Unterstuetzung Intel 82574L (Intel Gigabit Desktop Adapter CT)
wget http://192.168.178.11/xen500/driver/e1000e.ko
cp e1000e.ko /tmp/root/lib/modules/2.6.18-92.1.10.el5.xs5.0.0.394.644xen/kernel/drivers/net/e1000e/

# update-pciids
wget http://192.168.178.11/xen500/driver/pci.ids.tbz2
tar xjf pci.ids.tbz2 -C /tmp/root/

# NIC vor- und -nach dem Entladen/Laden
ifconfig -a > /tmp/root/ifconfig-a
modprobe -r e1000e
insmod e1000e.ko
ifconfig -a > /tmp/root/ifconfig-b

# fuer das install-log
ifconfig -a

echo .....
) 2>&1

XENserver 5.0.0 answerfile (automatic installation)

Wenn man den XENserver mittels Auto-Install (ohne PXE) installieren möchte, so kann man die entsprechenden Parameter auch im CD-Boot-Prompt angeben.

boot> /boot/isolinux/mboot.c32 /boot/xen.gz console=tty \
--- /boot/vmlinuz root=/dev/ram0 console=tty0 ramdisk_size=32768 \
answerfile=http://installserver/answer/host/answerfile.xml install \
--- /install.img

Und schon geht es los mit der vollautomatischen XEN Installation.

XENserver 5.0.0 - installation via http-repository

Um XENserver 5.0.0 via http-repository zu installieren (und hier ggf. noch eigene Treiber etc. einbinden zu können) habe ich folgende Schritte vorgenommen:

mkdir -p /data/xenserver/5.0.0/{install,driver}

Kopieren der CD1 (xenserver)
cp -a /media/cdrom0/* /data/xenserver/5.0.0/install/
Kopieren der CD2 (linux support)
cp -a /media/cdrom1/* /data/xenserver/5.0.0/install/
Anpassen des Webservers (httpd.conf)
Alias /xen500 /data/xenserver/5.0.0
Driver-Repository

Eigene Treibermodule können unter /data/xenserver/5.0.0/driver abgelegt werden.

Probleme: Ggf. ist ein Treibermodul bereits geladen und es kann daher ein Modul mit gleichem Namen nicht (über)laden werden. Hier ist (noch) manuell einzugreifen mittels modprobe -r modulname . Ebenso könnte es sein, dass die pci.ids nicht aktuell sind. Dann sind die korrekten im Installationsroot als /usr/share/misc/pci.ids abzulegen.

Booten mit der 1. CD

  • Load a driver
  • Mediatype: HTTP/FTP
  • Repository: http://myserver/xen500/driver

Ggf. muss hier auf Konsole 2 (mittels ALT+F2) o.a. Handarbeit vorgenommen werden.

Alternative: PXEboot

Sonntag, 25. Januar 2009

RHEL52 - java profile

Um in RHEL5 auch immer das passende JAVA mit entsprechenden Umgebungsvariablen gesetzt zu haben und hat man auch stets die "alternatives" angepaßt, so ist die Umgebung in der /etc/profile.d/java bequem zu setzen.

/etc/profile.d/java.sh
#!/bin/sh

JAVA_BIN=`dirname $(/usr/sbin/alternatives --display java | /bin/awk '/Current.*best.*version/ {print $NF}')`
JAVA_HOME=`dirname $JAVA_BIN`
J2RE_HOME=$JAVA_HOME/jre
JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_BIN:$JRE_HOME/bin:$J2RE_HOME/bin:$PATH
export JAVA_BIN JAVA_HOME J2RE_HOME JRE_HOME

XENserver - Automatisches Provisionieren von RHEL5.2

Unter der Annahme, dass wir auf xen211 installieren wollen, können wir folgendermaßen eine Kickstart Installation vornehmen.

#!/bin/sh

TIRI_UUID=$(xe vm-install new-name-label='r5.2-x86_64' template='Red Hat Enterprise Linux 5.2 x64' sr-uuid=$(xe sr-list params=uuid host='xen211' name-label='Local storage'|awk '{print $NF}') on='xen211')
xe vif-create device=0 network-uuid=$(xe network-list params=uuid bridge=xenbr0 | awk '{print $NF}') vm-uuid=$TIRI_UUID

xe vm-param-set uuid=$TIRI_UUID other-config:install-repository=http://192.168.178.10/yum/5Server/os/x86_64
xe vm-param-set uuid=$TIRI_UUID PV-args='graphical utf8 ks=http://192.168.178.10/yum/kickstart/ks-r5.cfg ksdevice=eth0'

xe vm-start uuid=$TIRI_UUID

XENserver - lokale DatenLV erstellen

Um lokale Backups oder andere Sachen bequem ablegen zu können, empfiehlt es sich, eine eigenes Volume zu erzeugen.

Zunächst läßt man sich mittels vgs die verfügbaren Volumegroups anzeigen.

# vgs
VG #PV #LV #SN Attr VSize VFree
VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 1 8 0 wz--n- 457.99G 229.39G
Jetzt kann man in die bestehende VG ein logisches Volume "datalv" erstellen.

# lvcreate -v -L 200G -n datalv VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68
Finding volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68"
Archiving volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" metadata (seqno 10).
Creating logical volume datalv
Creating volume group backup "/etc/lvm/backup/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" (seqno 11).
Found volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68"
Creating VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv
Loading VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv table
Resuming VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv (252:6)
Clearing start of logical volume "datalv"
Creating volume group backup "/etc/lvm/backup/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" (seqno 11).
Logical volume "datalv" created
Die LVs sind noch zu aktivieren, so dass der Host auch Zugriff darauf hat:

# vgchange -ay
8 logical volume(s) in volume group "VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68" now active
Nun noch ein Dateisystem drauf und mounten und das LV steht bereit.

# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
LV-0da77540-0ce3-4293-9718-768d36e5e908 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 8.50G
LV-278f5146-bbea-4220-b216-24ef76f5a8ef VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 4.00G
LV-5cf27ec2-e798-4304-affc-5b7a3dee7e27 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-a- 4.80G
LV-6a4ef2ab-c78f-4de7-ba9d-5d048a7941a6 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 820.00M
LV-80b296d2-9b88-4f98-b3ef-4122d8765374 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 9.50G
LV-9ef4f2e6-23bd-415d-acc0-f8efef3603ef VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 512.00M
LV-a79deac9-8dfe-4136-95a0-4d5fc6adae12 VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-ao 512.00M
datalv VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68 -wi-a- 200.00G
# mkfs.ext3 /dev/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68/datalv
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
26214400 inodes, 52428800 blocks
2621440 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1600 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: 696/1600
...
disable FS-Check
tune2fs -c0 -i0 /dev/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68/datalv
mount

# mkdir -p /data
# mount /dev/VG_XenStorage-05311684-f218-401a-0caa-dfcce1a83d68/datalv /data

df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 3.8G 1.7G 1.9G 48% /
none 377M 0 377M 0% /dev/shm
/dev/mapper/VG_XenStorage--05311684--f218--401a--0caa--dfcce1a83d68-datalv
197G 188M 187G 1% /data

Debian Etch - Apache+PHP5

aptitude install libapache2-mod-php5
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
Building tag database... Done
The following NEW packages will be automatically installed:
apache2-mpm-prefork apache2-utils apache2.2-common libapr1 libaprutil1 php5-common
The following NEW packages will be installed:
apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 php5-common
0 packages upgraded, 7 newly installed, 0 to remove and 2 not upgraded.
Need to get 4533kB of archives. After unpacking 11.1MB will be used.
Do you want to continue? [Y/n/?] y
Writing extended state information... Done
Get:1 http://ftp.debian.org etch/main libapr1 1.2.7-8.2 [109kB]
Get:2 http://ftp.debian.org etch/main libaprutil1 1.2.7+dfsg-2 [68.5kB]
Get:3 http://ftp.debian.org etch/main apache2-utils 2.2.3-4+etch6 [344kB]
Get:4 http://ftp.debian.org etch/main apache2.2-common 2.2.3-4+etch6 [963kB]
Get:5 http://ftp.debian.org etch/main apache2-mpm-prefork 2.2.3-4+etch6 [421kB]
Get:6 http://security.debian.org etch/updates/main php5-common 5.2.0-8+etch13 [214kB]
Get:7 http://security.debian.org etch/updates/main libapache2-mod-php5 5.2.0-8+etch13 [2413kB]
Fetched 4533kB in 7s (629kB/s)
Selecting previously deselected package libapr1.
(Reading database ... 38917 files and directories currently installed.)
Unpacking libapr1 (from .../libapr1_1.2.7-8.2_i386.deb) ...
Selecting previously deselected package libaprutil1.
Unpacking libaprutil1 (from .../libaprutil1_1.2.7+dfsg-2_i386.deb) ...
Selecting previously deselected package apache2-utils.
Unpacking apache2-utils (from .../apache2-utils_2.2.3-4+etch6_i386.deb) ...
Selecting previously deselected package apache2.2-common.
Unpacking apache2.2-common (from .../apache2.2-common_2.2.3-4+etch6_i386.deb) ...
Selecting previously deselected package apache2-mpm-prefork.
Unpacking apache2-mpm-prefork (from .../apache2-mpm-prefork_2.2.3-4+etch6_i386.deb) ...
Selecting previously deselected package php5-common.
Unpacking php5-common (from .../php5-common_5.2.0-8+etch13_i386.deb) ...
Selecting previously deselected package libapache2-mod-php5.
Unpacking libapache2-mod-php5 (from .../libapache2-mod-php5_5.2.0-8+etch13_i386.deb) ...
Setting up libapr1 (1.2.7-8.2) ...

Setting up libaprutil1 (1.2.7+dfsg-2) ...

Setting up apache2-utils (2.2.3-4+etch6) ...
Setting up apache2.2-common (2.2.3-4+etch6) ...
Setting Apache2 to Listen on port 80. If this is not desired, please edit /etc/apache2/ports.conf as desired. Note that the Port directive no longer works.
Module alias installed; run /etc/init.d/apache2 force-reload to enable.
Module autoindex installed; run /etc/init.d/apache2 force-reload to enable.
Module dir installed; run /etc/init.d/apache2 force-reload to enable.
Module env installed; run /etc/init.d/apache2 force-reload to enable.
Module mime installed; run /etc/init.d/apache2 force-reload to enable.
Module negotiation installed; run /etc/init.d/apache2 force-reload to enable.
Module setenvif installed; run /etc/init.d/apache2 force-reload to enable.
Module status installed; run /etc/init.d/apache2 force-reload to enable.
Module auth_basic installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_default installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_user installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_groupfile installed; run /etc/init.d/apache2 force-reload to enable.
Module authn_file installed; run /etc/init.d/apache2 force-reload to enable.
Module authz_host installed; run /etc/init.d/apache2 force-reload to enable.

Setting up apache2-mpm-prefork (2.2.3-4+etch6) ...
Starting web server (apache2)....

Setting up php5-common (5.2.0-8+etch13) ...
Setting up libapache2-mod-php5 (5.2.0-8+etch13) ...

Creating config file /etc/php5/apache2/php.ini with new version
Forcing reload of web server (apache2)... waiting .

# a2enmod rewrite
Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.
# /etc/init.d/apache2 force-reload
Forcing reload of web server (apache2)... waiting .

XENserver - Etch Template und Nacharbeiten

Mit dem Template für Debian Etch 4.0, welches Citrix im XEN Center für das Provisionieren einer Debian Maschine anbietet, wird man noch nicht ganz glücklich, da m.E. einige Nacharbeiten nötig sind.

Anpassen von /etc/hosts

Aktualisieren auf den aktuellsten Stand

aptitude update
aptitude upgrade
aptitude dist-upgrade

Timezone anpassen

tzconfig

Installieren eines gescheiten MTAs: exim+mysql

aptitude install exim-daemon-heavy

Installieren und Aktivieren von Spamassassin

aptitude install spamassassin
perl -pi -e "s|^(ENABLED).*|\1=1|g" /etc/default/spamassassin

Aktivieren weiterer apt-Repositories in /etc/apt/sources.list

deb ftp://ftp2.de.debian.org/debian-volatile stable/volatile main
deb ftp://ftp2.de.debian.org/debian-volatile stable-proposed-updates/volatile main
deb http://www.backports.org/debian/ etch-backports main non-free contrib

aptitude update
aptitude install debian-backports-keyring

Installation von ClamAV

aptitude install clamav-daemon clamav-freshclam
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done
The following NEW packages will be automatically installed:
clamav clamav-base libclamav5 libgmp3c2
The following packages have been kept back:
spamassassin spamc
The following NEW packages will be installed:
clamav clamav-base clamav-daemon clamav-freshclam libclamav5 libgmp3c2
0 packages upgraded, 6 newly installed, 0 to remove and 2 not upgraded.
Need to get 21.1MB of archives. After unpacking 22.9MB will be used.
Do you want to continue? [Y/n/?] y
Writing extended state information... Done
Get:1 http://ftp.debian.org etch/main libgmp3c2 2:4.2.1+dfsg-4 [430kB]
Get:2 ftp://ftp2.de.debian.org stable/volatile/main libclamav5 0.94.dfsg.2-1~volatile1 [516kB]
Get:3 ftp://ftp2.de.debian.org stable/volatile/main clamav-base 0.94.dfsg.2-1~volatile1 [19.5MB]
Get:4 ftp://ftp2.de.debian.org stable/volatile/main clamav-freshclam 0.94.dfsg.2-1~volatile1 [249kB]
Get:5 ftp://ftp2.de.debian.org stable/volatile/main clamav 0.94.dfsg.2-1~volatile1 [229kB]
Get:6 ftp://ftp2.de.debian.org stable/volatile/main clamav-daemon 0.94.dfsg.2-1~volatile1 [229kB]
Fetched 21.1MB in 17s (1219kB/s)
Preconfiguring packages ...
Selecting previously deselected package libgmp3c2.
(Reading database ... 37030 files and directories currently installed.)
Unpacking libgmp3c2 (from .../libgmp3c2_2%3a4.2.1+dfsg-4_i386.deb) ...
Selecting previously deselected package libclamav5.
Unpacking libclamav5 (from .../libclamav5_0.94.dfsg.2-1~volatile1_i386.deb) ...
Selecting previously deselected package clamav-base.
Unpacking clamav-base (from .../clamav-base_0.94.dfsg.2-1~volatile1_all.deb) ...
Selecting previously deselected package clamav-freshclam.
Unpacking clamav-freshclam (from .../clamav-freshclam_0.94.dfsg.2-1~volatile1_i386.deb) ...
Selecting previously deselected package clamav.
Unpacking clamav (from .../clamav_0.94.dfsg.2-1~volatile1_i386.deb) ...
Selecting previously deselected package clamav-daemon.
Unpacking clamav-daemon (from .../clamav-daemon_0.94.dfsg.2-1~volatile1_i386.deb) ...
Setting up libgmp3c2 (4.2.1+dfsg-4) ...

Setting up libclamav5 (0.94.dfsg.2-1~volatile1) ...

Setting up clamav-base (0.94.dfsg.2-1~volatile1) ...

Setting up clamav-freshclam (0.94.dfsg.2-1~volatile1) ...
Starting ClamAV virus database updater: freshclam.

Setting up clamav (0.94.dfsg.2-1~volatile1) ...
Setting up clamav-daemon (0.94.dfsg.2-1~volatile1) ...
Starting ClamAV daemon: clamd LibClamAV Warning: **************************************************
LibClamAV Warning: *** The virus database is older than 7 days! ***
LibClamAV Warning: *** Please update it as soon as possible. ***
LibClamAV Warning: **************************************************
.

Mailserver für Spamassassin, ClamAV, MySQL konfigurieren

aptitude install mysql-server
mysql -u root -p
mysql> grant create, select, insert, update, delete, alter, lock tables on maildb.* to mail@localhost identified by "mailpassword";
mysql> flush privileges;
mysql> quit
Jetzt den mysqldump einspielen...

--
-- Table structure for table `domains`
--

DROP TABLE IF EXISTS `domains`;
CREATE TABLE `domains` (
`userid` char(128) NOT NULL default '',
KEY `userid` (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` char(128) NOT NULL default '',
`crypt` char(128) NOT NULL default '',
`clear` char(128) NOT NULL default '',
`name` char(128) NOT NULL default '',
`uid` int(10) unsigned NOT NULL default '65534',
`gid` int(10) unsigned NOT NULL default '65534',
`home` char(255) NOT NULL default '',
`maildir` char(255) NOT NULL default '',
`quota` char(255) NOT NULL default '',
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Nach Konfiguration in /etc/exim4/{exim4.conf.template,update-exim4.conf.conf} sowie
/etc/exim4/virtual kann der Start des SMTP Gateways erfolgen.

XENserver und Intel Gigabit Desktop Adapter CT


So sieht es aus, wenn alles geklappt hat (erfolgreicher Reboot).

brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.0040d0c0178f no vif1.0
eth0
xenbr1 8000.0040d0c01790 no vif1.5
vif1.1
eth1
xenbr2 8000.001b212a79e9 no vif1.6
vif1.2
eth2
xenbr3 8000.001b2124a3bf no eth3


ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:40:D0:C0:17:8F
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:62812 errors:0 dropped:0 overruns:0 frame:0
TX packets:93075 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9365084 (8.9 MiB) TX bytes:16549743 (15.7 MiB)
Interrupt:19

eth1 Link encap:Ethernet HWaddr 00:40:D0:C0:17:90
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:186335 errors:0 dropped:0 overruns:0 frame:0
TX packets:164096 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:64957085 (61.9 MiB) TX bytes:20894373 (19.9 MiB)
Interrupt:19

eth2 Link encap:Ethernet HWaddr 00:1B:21:2A:79:E9
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:214029 errors:0 dropped:0 overruns:0 frame:0
TX packets:209097 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42632715 (40.6 MiB) TX bytes:32762916 (31.2 MiB)

eth3 Link encap:Ethernet HWaddr 00:1B:21:24:A3:BF
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2280 (2.2 KiB) TX bytes:0 (0.0 b)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1594 errors:0 dropped:0 overruns:0 frame:0
TX packets:1594 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1127385 (1.0 MiB) TX bytes:1127385 (1.0 MiB)

vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:5005 errors:0 dropped:0 overruns:0 frame:0
TX packets:6442 errors:0 dropped:1445 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:505708 (493.8 KiB) TX bytes:792021 (773.4 KiB)

vif1.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:5006 errors:0 dropped:0 overruns:0 frame:0
TX packets:5945 errors:0 dropped:9 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:505870 (494.0 KiB) TX bytes:809236 (790.2 KiB)

vif1.2 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:5006 errors:0 dropped:0 overruns:0 frame:0
TX packets:5981 errors:0 dropped:7 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:505870 (494.0 KiB) TX bytes:752811 (735.1 KiB)

vif1.5 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:158353 errors:0 dropped:0 overruns:0 frame:0
TX packets:188874 errors:0 dropped:7 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:17397693 (16.5 MiB) TX bytes:64640847 (61.6 MiB)

vif1.6 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:204088 errors:0 dropped:0 overruns:0 frame:0
TX packets:219015 errors:0 dropped:5 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:29329520 (27.9 MiB) TX bytes:43206389 (41.2 MiB)

xenbr0 Link encap:Ethernet HWaddr 00:40:D0:C0:17:8F
inet addr:192.168.178.211 Bcast:192.168.178.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:67820 errors:0 dropped:0 overruns:0 frame:0
TX packets:88079 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8740414 (8.3 MiB) TX bytes:15600999 (14.8 MiB)

xenbr1 Link encap:Ethernet HWaddr 00:40:D0:C0:17:90
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10418 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1061210 (1.0 MiB) TX bytes:0 (0.0 b)

xenbr2 Link encap:Ethernet HWaddr 00:1B:21:2A:79:E9
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10432 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1067333 (1.0 MiB) TX bytes:0 (0.0 b)

xenbr3 Link encap:Ethernet HWaddr 00:1B:21:24:A3:BF
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1748 (1.7 KiB) TX bytes:0 (0.0 b)

XEN - Neues Physikalisches Interface ethX wird als __tmp{randomid} angezeigt

Bei der Installation eines neuen Netzwerkadapters wurde dieser zunächst gar nicht erkannt.

lspci zeigt das Gerät als "Unknown Device" an.

08:00.0 Ethernet controller: Intel Corporation Unknown device 10d3

Also habe ich mit Hilfe des kernel-xen-devel Pakets den Treiber für den Intel Corporation Gigabit CT Desktop Adapter von der intel Website recompiliert.

modinfo zeigt die Modulparameter

modinfo e1000e
filename: /lib/modules/2.6.18-92.1.10.el5.xs5.0.0.394.644xen/kernel/drivers/net/e1000e/e1000e.ko
version: 0.5.11.2-NAPI
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation,
srcversion: 32ADA6269A461F57F3D610E
alias: pci:v00008086d000010DFsv*sd*bc*sc*i*
alias: pci:v00008086d000010DEsv*sd*bc*sc*i*
alias: pci:v00008086d000010CEsv*sd*bc*sc*i*
alias: pci:v00008086d000010CDsv*sd*bc*sc*i*
alias: pci:v00008086d000010CCsv*sd*bc*sc*i*
alias: pci:v00008086d000010CBsv*sd*bc*sc*i*
alias: pci:v00008086d000010F5sv*sd*bc*sc*i*
alias: pci:v00008086d000010BFsv*sd*bc*sc*i*
alias: pci:v00008086d000010E5sv*sd*bc*sc*i*
alias: pci:v00008086d0000294Csv*sd*bc*sc*i*
alias: pci:v00008086d000010BDsv*sd*bc*sc*i*
alias: pci:v00008086d000010C3sv*sd*bc*sc*i*
alias: pci:v00008086d000010C2sv*sd*bc*sc*i*
alias: pci:v00008086d000010C0sv*sd*bc*sc*i*
alias: pci:v00008086d00001049sv*sd*bc*sc*i*
alias: pci:v00008086d0000104Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000104Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000104Asv*sd*bc*sc*i*
alias: pci:v00008086d000010C4sv*sd*bc*sc*i*
alias: pci:v00008086d000010C5sv*sd*bc*sc*i*
alias: pci:v00008086d0000104Csv*sd*bc*sc*i*
alias: pci:v00008086d000010BBsv*sd*bc*sc*i*
alias: pci:v00008086d00001098sv*sd*bc*sc*i*
alias: pci:v00008086d000010BAsv*sd*bc*sc*i*
alias: pci:v00008086d00001096sv*sd*bc*sc*i*
alias: pci:v00008086d000010D3sv*sd*bc*sc*i*
alias: pci:v00008086d0000109Asv*sd*bc*sc*i*
alias: pci:v00008086d0000108Csv*sd*bc*sc*i*
alias: pci:v00008086d0000108Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000107Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000107Esv*sd*bc*sc*i*
alias: pci:v00008086d0000107Dsv*sd*bc*sc*i*
alias: pci:v00008086d000010B9sv*sd*bc*sc*i*
alias: pci:v00008086d000010D5sv*sd*bc*sc*i*
alias: pci:v00008086d000010DAsv*sd*bc*sc*i*
alias: pci:v00008086d000010D9sv*sd*bc*sc*i*
alias: pci:v00008086d00001060sv*sd*bc*sc*i*
alias: pci:v00008086d000010A5sv*sd*bc*sc*i*
alias: pci:v00008086d000010BCsv*sd*bc*sc*i*
alias: pci:v00008086d000010A4sv*sd*bc*sc*i*
alias: pci:v00008086d0000105Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000105Esv*sd*bc*sc*i*
depends:
vermagic: 2.6.18-92.1.10.el5.xs5.0.0.394.644xen SMP mod_unload Xen 686 REGPARM gcc-4.1
parm: copybreak:Maximum size of packet that is copied to a new buffer on receive (uint)
parm: TxIntDelay:Transmit Interrupt Delay (array of int)
parm: TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm: RxIntDelay:Receive Interrupt Delay (array of int)
parm: RxAbsIntDelay:Receive Absolute Interrupt Delay (array of int)
parm: InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm: IntMode:Interrupt Mode (array of int)
parm: SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm: KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
parm: CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC (array of int)

Nach dem Einbinden des Moduls e1000e wurde der Adapter korrekt erkannt:

08:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
Subsystem: Intel Corporation Gigabit CT Desktop Adapter
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at d9cc0000 (32-bit, non-prefetchable) [size=128K]
Memory at d9c00000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 3000 [size=32]
Memory at d9ce0000 (32-bit, non-prefetchable) [size=16K]
[virtual] Expansion ROM at d9f00000 [disabled] [size=256K]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [e0] Express Endpoint IRQ 0
Capabilities: [a0] MSI-X: Enable- Mask- TabSize=5
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number bf-a3-24-ff-ff-21-1b-00
Das Interface taucht allerdings noch gar nicht auf, da wir es XENserver noch nicht bekannt gemacht haben.

xe pif-scan host-uuid=9f3466c1-1d70-4d98-bdd3-afd5a2996e13

Aber leider taucht das Interface nicht als ethX, sondern als __tmp{randomid} auf

ifconfig -a
__tmp318865039 Link encap:Ethernet HWaddr 00:1B:21:24:A3:BF
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Abhilfe schafft folgendes Vorgehen:

Löschen aller Referenzen auf __tmp318865039 in /etc/sysconfig/network-scripts (Es gibt dort Dateien a la .ifcfg-br__tmp318865039.xapi-new oder .ifcfg-__tmp318865039.xapi-new oder .route-br__tmp318865039.xapi-new )

$ xe pif-list
uuid ( RO) : 6b572955-4aae-e1f3-4018-d11a9a98ed29
device ( RO): __tmp318865039
currently-attached ( RO): false
VLAN ( RO): -1
network-uuid ( RO): 990842bd-8866-d424-3366-aba9046e99a0


uuid ( RO) : 050494a9-090b-b654-4a05-b364a4ba508e
device ( RO): eth2
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 4855b551-0ef1-98ef-8387-fd38f94b7ec9


uuid ( RO) : e9f57ef3-1771-6fe3-fce6-7e79d9a91c6e
device ( RO): eth1
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 3d7d2980-6dcf-431b-d6b3-95b4df524f60


uuid ( RO) : f7c7ad6e-b93c-7b01-2381-a062ba3d847e
device ( RO): eth2
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 4855b551-0ef1-98ef-8387-fd38f94b7ec9


uuid ( RO) : 592ce38a-3be3-fc98-a0ce-edb1bfa5080b
device ( RO): eth0
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 22c9dc52-bdb6-0573-7a89-783477cb4975


uuid ( RO) : 31def702-991e-5cee-7227-996207516c81
device ( RO): eth0
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 22c9dc52-bdb6-0573-7a89-783477cb4975


uuid ( RO) : ac711922-d7b3-9b56-13dc-a4a676fae998
device ( RO): eth1
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 3d7d2980-6dcf-431b-d6b3-95b4df524f60
"Vergessen" der fehlerhaften Einbindung

xe pif-forget uuid=6b572955-4aae-e1f3-4018-d11a9a98ed29
Einbinden mittels pif-introduce

xe help pif-introduce
command name : pif-introduce
reqd params : host-uuid, mac, device
optional params :
description : Create a new PIF object representing a physical interface on a host
xe pif-introduce host-uuid=9f3466c1-1d70-4d98-bdd3-afd5a2996e13 mac=$MAC device=eth3
Alles ist OK

xe pif-list
uuid ( RO) : 050494a9-090b-b654-4a05-b364a4ba508e
device ( RO): eth2
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 4855b551-0ef1-98ef-8387-fd38f94b7ec9


uuid ( RO) : e9f57ef3-1771-6fe3-fce6-7e79d9a91c6e
device ( RO): eth1
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 3d7d2980-6dcf-431b-d6b3-95b4df524f60


uuid ( RO) : f7c7ad6e-b93c-7b01-2381-a062ba3d847e
device ( RO): eth2
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 4855b551-0ef1-98ef-8387-fd38f94b7ec9


uuid ( RO) : 592ce38a-3be3-fc98-a0ce-edb1bfa5080b
device ( RO): eth0
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 22c9dc52-bdb6-0573-7a89-783477cb4975


uuid ( RO) : 31def702-991e-5cee-7227-996207516c81
device ( RO): eth0
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 22c9dc52-bdb6-0573-7a89-783477cb4975


uuid ( RO) : ac711922-d7b3-9b56-13dc-a4a676fae998
device ( RO): eth1
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 3d7d2980-6dcf-431b-d6b3-95b4df524f60


uuid ( RO) : 95485b20-442e-4cf3-7fa6-1c4c26f812c9
device ( RO): eth3
currently-attached ( RO): false
VLAN ( RO): -1
network-uuid ( RO): 47ab1694-6933-1ef9-984b-79eb05469343

tiri Virtual Infrastructure Impressions Blog ist online

Das Blog, in dem wir unsere Erfahrungen am "lebenden Objekt" mit Produkten der virtuellen Infrastruktur (XEN, VMware, qemu, kvm, VirtualBox, etc.) kundtun.

Es werden hier lediglich unsere Erfahrungen dargestellt, sie stellen keine Empfehlungen oder Verfahrensanweisungen dar. Sie können für andere funktionieren, aber ebenso auch nicht...

RHEL52 - yum.repos.d

## epel.repo
[epel]
name=Extra Packages for Enterprise Linux 5 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 5 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch/debug
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 5 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/5/SRPMS
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

## epel-testing.repo
[epel-testing]
name=Extra Packages for Enterprise Linux 5 - Testing - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/testing/5/$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=testing-epel5&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux 5 - Testing - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/testing/5/$basearch/debug
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=testing-debug-epel5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

[epel-testing-source]
name=Extra Packages for Enterprise Linux 5 - Testing - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/testing/5/SRPMS
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=testing-source-epel5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

## rhel5Server.repo
[Server]
name=RedHat-$releasever - Server
baseurl=http://192.168.178.10/yum/$releasever/os/$basearch/Server
gpgcheck=1
gpgkey=http://192.168.178.10/yum/$releasever/os/$basearch/RPM-GPG-KEY-redhat-release
protect=1

## rhel-debuginfo.repo
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

## XenSource.repo
[xensource]
name=XenServer 5.0.0 updates for rhel5x
mirrorlist=http://updates.xensource.com/XenServer/5.0.0/rhel5x/mirrorlist
#baseurl=http://updates.xensource.com/XenServer/5.0.0/rhel5x/
gpgcheck=1
gpgkey=http://updates.xensource.com/XenServer/RPM-GPG-KEY-5.0.0
enabled=1