Unable to mount NFS


  • Developer

    r3582–>r3592–>r3594
    Dell D610
    CPU arch: x86 only

    Issue:
    When uploading it gets to the point of Mounting File system and then fails with “Unable to mount NFS”

    HOWEVER, I have just uploaded an image from a HP DC7800 not 5 minutes before I tried uploading this one, so it leads me to believe there is an issue with the x86 kernel only and not the x64 kernel.

    Passes all compatibility tests.

    Nothing relevant in apache logs.

    2015-06-23 11.20.491.jpg


  • Developer

    x32 bit machines should now be fixed in the latest git.

    • x32 Upload times are slow but they will upload all the way. ~84Mib/s with lvl 9 compression (4:20:15)
    • x32 Download times are “fast” ~1.8Gib/s lvl 9 compression (00:12:01)
    • x64 Up 3.2Gib/s lvl9 (00:20:00) Down 7.3Gib/s lvl9 (00:09:00)

    Full Description of problem:
    1.)nfs mount issue was due to not getting an ip address during init boot.
    2.)Not getting an ip was due to an addition of fixing VLAN issues for networks and sleep command was an “Illegal Instruction” (along with other commands essential to “init fog script”)
    3.)sleep was not working due to a compiling issue in the glibc v2.21.

    *Solution:
    1.) Downgraded init’s to use glibc v2.20 (fixed sleep function).
    2.) init’s now get ips from edits in files K40Network and S40Network.
    3.)NFS mounts successfully now that init gets an ip address at boot.

    These changes have been pushed to both init_32.xz and init.xz.

    If you see this issue with your old 32 bit only processors please make sure you update to the latest version and this should be fixed.

    P.S. @Tom-Elliott thanks for the remote sessions and time. Took us a while but we nailed down the problem


  • Moderator

    @Wolfbane8653 @Tom-Elliott has this been put into the current code base or was this done just on Wolfbane’s setup ?

    I think that this is affecting a much larger group of people than the developers are aware of.


  • Developer

    UPDATE:

    Ok at least Tom and I have gotten down to the issue at hand. The machine would get an ipaddress in ipxe but when it came to booting the machine in busybox(bzimage32, init_32) it didn’t get an ip address. Eth0 was there and active just no ip address. After some time we figured out that these machines could not use the sleep command. (Weird I know) Alas, Tom used usleep and it worked like a charm.

    THUS why nfs would not mount. B/C the machine didn’t have an ip address it couldn’t get out to even talk to the fog server for the mount to occur.

    Now we are looking a the HDD is not detected but passes in compatibility and the partition information is all there. Machine still boots into windows. Again some issue with the bzimage32, init_32 ???

    Just wanted to throw an update out there for your 32-bit processor junkies!


  • Moderator

    Have you tried to mount manually in a debug session?

    ALSO -(and this is really exciting ****), Tom added CIFS support to the kernel recently.

    If NFS just won’t work… You could use CIFS to image… You’d have to start a debug session on each machine and mount manually… yes it will suck… but it would get the job done.

    You are a developer… maybe you can figure out what I couldn’t… I tried editing the fog.checkin script so that it would use CIFS every time (at home) but failed at doing this… I don’t know what I did wrong.

    I’ll post the relevant parts here for others to see (since it’s in the secret area).

    NOTE that this is only tested on Fedora 21 (or… 22? don’t remember) and the latest FOG Trunk kernels.

    Firstly (and I have no idea if this has any bearing on this working or not), I made it impossible for

    [CODE]/svn/trunk/src/buiildroot/package/fog/scripts/bin/fog.checkin[/CODE]

    to fail in mounting. I basically just removed all the failure code. I also replaced all the mount commands but it didn’t seem to make a difference.

    INSTALL SAMBA:
    [CODE]# Last Modified:

    6-8-2015

    Install samba and samba client.

    yum install -y samba samba-client

    Move the old samba configuration file.

    mv /etc/samba/smb.conf /etc/samba/smb.conf.old

    Make a new config file, then fill it with settings.

    touch /etc/samba/smb.conf
    #beware, below line overwrites anything in /etc/samba/smb.conf
    echo ‘#’ > /etc/samba/smb.conf
    #below lines append to the end of /etc/samba/smb.conf
    echo ‘#This file was generated by an automated installation script’ >> /etc/samba/smb.conf
    echo ‘#for FOG 1.3.0 and higher to share the default /images directory.’ >> /etc/samba/smb.conf
    echo ‘#Original Author: Wayne Workman’ >> /etc/samba/smb.conf
    echo ‘#’ >> /etc/samba/smb.conf
    echo ‘[images]’ >> /etc/samba/smb.conf
    echo ‘path = /images’ >> /etc/samba/smb.conf
    echo ‘read only = no’ >> /etc/samba/smb.conf
    echo ‘unix charset = utf-8’ >> /etc/samba/smb.conf
    echo ‘dos charset = cp932’ >> /etc/samba/smb.conf

    The bleow bit extracts the out-facing IP. Only works if there is one interface.

    This is for extra security, prevents an IP not from your network getting in, even if they know the username / password.

    the last part determines the number of octects set for “hosts allow”. -f 1-1 is one, -f 1-2 is two, -f 1-3 is three

    ServerIP="$( ip route get 8.8.8.8 | awk ‘NR==1 {print $NF}’ | cut -d ‘.’ -f 1-2 )"

    echo ‘# The below line defines what IP ranges are allowed. They are space delemeted.’ >> /etc/samba/smb.conf
    echo ‘# For instance, if you wanted local loopback address, the 10.0.0. range,’ >> /etc/samba/smb.conf
    echo ‘# and the 192.168.1 range, and a specifc public IP of 50.50.50.50,’ >> /etc/samba/smb.conf
    echo ‘# It would be this:’ >> /etc/samba/smb.conf
    echo ‘# hosts allow = 127.0.0.1 10.0.0. 192.168.1. 50.50.50.50’ >> /etc/samba/smb.conf
    echo “hosts allow = “$ServerIP”.” >> /etc/samba/smb.conf

    Continue with building the smb.conf file…

    echo ‘security = user’ >> /etc/samba/smb.conf
    echo ‘passdb backend = tdbsam’ >> /etc/samba/smb.conf
    echo ‘create mode = 0777’ >> /etc/samba/smb.conf
    echo ‘directory mode = 0777’ >> /etc/samba/smb.conf
    echo ‘share modes = yes’ >> /etc/samba/smb.conf
    echo ‘writable = yes’ >> /etc/samba/smb.conf

    Below gets the ftp user & pass from /opt/fot/.fogsettings and “assumes” it matches the local linux user

    Credit for trying?

    user="$(grep ‘storageftpuser=’ /opt/fog/.fogsettings | awk -F’"’ ‘{$0=$2}1’)“
    pass=”$(grep ‘storageftppass=’ /opt/fog/.fogsettings | awk -F’"’ ‘{$0=$2}1’)"

    Set the samba user with the credentials.

    (echo “$pass”; echo “$pass”) | smbpasswd -s -a $user
    systemctl enable smb.service
    systemctl restart smb.service
    [/CODE]

    Run a “Download - Debug” task for the host(s).

    At the CLI, create the /images directory manually

    [CODE]mkdir /images[/CODE]

    Mount to the remote images directory via CLI (ensure NFS is NOT running first on the FOG server):
    Server:
    [CODE]systemctl stop nfs-server[/CODE]
    Debug client:
    [CODE]mount -t cifs -o username=USERNAMEHERE,password=PASSWORDHERE //x.x.x.x/images /images[/CODE]

    Then, issue the FOG command on the debug client and it should work via CIFS (samba):
    [CODE]fog[/CODE]


  • Developer

    oh 300 give or take.


  • Moderator

    How many of these do you have to image?


  • Developer

    in debug I can get an ip when…

    vi /etc/network/interfaces
    

    add:

    auto eth0
    iface eth0 inet dhcp
    
    ifup eth0
    

    Then I get a ip address.

    Tom thinks it has something to do with the number of retries to get a DHCP address after the kernel has been launched.


  • Developer

    4.0.5 x86 (i686) flashing cursor when trying to debug nothing else shows on the screen.

    4.1.0 x86 (i686) we get into debug. not getting an ip address in debug mode. eth0 is found so it is NOT a driver issue. It is also not exactly a kernel issue either. Still testing.


  • Moderator

    @TheKoR said:

    it’s why i said, we need a script to agregate informations from fails and success :

    Model, svn, kernel used, ipxe used, lan driver, image configuration (single or not, resizable or not), error message.

    For sure it’s a good idea, but at this time to have some support you can manually provide these informations .



  • don’t work anymore with last svn, i’ll already report

    it’s why i said, we need a script to agregate informations from fails and success :

    Model, svn, kernel used, ipxe used, lan driver, image configuration (single or not, resizable or not), error message.


  • Moderator

    @Wolfbane8653

    Found this in the hardware lists:

    Dell Latitude D610 ✔ Default bzImage undionly.kpxe 2014-06-26

    https://wiki.fogproject.org/wiki/index.php/WorkingDevices

    So… whatever the current kernel was back this time last year… that’d be your ticket. Maybe look at the pushes to SourceForge on that week and you might find what kernel was being given out, because kernels used to be included in the “package” right?


  • Developer

    3.0.1 x86 no network device found. Testing 4.0.5 x86 next.


  • Developer

    just tested 3.0.1(i386) x86 as per Tom’s hunch and still the same result


  • Moderator

    Maybe try some of the older kernels?


Log in to reply
 

404
Online

39.3k
Users

11.0k
Topics

104.6k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.