Virtuozzo CentOS VE mit veth Fehler: sysfs class device: Invalid argument
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. |
---|
Bei der Verwendung von veth Devices in einem CentOS 4 VE mit Updatestand CentOS 4.7 treten bei der Konfiguration eines veth Devices folgende Fehler auf:
Bringing up interface eth0: sysfs class device: Invalid argument
Error, some other host already uses address 10.20.1.101.
Ursache ist eine aktualisierte Version des arping Kommandos.
Problembeschreibung
Bei der Konfiguration eines veth Devices für ein VE mit CentOS 4.7 kommt es zu dem folgenden Fehler. Mit älteren CentOS Versionen bis inklusive 4.6 tritt das Problem nicht auf.
[root@sr2500test-node1 ~]# vznetcfg br new bridgeEth2 networkEth2 [root@sr2500test-node1 ~]# vznetcfg br attach networkEth2 eth2 [root@sr2500test-node1 ~]# vzlist 104 VEID NPROC STATUS IP_ADDR HOSTNAME 104 11 running centos4test [root@sr2500test-node1 ~]# vzctl exec 104 cat /etc/redhat-release CentOS release 4.7 (Final) [root@sr2500test-node1 ~]# vzctl set 104 --netif_add eth0 --save Configure veth devices: veth104.0 Saved parameters for VE 104 [root@sr2500test-node1 ~]# vzctl set 104 --ifname eth0 --network networkEth2 --ipadd 10.20.1.101/255.255.255.0 --gw 10.20.1.1 --save Configure veth devices: Configure bridged network... Error, some other host already uses address 10.20.1.101. Shutting down interface eth0: [ OK ] Shutting down interface venet0: [ OK ] Shutting down loopback interface: [ OK ] Setting network parameters: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: sysfs class device: Invalid argument Error, some other host already uses address 10.20.1.101. [FAILED] Bringing up interface venet0: [ OK ] Saved parameters for VE 104 [root@sr2500test-node1 ~]#
Ursache
Die in CentOS 4.7 aktualisierte Version des arping Kommandos überprüft Einträge im /sys/ (sysfs) Verzeichnis durch die ergänzte Infiniband Unterstützung[1][2]. Bei den CentOS 4 VEs ist aber die Virtualisierung des sysfs nicht standardmäßig aktiviert. Daher scheitert ab CentOS 4.7 die korrekte Ausführung des arping Kommandos in einem Virtuozzo VE.
Lösung
Die Aktivierung der sysfs Virtualisierung behebt das Problem. Dazu muss in der VE Konfiguration bei der Variable TECHNOLOGIES der Wert sysfs ergänzt werden. Nach einem Neustart des VE funktioniert dann arping im VE und somit auch die veth Konfiguration:
[root@sr2500test-node1 ~]# grep TECHNOLOGIES /etc/vz/conf/104.conf TECHNOLOGIES="x86_64 nptl" [root@sr2500test-node1 ~]# vi /etc/vz/conf/104.conf [root@sr2500test-node1 ~]# grep TECHNOLOGIES /etc/vz/conf/104.conf TECHNOLOGIES="sysfs x86_64 nptl" [root@sr2500test-node1 ~]# vzctl set 104 --netif_del eth0 --save Deleting veth devices: veth104.0 Saved parameters for VE 104 [root@sr2500test-node1 ~]# vzctl restart 104 Restart VE Stopping VE ... VE was stopped VE is unmounted Starting VE ... VE is mounted Setting devperms 20002 dev 0x7f00 Adding port redirection to VE(1): 4643 8443 Hostname for VE set: centos4test Setting devperms 60010 dev 0x20 VE start in progress... [root@sr2500test-node1 ~]# vzctl set 104 --netif_add eth0 --save Configure veth devices: veth104.0 Saved parameters for VE 104 [root@sr2500test-node1 ~]# vzctl set 104 --ifname eth0 --network networkEth2 --ipadd 10.20.1.101/255.255.255.0 --gw 10.20.1.1 --save Configure veth devices: Configure bridged network... Shutting down interface eth0: [ OK ] Shutting down interface venet0: [ OK ] Shutting down loopback interface: [ OK ] Setting network parameters: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ] Bringing up interface venet0: [ OK ] Saved parameters for VE 104 [root@sr2500test-node1 ~]#
Referenzen
Weitere Informationen
- Debuggen von BASH Skripten mit sh -x - dieser Artikel beschreibt konkret wie wir dieses Problem mit sh -x erfolgreich eingrenzen konnten.
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.
|