Moved NVMe SSD - Change in IP?

iGPU

New Member
May 4, 2020
9
6
3
64
Due to lane sharing issues, I moved a perfectly working NVMe SSD containing Proxmox from one mobo slot to another in the main desktop computer. Prior to the move, I was only logging in from a laptop on same network to control via SSH the VM. After switching to a different slot, the computer seems to boots the same, but I can no longer log in at the old IP (which had been 192.168.1.155:8006).

I've literally checked all other visible and invisible IPs and cannot log into the host. One other problem is that the host monitor only now shows "Loading Linux 5.4.30-10prev ..." and "Loaing initial ramdisk..." and has no command line to work with, so my only access was via the laptop: during use, I was no longer prompted to enter PW on host, but only via the SSH GUI interface on laptop.

So, while I can switch the NVMe back to the original slot to use it, I still don't know/understand what effect switching slots had on the log-in IP, and I really want to test the new slot position without having to re-format and re-install the drive for for testing at the new position.

Is there a way to fix it, or anticipate how the IP/log-in changes with NVMe slot position? Thanks for any help.
 
Moving an NVMe or other device may in fact change the name of network adapters. The reason for this is systemd's "predictable" network names. By default it computes the name from the PCIe bus address your NIC is on, if you change PCIe devices around, which NVMe is one, it may (or may not) change the address of the NIC indirectly and thus it gets another name.

See: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

For fixing it for you please check the available NICs and adapt the network config to the name change, it should be possible to do this over the GUI (if you can still reach it).

Else use the following command to get a list of all the Network adapter (physical and virtual ones):
Bash:
ip -c addr

Adapt the /etc/network/interfaces, normally you just need to change the "slave-port" of vmbr0. If unsure post the config/command-output here and we can advise.
 
  • Like
Reactions: fabiosun
Moving an NVMe or other device may in fact change the name of network adapters. The reason for this is systemd's "predictable" network names. By default it computes the name from the PCIe bus address your NIC is on, if you change PCIe devices around, which NVMe is one, it may (or may not) change the address of the NIC indirectly and thus it gets another name.

See: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

For fixing it for you please check the available NICs and adapt the network config to the name change, it should be possible to do this over the GUI (if you can still reach it).

Else use the following command to get a list of all the Network adapter (physical and virtual ones):
Bash:
ip -c addr

Adapt the /etc/network/interfaces, normally you just need to change the "slave-port" of vmbr0. If unsure post the config/command-output here and we can advise.

Thanks for reply.

Running "ip addr" (I'm using macOS laptop, so had to install iproute2mac, and it has no "-c" option) gives result in Spoiler.

Worse news is that I moved NVMe drive back to original location and I still cannot get into it. It did not revert back to old IP. I'm surprised it is not the same. If this changes so much, how can one do a backup to a different drive and expect to use that backup if everything changes?

The "ip addr" results are same from new location and old location, after re-locating NVMe to original site. GUI is still not accessible as it had been before original move.

While I'm waiting to fix this drive. I'll do fresh install on a SATA SSD at a completely different address to see what happens.

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1/8 lo0
inet6 ::1/128
inet6 fe80::1/64 scopeid 0x1

en3: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:00:11:22
inet6 fe80::aede:48ff:fe00:1122/64 scopeid 0x7

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
(laptop data)

awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
ether e6:4f:66:79:d1:1a
inet6 fe80::e44f:66ff:fe79:d11a/64 scopeid 0xb

utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::9f46:7b5c:7b9c:5702/64 scopeid 0xf

utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::cb77:2d86:3dd3:5e59/64 scopeid 0x10

utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::dab6:1498:21f8:7c70/64 scopeid 0x11

utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::1011:5675:14d9:f315/64 scopeid 0x12
 
Running "ip addr" (I'm using macOS laptop, so had to install iproute2mac, and it has no "-c" option) gives result in Spoiler
Hmm, that command should be run on the Proxmox VE box, which has ip installed by default.

Can you tell a bit more about the network setup in general?
 
Hmm, that command should be run on the Proxmox VE box, which has ip installed by default.

Can you tell a bit more about the network setup in general?

The lack of a command line is part of my problem. After the initial install, all I see on the host monitor are 2 lines with a non-flashing bar beneath the lines:

Loading Linux 5.3.18-2-prev ...
Loading initial ramdisk ...
_


So I have no access except from laptop (running GUI). I would like to change that. On the new install I just did to a separate SATA SSD, after the initial install, it too has only the same 2 lines without a command line entry point. I am controlling it through the laptop. I'd like to know how to force host monitor to maintain a command line that I could access.

As for local network, it's pretty simple:
cable modem ---> router (EdgeRouter 4)

router
|----> 1GB switch --> host (no wifi used) ----> Ethernet (1 controller left for host; was 192.168.155)
|----> wifi --> laptop |----------> pass-through Ethernet for guest (1 controller passed; appeared as 192.168.1.x)

The above schematic doesn't stay organized, so to clarify: cable modem to router. The router goes to several switches and a wifi unit. The wifi supplies house for wireless needs including the laptop. Meanwhile, one hard-wired switch is hard wired to the Proxmox computer. I pass one of the two Ethernet controllers to the guest and keep one for the host. The guest is macOS based. This system without change has worked well over past week and only suddenly seemed to break when I moved the Proxmox NVMe drive.

I now have temporarily removed the Proxmox NVMe drive and re-installed Proxmox on the above-mentioned SATA SSD. I got everything re-set and tried to boot into macOS. There was some problem (I've having another problem in pass-through a Thunderbolt PCIe card (I can pass the NHI and USB sections but not the other parts marked as using driver "pcieport"). Having those parts in can prevent the VM from running and seems to occasionally crash the host. It did that here. And guess what? The laptop won't log into the host. I can see the host on the network. It is at 192.168.1.146:8006. But I now get a "refused to connect" error.

The main reason I moved the NVMe drive was thinking that the Thunderbolt problem is related to lane sharing issues, as both the X570 and TRX40 platforms have annoying PCIe/NVMe issues (while Intel, instead, seems to share SATA/NVMe lanes, an easier problem). The machine I'm using for the host/guest is a TRX40 with a 3970X CPU; GPU is Radeon VII.

As for the EdgeRouter, after the trouble began, I added to the Firewall Policy, an Accept rule for source covering the IP range that I've been assigning the host machine, and entering the port 8006 (although EdgeRouter normally indicates port 20-22). But this didn't help.

I've also tried access from 2 different browsers (Firefox and Chrome) as well as another computer that uses same Ethenet connection to same switch. Again, none of these connected.
 
Last edited:
The lack of a command line is part of my problem. After the initial install, all I see on the host monitor are 2 lines with a non-flashing bar beneath the lines:

Loading Linux 5.3.18-2-prev ...
Loading initial ramdisk ...
_
----

Hi, for this problem you can try to unblacklisting some driver in blacklist.conf
For TRX40 it seems not useful to block driver, and unblocking nouveau and Nvidia will allow you to access to your shell also in your AMD rig
Passed PCI device drop automatically linux driver (it seems to me) and use vfio one...
 
Last edited:
  • Like
Reactions: iGPU
Hi, for this problem you can try to unblacklisting some driver in blacklist.conf
For TRX40 it seems not useful to block driver, and unblocking nouveau and Nvidia will allow you to access to your shell also in your AMD rig
Passed PCI device drop automatically linux driver (it seems to me) and use vfio one...

Blacklisting "amdgpu" prevented seeing the command line on the host monitor.
 
  • Like
Reactions: fabiosun

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!