Users online right now: 117 - Login  » search  » forum index  

Booting Slax over httpfs

samg
wrote 3 years ago


reply
I have a setup here where I can PXE boot many machines. They use httpfs_mount to grab a modified Slax-6.1.1.iso from a web server. I am currently running HTTP File Server on a Windows Box to distribute the iso. The thing is, when I boot many machines simultaneously, the server gets hammered and it takes a while for the machines to boot up. I want to switch servers, so I tried using Apache, but the mount failed. I found a thread where Tomas and others said that Apache is unreliable with httpfs. Has anyone had luck with some other servers? I want something that can handle at least 60 connections simultaneously.

Thanks,
Sam
 
samg
wrote 3 years ago


reply
I did some research, and according to http://httpfs.sourceforge.net/techinfo.htm, the web server must only support HTTP 1.1. Apparently this is the case with HTTP File Server, which explains why it works for me. Is it possible to configure Apache or something else (like lighttpd) so that it only uses the HTTP 1.1 protocol? Or if anyone knows any other servers that are HTTP 1.1 only, that would work for me as well. Any help would be much appreciated.

Thanks
 
samg
wrote 3 years ago


reply
So far I have tried Apache, lighttpd, and thttpd with no luck. I can see Slax-6.1.1.iso in my browser, but httpfs will not mount it. I saw that some users in these forums are able to use httpfs with monkey, so I tried that also, but it didn't work either. Can anyone help?
 
fundamental
wrote 3 years ago


reply
You should be able to look at the setup that comes with the Slax cd/usb to tell what needs to be done with monkey httpd for the booting.
( boot/pxelinux.cfg/ )
 
samg
wrote 3 years ago


reply
Thanks for the reply. I replaced the monkey.conf on my server with the one in boot/pxelinux.cfg/web/conf and restarted monkey, but it still doesn't work. Do I need to change anything else?
 
munozferna
wrote 3 years ago


reply
I see no reasons why httpfs doesn't work with apache, as stated on one of the links you provided 'Therefore httpfs can be used with (nearly) arbitrary web servers.' Anyway, have you tried nginx? I've heard good things about it. Also, I would like to know if you can provide a link, or a guide to setup a similar environment to yours, I need to start at least 20 workstations, but I'm still stuck heh, thanks!
 
fundamental
wrote 3 years ago


reply
@munozferna
I am fairly sure that Tomas M stated that apache could not be used due to the 'chunking of file directory information' or something similar.
The issue was that httpfs needed for this piece of information to come in one chunk and apache had a tendency to break it up into multiple chunks. (If I remember correctly)

EDIT: found quote:
Tomas M wrote:
jeff_sadowski wrote:
the pxe boot version seems to have a non standard implementation of httpfs

Still working on this ... I'm implementing directory browsing for httpfs. It works currently for monkeyd webserver, but won't work with most apache websites (if transfer encoding is chunked, it reads only the first chunk, which is usually just the header when using apache).

From: http://www.slax.org/forum.php?action=view&parentID=24563
 
samg
wrote 3 years ago


reply
munozferna wrote:
I see no reasons why httpfs doesn't work with apache, as stated on one of the links you provided 'Therefore httpfs can be used with (nearly) arbitrary web servers.' Anyway, have you tried nginx? I've heard good things about it. Also, I would like to know if you can provide a link, or a guide to setup a similar environment to yours, I need to start at least 20 workstations, but I'm still stuck heh, thanks!


Nginx is actually one of the webservers I had considered trying, but after lighttpd, httpd, and monkey failed for me, I decided to stick with HTTP File Server for the time being. But since you mentioned it, I will probably give it a try next week.

As for my setup, I have a CentOS 5.3 machine that is running tftp-server, apache and has a pxelinux.0 file. All my machines are registered by MAC address, hostname, and IP address in a DHCP server that points to the pxelinux.0 file located in /tftpboot on my CentOS machine. When I run a script, it sends a wake on lan signal to all my machines, which have been set to network boot first in the BIOS. When they turn on, the DHCP server assigns them their proper IP address and they download vmlinuz and a modified version of initrd.gz. initrd then uses httpfs_mount to mount my Slax-6.1.1.iso from my HTTP File Server and the machine boots up to Slax. You probably have a lot of questions, you can read this thread for a lot of answers, it helped me a lot.

http://www.slax.org/forum.php?action=view&parentID=17378
 
samg
wrote 3 years ago


reply
So I revisited Monkey server a couple days ago and I got everything working. For the last two days I have been booting Slax using httpfs from a Monkey webserver, and it works great. I am using copy2ram and it takes about 2-3 seconds to copy the entire ISO.

What I want to do now is make it scalable. I need to PXE boot at least 30 machines at a time. The problem is that when I do this, several machines break because they are unable to copy the ISO in its entirety. I figured that because httpfs breaks the ISO into many little chunks and downloads them, I would need to increase the number of max connections in monkey.conf. I increased it by a factor of 100 and yet it didn't make any difference. Does anyone know the solution?

Thanks

P.S. I don't think it is a hardware issue, I have used the same hardware with HFS server, and while it is slower, all the machines do eventually boot up to Slax.
 
samg
wrote 3 years ago


reply
Nevermind, I found another solution. It turns out that Monkey is great at serving small files to many clients, but it breaks when serving large files to more than one client at a time. I downloaded the ISO from Monkey using wget across 5 machines simultaneously, and everytime, only 1 machine would get the entire ISO, while the others would only get a fragment. I finally decided to give nginx a try out of desperation, and forunately it worked. I just PXE booted 12 machines simultaneously, and they were all successful. Tomorrow I will try 30 at a time.
 
kolbi
wrote 3 years ago


reply
Samg, could you post your config file?
 
Spice_Boy
wrote 3 years ago


reply
I too have been testing PXE stuff lately, so any info people have or discover along the way would be great to know.
 
samg
wrote 3 years ago


reply
The following are the steps I took to get httpfs to work with Nginx. Note I did this in CentOS 5.3, other distributions may be slightly different.

To install Nginx, you need to pcre-devel and openssl-devel libraries.

yum install pcre-devel
yum install openssl-devel

Download the tar.gz, extract it and then install.

./configure
make
sudo make install

At this point Nginx is installed to /usr/local/nginx.

Now we are ready to configure it. This is very easy.

cd /usr/local/nginx/conf
nano nginx.conf

server {
listen 80;
server_name localhost;
autoindex on; //This is the line I added, it turns directory listing on, which is required for httpfs.

cd /usr/local/nginx/html
rm index.html

Restart nginx and change the cheatcodes as neccessary and you should be good to go.
 
simoness12
wrote 1 year ago


reply
I recommend you to take a look at this http file server. You can set up your own file server for managing and sharing files through web browser. It's like DropBox but self-hosted so that you can keep all your confidential files on your own server. The web based UI looks and feels like Windows 7 Explorer. It offers features that are not possible with a FTP server such as zipping files, downloading multiple files and folders in single download etc. It's also easier to set up and administrate than a FTP server.
http file server
http://www.gleamtech.com/products/filevista/web-file-manager
 

  » search  » forum index  

Post your reply

Your name (Login):

Message:

These HTML tags are allowed: <quote>, <b>, <u>, <i>, <pre>, <code>, <small>, <h1>, <h2>, <h3>, <li>



Slax is generously supported by: P&P Software GmbH and wisol technologie GmbH