@tlehrian Ok here is what we are seeing. When FOS Linux boots, the nvme drives initialize (become ready to the os) at different times. Sometimes drive A is ready first and other times drive B is ready first. Well when linux boots what ever drive inits first becomes /dev/nvme01 and the second one becomes /dev/nvme02. This is not an issue with FOG or linux, its an issue between the linux OS and the hardware.
So what we need is to run a utility with a few commands to help us detect which drive is which in each state. The switch is totally at random so we can’t predict the order using linux. So what I need you (as a tester) to do is to pxe boot the target computer multiple times to record the settings when the drives are in a normal and then reversed order. If we are lucky you will see this swap within 10 pxe boots.
Here is what I want you to do:
- Download this updated init from here: https://fogproject.org/inits/init_nvme-cli.xz
- Rename the original inits in `/var/www/html/fog/service/ipxe init.xz to init.xz.sav
- Move the downloaded file to that directory and save as init.xz
- Pick one of these dual drive nvme computers and schedule a deploy task to it. But before you hit the schedule task button tick the debug checkbox then schedule the task.
- PXE boot the target computer. After a few screens of text where you need to press enter to clear you will be dropped to the FOS Linux command prompt.
- At the FOS Linux command prompt run this command
lsblk
to note the size and order of the nvme disk. Use disk size to be your guide in determining the order. So this is state 1.
6.1 You can use these steps if you want to setup remote debugging. Its easier to do the copy and paste of commands from putty. You don’t need to, its just one option.
6.2 At the FOS Linux command prompt key inip addr show
and collect the IP address of the FOS Linux computer.
6.3 Give root a password withpasswd
. Just give it a simple password like hello. The password will be reset on the next reboot. So don’t worry.
6.4 From a windows computer use putty to ssh into the FOS Linux computer. Login as root and the password you created in step 6.3 - At the FOS Linux command prompt key in the following and post the results here
nvme list
. If the nvme command isn’t known then the downloaded inits are not in the right spot. - Key in the following command and post the result(s) here
nvme id-ctrl /dev/nvme0n1 -H
and (I’m guessing at the name since I don’t have a dual nvme system, use the name from thelsblk
command above)nvme id-ctrl /dev/nvme0n2 -H
- Now reboot the FOS Linux computer with ctrl-alt-del or key in
reboot
at the FOS Linux command prompt. The system should PXE boot right back into FOS Linux in debug mode. - Use the
lsblk
command to determine the disk order. We are looks for the order of the drives when they switch places. If you can’t get them to switch then power off the system instead of rebooting to see if we can get them to switch. The key is to capture the output of thenvme
command in both states.