Implementing kernel mode NFS file sharing on Puppy

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
abushcrafter
Posts: 1418
Joined: Fri 30 Oct 2009, 16:57
Location: England
Contact:

#16 Post by abushcrafter »

mhanifpriatama wrote:Is there someone who has managed to use nfs with Lucid puppy? It has different kernel.
...Or any info on using NFS in Wary?
[url=http://www.adobe.com/flashplatform/]adobe flash is rubbish![/url]
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/

Master_wrong
Posts: 452
Joined: Thu 20 Mar 2008, 01:48

#17 Post by Master_wrong »

@mhanifpriatama

Is there someone who has managed to use nfs with Lucid puppy? It has different kernel.
i confirm that the instruction work on luci 245.
i just checked it work on 5.2 too
Cluster-Pup v.2-Puppy Beowulf Cluster
[url]http://www.murga-linux.com/puppy/viewtopic.php?p=499199#499199[/url]

Rava
Posts: 15
Joined: Wed 24 Nov 2010, 17:11

#18 Post by Rava »

How can I use that with Quirky NOP 1.2.0, since it uses another Kernel Version (2.6.33.2) or is that Kernel pet only needed for older Puppies?

Or should I try unfs3-0.9.22 ( http://www.murga-linux.com/puppy/viewtopic.php?&t=64491 ) instead?

2lss
Posts: 225
Joined: Sun 20 Sep 2009, 23:54

#19 Post by 2lss »

abushcrafter wrote:...Or any info on using NFS in Wary?
I'm using Wary 5.1.1 and am able to mount an nfs share. Here's what I did:

Install "nfs-utils-1.2.1-i486.pet" (3'd post)

/etc/rc.d/rc.portmap start

mount-FULL -t nfs 192.168.1.250:/home/nfs /root/nfs

This works except I am unable to access /root/nfs;

Code: Select all

# ls /root/nfs
ls: cannot open directory /root/nfs: Permission denied
Anyone have an idea what the problem might be? I am able to mount the share using another machine running debian so I don't think the problem is server side.

EDIT: I changed the UID for my user "frank" on the client (my Wary box) to match the UID on the server and now if I "su frank" I can access the mount point. If I try to use the "root" user I still get permission denied.

Rava
Posts: 15
Joined: Wed 24 Nov 2010, 17:11

#20 Post by Rava »

^ Thanks 2lss

I think I then try to check that out with Quirky NOP 1.2.0...

When I get the time since I help with debugging the RC1 of x86_64 of Porteus - previously known as "Slax Remix" - on porteus.org. :D

2lss
Posts: 225
Joined: Sun 20 Sep 2009, 23:54

#21 Post by 2lss »

I figured out what the problem was.

I had to add "no_root_squash" to my export options in the /etc/exports file.

Code: Select all

/home/frank    (insecure,no_subtree_check,no_root_squash,rw,nohide) 
Here is the excerpt from the man page for exports:
Very often, it is not desirable that the root user on a client machine is also treated as root when accessing files on the NFS server. To this end, uid 0 is normally mapped to a different id: the so-called anonymous or nobody uid. This mode of operation (called 'root squashing') is the default, and can be turned off with no_root_squash.
And here is my fstab entry for the nfs mount:

Code: Select all

192.168.1.1:/home/frank /root/nfs nfs rsize=8192,wsize=8192,timeo=14,intr,nolock
Everything works good....except for one problem.

When I shut down with the nfs share still mounted, the computer hangs when saving to the "pupsave" file.

I haven't found the cause yet but as a work around, I added the following to my /sbin/poweroff file:

Code: Select all

umount-FULL /root/nfs
Now everything seems to be working good. :)

Snail
Posts: 331
Joined: Sun 18 Oct 2009, 07:32

DHCP and NFS

#22 Post by Snail »

Thank you mikeb and DC for this helpful data.

I haven't been able to find anything useful about running NFS on a DHCP network, including on the sourceforge NFS pages(I found one place which warned that using names rather than IP numbers in the portmap command could get you into a loop.) Around here, most home ADSL modem/routers are sold with NAT and DHCP servers on by default. I just think that DHCP is the convenient way to go and in my days of Windows I always set up my networks to use it. Is it even possible to use DHCP in NFS? If it is, can anyone advise, or point me to a howto?

The nfs_common.tar.gz file posted above is less than a sixth of a megabyte. Surely it make no sense to omit these files in standard Puppies? At the very least, could it not be made available in the repositories? Why should Puppy be restricted to the Windows way of doing things?

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#23 Post by mikeb »

Here's a little puppyfied GUI I made and use.
The idea is that its a click and mount application for NFS shares and also can add shares on the fly so not limited to those set in the config file.
Also for puppy the idea is it will start up the server and load modules on demand so once kernel modules and the common utils are present this gui can control the lot. Note the last puppy this is used with here is Lucid so no guarantees I'm afraid.

On a general note there seem to be some minor changes with newer kernels so the common binaries are best sourced to match the release in question...they are usually marked as nfs(d) and portmap in the repos.

As for the DHCP query random IP address would indeed cause a problem as it would with any LAN based networking. In our case our router can be configured to apply a chosen IP to a particular MAC so giving a psuedo static arrangement...very handy..one to look for in the router admin. Otherwise true static addressing is the only option.

mike
Attachments
nfs.png
(22.2 KiB) Downloaded 794 times
NFS_gui.tar.gz
(1.93 KiB) Downloaded 377 times

User avatar
ozboomer
Posts: 135
Joined: Wed 04 May 2005, 21:22
Location: Melbourne, Australia

#24 Post by ozboomer »

mikeb wrote:As for the DHCP query random IP address would indeed cause a problem as it would with any LAN based networking. In our case our router can be configured to apply a chosen IP to a particular MAC so giving a psuedo static arrangement...very handy..one to look for in the router admin. Otherwise true static addressing is the only option.
In recent weeks, I've been working hard at getting NFS to do its thing... and I have it working quite happily now... and it's in the context of a DHCP network (I believe).

The process:-

I simply start a 'RAM ONLY' LiveCD/Frugal boot of Slacko 5.6.4... configure the hostname, time zone and default firewall in the 'Quick Startup' dialog.

I run through the Network Wizard ('Dougal's or 'Frisbee' or whichever one it is) and run everything through the usb-based wireless NIC, with WPA2/PSK enabled to my router (connected to the cable service from my ISP).

I go through the 'Puppy Installer' and install the 'nfs-utils' and 'portmap' pets, update /etc/rc.d/rc.firewall to have PERMIT=x.y.0.0/16 to allow any of my local PCs to join the network and restart the firewall.

NOTE: You WILL need to retrieve the 'nfs_common.tar.gz' archive, and extract the files: /etc/rc.d/rc.nfsd and /etc/rc.d/rc.portmap. You'll also need to retrieve 'rpcinfo.tar.gz' and establish /usr/sbin/rpcinfo.

Then update the critical NFS files:-

Code: Select all

/etc/exports: include the disks(partitions) to be shared
/etc/hosts: names/IPs of the local PCs
/etc/hosts.allow: ALL: 192.168.0. (netmask shortcuts DON'T WORK; the
                                  'trailing dot' DOES work though)
/etc/hosts.deny: ALL: ALL
/etc/services: includes entries for nfs, on port 2049, for tcp & udp
I then ensure the disks/partitions that will be served 'out' are mounted... and then I have a couple of scripts that START NFS:-

Code: Select all

if [ "`lsmod | cut -f 1 -d ' ' | grep ^nfs$`" = "" ]; then
   /sbin/modprobe nfs
fi

/etc/rc.d/rc.nfsd start   # (as rc.nfsd will take care of the portmapper)...
...and STOP NFS:-

Code: Select all

/etc/rc.d/rc.portmap stop
/etc/rc.d/rc.nfsd stop
NOTE that you might have to do the START/STOP a couple of times with delays (of a minute or two between them) to get rpcinfo to 'play nice' and make the required mappings.

To mount the remote disks/partitions locally, you have to use the 'full' mount commands, mount-FULL in Puppy... and to do so AFTER you create local mount points:-

Code: Select all

# mkdir /mnt/remote-sda1
# mount-FULL -t nfs 192.168.0.z:/mnt/sda1 /mnt/remote-sda1
...and then, when you're done using the remote disk/partition:-

Code: Select all

# umount-FULL /mnt/remote-sda1
So, hopefully that might give you some clues.

For those who came in late... I'd been fiddling around trying to get this working since Puppy v0.8.x in 2004... so I'm kinda pleeeeeased that I have NFS working somehow now(!)

...but to the primary reason for this post...

A couple of questions, please:-
  • * You can see from the above roughly how I have things working... but is there a way to set-up a wireless network WITHOUT using a router or an access point connected to my ISP? I want to keep these "Puppy PCs" connected (with NFS) but isolated from the world (y'see, the next project to get going is SSH between these PCs).
  • * I have a cheapo 'wireless repeater' that I use for one of the PCs... and while it works pretty well to let my Puppy PCs connect to the internet, if I try 'ping' between the PCs using the repeater, I get massive packet losses (like 60%.. 80%) and NFS works (it doesn't time-out) but it's horrendously slow (not unexpected).

    Now, I read somewhere that turning on 'forwarding' is something that should help fix the problem... but I can't find any such thing in the admin pages of the repeater.
    So, should I keep trying to find this 'forwarding' parameter (if it even exists for this repeater)... or is there something else, Puppy configuration -wise, that I should be looking at?
Thanks a heap for any forthcoming suggestions...

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#25 Post by mikeb »

does the puppy firewall wizard included a forwarding option? I never use it myself. I used to use 2 lines of bash/masquerade to do it years ago.

I believe adhoc is the way with wireless so machines can talk to each other through their wifi.... seem like newer kernels have much better support for this. As for NFS if they can see each other then it will work. As for my dhcp statement as my gui scans the whole subnet and lists any available share so static is not strictly necessary ...its just easier to know who is who.

Crappy wifi anything is ..well ...crappy as you found. Even with good wifi I get about a quarter of the speed compared to wired and sometimes streaming movies can get choppy....tend to copy to ram and play locally when its like that. Much more a problem using windows NFS though....

Had several years of happy NFS and a couple knowing the joys of ssh and x forwarding...just such a useful tool when machines are in full time use.

Not sure if that info helps much...I am just a router slob nowadays.

mike

User avatar
ozboomer
Posts: 135
Joined: Wed 04 May 2005, 21:22
Location: Melbourne, Australia

#26 Post by ozboomer »

As an update...

I managed to get the NFS things working, of a fashion... by configuring a wireless repeater as a simple Access Point only... and then the various PCs that have the NFS software installed and configured made connections to the AP... and it all worked Ok..., letting me move (tiny) files between the PCs without being connected to the internet.

...but I never resolved the issue of the speed of operation. It basically means I won't bother with NFS over wireless as it's simply too slow, even with (what appears to be) good quality and 150Mbps wireless links, I still can't get any more than maybe 50 kbps speeds between the PCs. Pffft.

One day, I'll come back to it... and see if I can get the SSH things workingas well...

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#27 Post by mikeb »

Yes something is amiss... I get 2.8MB/s on a g wifi adapter... thats ~20Mb/s.....on the wired lan its 4 times faster so a working system should still be able to handle large files no problem.

Well sometimes I find leaving something stubborn and returning to it at a later point can bring results.

Mike

Post Reply