Storage Node Pxe not working
-
you can just run the fog installer in normal mode - let it finish - do the DB schema update and all that jazz.
then, edit this file: /opt/fog/.fogsetting
and set the installation mode to just storage node only - then rerun the installer.
This way - all the tftp stuff and permissions and files will be setup for you.
-
@dinkhadinkha I’m confused. You’re installing the system as a storage node but expecting tftp to be installed as well? This is not possible. Not with the installer at least. The closest you could come is to install the node as normal. Once the first installation is complete edit the fogsettings file so the snmysqlhost setting is set to look at the real servers db host. That way you can update as normal and even maintain the ipxe files when there are updates.
-
Hello Tom,
We followed the instructions here https://wiki.fogproject.org/wiki/index.php/Multiple_TFTP_servers for redhat. Now is the storage node supposed to be on our main fog server correct (just making sure)? -
Hey Wayne,
If we run the fog installer as normal mode then make the changes like you suggested, what are we actually accomplishing?
We are looking for a central fog server that will sync our images to other site’s fog storage nodes. The other sites’ storage nodes would be able to offer PXE and TFTP services for their clients to boot and then image from the local storage node. There are people claiming this can be done with pieces of documentation across the web and this forum. However, the error that @dinkhadinkha is referring to is when the other sites’ system attempts to PXE boot it only gets so far then errors out with the message “http://10.X.X.X.X/fog/services/ipxe/boot.php no such file or directory. Could not boot ipxe.org/2d12603b”
Is this due to some improper installation, missing file, or something else we are missing?
-
@abstert What I said was a method of getting the tftp services and boot files you need on those storage nodes so those nodes can be used to network boot from via TFTP.
@Tom-Elliott offered a more refined solution - and I would suggest going with what he said. His method is actually more robust in the long run and it’s no harder to do… and you know… he IS the senior developer so he does know how things are supposed to work.
Please report back with your progress so that we can continue to offer assistance.
-
@abstert said:
Hey Wayne,
If we run the fog installer as normal mode then make the changes like you suggested, what are we actually accomplishing?
We are looking for a central fog server that will sync our images to other site’s fog storage nodes. The other sites’ storage nodes would be able to offer PXE and TFTP services for their clients to boot and then image from the local storage node. There are people claiming this can be done with pieces of documentation across the web and this forum. However, the error that @dinkhadinkha is referring to is when the other sites’ system attempts to PXE boot it only gets so far then errors out with the message “http://10.X.X.X.X/fog/services/ipxe/boot.php no such file or directory. Could not boot ipxe.org/2d12603b”
Is this due to some improper installation, missing file, or something else we are missing?
Hi, to have PXE and TFTP on the other sites you have to create one storage group by site. It’s the master node of each group which can provide PXE and TFTP.
-
Hello Wayne,
I am aware of Tom and who he is and I greatly appreciate the work he has done with FOG as it has helped us out greatly.
I tried the solution suggested and the PXE/TFTP services are installed, however, the client systems are still getting the error “http://10.X.X.X.X/fog/services/ipxe/boot.php no such file or directory. Could not boot ipxe.org/2d12603b” then booting into their normal HD’s OS.
@ch3i I created a storage group for site B and added the new storage node to this new storage group. I clicked on the “Is Master Node” checkbox for Site B’s new storage node as well. I’m still getting the error mentioned above in that the host will begin the PXE boot and you can see the message about iPXE. Here is a screenshot:
-
@abstert To what is that an IP for? 10.63.10.107 ? is that the master storage node in your new storage group, or is that the primary FOG server?
And what happens if you go to that address?
http://10.63.10.107/fog/service/ipxe/boot.php
If that IP is a storage node or the main server, can you verify this file actually exists on the server? i.e. go to the CLI of that server and go to /var/www/html/fog/service/ipxe or /var/www/fog/service/ipxe
-
@Wayne-Workman That IP is for the site B storage node, which is now the master node for site B’s storage group. I can view the contents of the directory via CLI /var/www/html/fog/service/ipxe or /var/www/fog/service/ipxe which contain:
advanced.php bg.png boot.php bzImage bzImage32 grub.exe init_32.xz init.xz memdisk memtest.binIf I go to the website http://10.63.10.107/fog/service/ipxe/boot.php there is nothing that shows up on my browser.
-
@abstert is Apache running? it’s the httpd service on redhat systems.
If you go to 10.63.10.107 you ought to get the Apache test page.
Or check the status on Fedora/CentOS/RHEL with
systemctl status httpd
or on Debian/Ubuntu like this:
service httpd status
Also - see if your firewall is off or not for that storage node.
-
@Wayne-Workman Apache is running:
service httpd status
httpd (pid 23626) is running…Firewall is completely disabled and turned off with no rules set.
-
in the default.ipxe file on your storage node (it is a plain text file) edit the IP to be that of your primary fog server
-
@Junkhacker
This is what the default.ipxe has. We did modify the line beginning with “chain” to be the IP of our primary fog server and now our remote PCs can PXE boot as well as work using the registration/imaging capability of FOG.!ipxe
cpuid --ext 29 && set arch x86_64 || set arch i386
params
param mac0 ${net0/mac}
param arch ${arch}
isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
:bootme
chain http://changedthisIP/fog/service/ipxe/boot.php##paramsCan you please provide the details as to why this was the fix?
Thanks
-
for whatever reason the fog/service/ipxe/boot.php web address on your storage node wasn’t working correctly. there are a lot of reasons that might be happening (apache config problems, php config problems, db connection problems, firewalls, etc…), but if your hosts can reach the primary fog server they can just load up the one there. this url is the php file that dynamically generates the text used in the pxe boot menu
-
I should add that the change to the default.ipxe file took me to the “Full Registration…” menu and allowed me to run through the prompts, but would not let me image a system. It wasn’t until i copied over the /var/www/html/fog/service/ipxe file over to the storage node that I was able to successfully image a system.
I’m going to document the exact steps to get a storage node setup at another branch office and have it image systems locally using the storage node instead of the master fog server. I should have this up by end of week.
-
@abstert Are the nodes on the same version/revision as the “main server”? I ask this because all of the nodes and servers should have the files they need in the respective /var/www/fog/service/ipxe (or whatever path it really is) by default. Copying the folder from one to the other should not need to happen. What this tells me is either the nodes were not updated, or the nodes had been altered in some way.
-
@Tom-Elliott
Yes all the nodes are on the same version as the main server. They had the files/folder in the path /var/www/html/fog/service/ipxe, but the clients booting from one of the storage nodes would not display the menu until we copied over the folder from the main server. We did make some modifications to the main server’s FOG_TFTP_PXE_KERNEL so that is why I had to copy it over to the clients.