Proxmox Virtual Environment(PVE) is a popular virtual computing system based on KVM. It’s open source and highly customizable. Even though I get used to Esxi
, I want to give PVE a try on my home server.
The installation is pretty smooth following the instruction, and I successfully had the PVE 6 installed on a USB disk as the boot device of my server. But afterwards I found that I can’t access the web gui via url: https://x.x.x.x:8006/
, which supposes to be the management entry to the system. The browser displayed a connection error after a few seconds without any response.
To debug the issue, I had tried:
- switching to different popular browsers, didn’t work;
- fresh installing different versions of PVE:
6.3-1
and6.2-1
, same issue occurred; - comparing SHA hash of the downloaded iso image, incase some download corrupted errors, but actually hash values are same with provided.
After a few trials and errors, I got a little frustrated, and became doubting the stability of the PVE. It seldomly occurred that I can’t access a system after a fresh installation, compared to Esxi, which I had no any problem to access its web gui.
After a few online searches, some helpful instructions on the forum.proxmox.com helped me to locate the issue.
I ssh to the installed PVE system, and did some Linux cmds debugging. The information of systemctl status pve-cluster.service
is as below:
# systemctl status pve-cluster.service
● pve-cluster.service - The Proxmox VE cluster filesystem
Loaded: loaded (/lib/systemd/system/pve-cluster.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2021-02-09 22:09:24 EST; 15s ago
Process: 1494 ExecStart=/usr/bin/pmxcfs (code=exited, status=255/EXCEPTION)
...
Feb 09 22:09:24 localhost systemd[1]: pve-cluster.service: Failed with result 'exit-code'.
Feb 09 22:09:24 localhost systemd[1]: Failed to start The Proxmox VE cluster filesystem.
-- The unit pvesr.service has entered the 'failed' state with result 'exit-code'.
Feb 09 22:16:00 localhost systemd[1]: Failed to start Proxmox VE replication runner.
...
-- The job identifier is 2800 and the job result is failed.
Feb 09 22:16:01 localhost pveproxy[1849]: worker exit
...
Feb 09 22:16:01 localhost pveproxy[1861]: /etc/pve/local/pve-ssl.key: failed to load local private key (key_file or key) at /usr/share/perl5/PV
Feb 09 22:16:01 localhost pveproxy[1862]: /etc/pve/local/pve-ssl.key: failed to load local private key (key_file or key) at /usr/share/perl5/PV
...
So the pie-cluster.service
didn’t even starting successfully, and the key error information is:
Feb 09 22:16:01 localhost pveproxy[1861]: /etc/pve/local/pve-ssl.key: failed to load local private key (key_file or key) at /usr/share/perl5/PV
And also the result information of journalctl -u pve-cluster
is as below:
# journalctl -u pve-cluster
-- Logs begin at Tue 2021-02-09 22:02:18 EST, end at Tue 2021-02-09 22:26:50 EST. --
Feb 09 22:02:22 localhost systemd[1]: Starting The Proxmox VE cluster filesystem...
Feb 09 22:02:22 localhost pmxcfs[947]: [main] crit: Unable to get local IP address
Feb 09 22:02:22 localhost pmxcfs[947]: [main] crit: Unable to get local IP address
Feb 09 22:02:22 localhost systemd[1]: pve-cluster.service: Control process exited, code=exited, status=255/EXCEPTION
Feb 09 22:02:22 localhost systemd[1]: pve-cluster.service: Failed with result 'exit-code'.
Feb 09 22:02:22 localhost systemd[1]: Failed to start The Proxmox VE cluster filesystem.
Feb 09 22:02:22 localhost systemd[1]: pve-cluster.service: Service RestartSec=100ms expired, scheduling restart.
The key error information is:
Feb 09 22:02:22 localhost pmxcfs[947]: [main] crit: Unable to get local IP address`
Based on the two error hinted information, I finally found the solution1, as I quote here:
The problem probably is in /etc/hosts and your hostname (as far as I can see):
* your shell usually includes the hostname – and it looks like the hostname of the server is debian (hostname -f
andcat /etc/hostname
should have the authoritative answer).
* your /etc/hosts contains the entry192.168.1.3 proxmox pvelocalhost
– so, if you have the ip 192.168.1.3 configured, it would expect the hostname to be proxmox.* get rid of the line
127.0.1.1 debian
unless you need it
* set your hostname, and adapt /etc/hosts to contain the proper hostname
There are a few host entries on the /etc/hosts
file after the PVE installation:
127.0.0.1 localhost.localdomain localhost
192.168.*.* localhost.xxx localhost
…
It seems to me that the first entry is added by default, and the second entry was added during the installation process of PVE, which it needs to configure the IP address and hostname of the system.
After the system rebooted, the first host was somehow conflicted with the second one, and resulted in the aforementioned issue.
After commented out the first entry, the issue had been fixed and I can access the web gui without any problem.
Thanks, this issue still happens in pve 8.0
thanks you for you article and it inspired me to solve my problem.