cloud_computing_network_data

| Veröffentlicht:

| Lesezeit:

3 minutes

| Verfasser:

| Einfache Lösungen für ein komplexes Problem

  1. Behebung von Linux-Cloud-Tools-Common in Ubuntu auf Azure
  2. Die langfristige Lösung: Cloud-Tools-Common auf Ubuntu 14.04 LTS

In einem früheren Beitrag haben wir ein Problem beschrieben, das bei der Durchführung von Updates unter Ubuntu 14.04 LTS im Microsoft Azure Cloud Network auftrat.

Setting up linux-cloud-tools-common (3.13.0-36.63) ...
start: Job failed to start
invoke-rc.d: initscript HV-kvp daemon, action "start" failed.
dpkg: error processing linux package cloud-tools-common (--configure): subprocess installed post-installation script Returned error exit status 1
dpkg: dependency problems preventinfo configuration or linux-cloud-tools-3.13.0-34: linux-cloud-tools-3.13.0-34 depends on linux-cloud tools-common; HOWEVER: Package linux-cloud-tools-common is not configured yet.

Da wir dieses Problem nicht beheben konnten, haben wir die Linux- und Server-Community um Hilfe gebeten, aber entweder keine Antwort oder keine hilfreichen Vorschläge erhalten. Es gab und gibt zwar nicht viele Beispiele für andere, die dieses Problem hatten, aber wir haben festgestellt, dass es in allen Fällen ein Problem mit Ubuntu im Azure-Netzwerk war.

Schon nach kurzer Zeit traten weitere Probleme auf, wenn wir versuchten, andere Pakete zu aktualisieren oder zu installieren. Durch diese Verkettung von Problemen war es uns nicht möglich, Apache auf dem am stärksten betroffenen Rechner neu zu starten, so dass wir uns in einer Notsituation befanden.

Schließlich fanden wir einige Hinweise, die uns zu einem Workaround führten, der es uns ermöglichte, das System auf dem neuesten Stand und voll funktionsfähig zu halten. Dies bedeutete jedoch, dass eine Serverkonfigurationsdatei manuell bearbeitet, die Aktualisierung durchgeführt und die Datei anschließend wiederhergestellt werden musste. Das war besser als nichts, aber letztlich mühsam und repetitiv. Im Laufe der Zeit haben wir mit der obigen Lösung eine enorme Menge an Traffic auf unseren Blogpost bekommen, und offensichtlich wenig Hoffnung auf eine langfristige Lösung.

Es verging viel Zeit, bis wir schließlich einen Kommentar erhielten , in dem eine längerfristige Lösung vorgeschlagen wurde. Diese Lösung schlug vor, einen Sym-Link zu erstellen, der im Wesentlichen einen Alias für die fehlende Datei erzeugt und auf eine vorhandene Datei verweist. Auch dies schien eine ermutigende Entwicklung zu sein, aber es wurden keine Einzelheiten dazu genannt, wie dies zu tun ist. Weitere Lektüre auf der Ubuntu-Bugs-Website deutet darauf hin, dass die fehlende Datei einfach falsch benannt wurde oder dass der berüchtigte Befehl “exec /usr/sbin/hv_kvp_daemon” eigentlich lauten müsste: “exec /usr/sbin/hv_kvp_daemon.hv-kvp-daemon-init”.

Auf jeden Fall wussten wir jetzt, dass die Kommentare, die wir erhielten, in die richtige Richtung einer dauerhaften Lösung gingen. Daher haben wir nun zwei Möglichkeiten, eine langfristige Lösung zu finden, die wir im Folgenden näher erläutern.

Fix 1: Die Datei Umbenennen

  1. Melden Sie sich an Ihrem Terminal an:
  2. führen Sie den folgenden Code aus:
mv /usr/sbin/hv_kvp_daemon /usr/sbin/hv_kvp_daemon.hv-kvp-daemon-init

Diese Methode benennt die Datei ‘/usr/sbin/’ um.hv_kvp_Daemon.hv-kvp-Daemon –init’ nach ‘/usr/sbin/hv_kvp_Daemon.hv-kvp-daemon’ und ermöglicht, dass ‘hv-kvp-daemon.conf’ wie erwartet ausgeführt wird. Es ist jedoch möglich, dass ein Teil des Servers zu einem bestimmten Zeitpunkt ‘/usr/sbin/hv_kvp_daemon.hv-kvp-daemon-init’ ausführen muss. Da diese Datei dann nicht mehr existiert, kann es zu Problemen kommen.

Fix 2: Die symbolische Verbindung

  1. Melden Sie sich an Ihrem Terminal an:
  2. führen Sie den folgenden Code aus:
ln -s /usr/sbin/hv_kvp_daemon.hv-kvp-daemon-init /usr/sbin/hv_kvp_daemon

Schlussfolgerung

Insgesamt haben wir jetzt 3 funktionierende Lösungen für das Problem, aber jede hat ihre Tücken. Die ursprüngliche Lösung, die wir empfehlen, wurde im letzten Jahr erprobt und getestet, und wir haben keine Berichte über Probleme erhalten. Bei dieser Methode müssen Sie zwar die Datei “hv-kvp-daemon.conf” manuell bearbeiten, die Aktualisierung durchführen und anschließend die Datei “hv-kvp-daemon.conf” wiederherstellen, aber zumindest wird das System in den ursprünglichen Zustand versetzt. Im schlimmsten Fall kann ein Neustart des Systems einen normalen Start gewährleisten.

Die beiden oben beschriebenen Optionen bieten jedoch die Möglichkeit, die Korrektur zu setzen und das System dann in Ruhe zu lassen. Allerdings kann es in der Folgezeit zu Problemen kommen. Im Fall von Fix 1: Umbenennen der Datei benennen Sie die Datei physisch um, so dass alle Aktionen auf dem Server, die den alten Dateinamen erfordern, zu einem Problem führen. Wer weiß, ob oder wann dies geschieht und welche Folgen es haben könnte?

Fix 2: Der symbolische Link bietet alle Vorteile der Dateiumbenennung, ohne dass die Datei tatsächlich umbenannt werden muss. Beide Versionen des Dateinamens stehen dem System also bei Bedarf zur Verfügung, so dass es hier keine Probleme geben sollte. Ich kann mich jedoch daran erinnern, dass symbolische Links möglicherweise Probleme mit Abhängigkeiten und Befehlen wie “Autoremove” verursachen können. Ich bin kein Ubuntu-Experte und kann mich nicht an die Einzelheiten der obigen Aussage erinnern, aber es ist etwas, das man im Hinterkopf behalten sollte.

Die sauberste Lösung wird also wahrscheinlich durch die Implementierung des symbolischen Links erreicht. Wenn Sie sich jedoch weniger sicher sind und/oder sich noch nicht so gut mit Ubuntu auskennen, empfehlen wir Ihnen die manuelle Bearbeitung der Datei “hv-kvp-daemon.conf”, wie in unserem vorherigen Beitrag beschrieben.

Lassen Sie uns in den Kommentaren wissen, wie Sie mit den verschiedenen Lösungen für das linux-cloud-tools-common Problem zurechtkommen. Wenn Sie irgendwelche Gedanken, Fragen oder Kommentare haben, lassen Sie es uns unten wissen.