Jump to content
XPEnology Community

erocm123

Member
  • Posts

    16
  • Joined

  • Last visited

Posts posted by erocm123

  1. Seems like Synology has included a few vfs hooks in their version of Samba. I believe it is one of them that is causing problems:

     

    synosmb_vfs_acl_init

    synosmb_vfs_indexing_init

    synosmb_vfs_stream_init

    synosmb_vfs_xattr_init

    synosmb_vfs_xferlog_init

     

    Troubleshooting their samba modules is a little over my head right now. I've compiled smbd from source (without the modules) and it seems to work fine with the zfs mounts that I have. No indication of any problems from the GUI and shares work how I expect. I have never really gotten into Windows ACLs on Synology so I'm not sure if they are behaving properly.

  2. By the way, here is the init script that I use to automatically load the kernel modules. I borrowed it and modified it from somewhere else:

     

    I've got ipkg / bootstrap setup so I put the init script in /opt/etc/init.d/S10modules

     

    #!/bin/sh
    # Original script has been written by Davy Leggieri (hey another French guy 
    # Modified by Charles-Henri Hallard on April 2012 to fit with my configuration
    #
    # there is start stop var because at stop modules usbserial should be unloaded last
    MODULES_DIR="/opt/lib/modules/3.2.40"
    MODULES_START="spl.ko splat.ko zavl.ko znvpair.ko zunicode.ko zcommon.ko zfs.ko zpios.ko"
    MODULES_STOP="zpios.ko zfs.ko zcommon.ko zunicode.ko znvpair.ko zavl.ko splat.ko spl.ko"
    
    start_modules(){
           echo "--- Load modules ---"
           for i in $MODULES_START; do
                   echo "Loading $i"
                   insmod $MODULES_DIR/$i
           done
    
    }
    
    stop_modules(){
           echo "--- Unload modules ---"
           for i in $MODULES_STOP; do
                   echo "Unloading $i"
                   rmmod $MODULES_DIR/$i
           done
    }
    
    case "$1" in
    start)
           start_modules
           ;;
    stop)
           stop_modules
           ;;
    *)
           echo "usage: $0 { start | stop }" >&2
           exit 1
           ;;
    

  3. I currently have it running as an ESXi VM on top of a Gen 8 HP Microserver. The Microserver has been modified to have a Intel Xeon CPU E3-1230 V2 3.30GHz.

     

    I've given the VM 4GB of RAM and 4 CPU Cores.

     

    I have FreeNAS running alongside this on the same hardware with the same specs (4GB RAM 4 CPU cores) and performance has been really good with it. I'll have to see how the SynologyZFS setup compares. I don't use dedupe in my home lab as it requires more resources, but I do use compression. I've used dedupe out in the workforce but it has been on multi controller SANS with lots of RAM.

  4. Warning: This seems to be working well, but is in it's very early stages. Play with it at your own risk.

     

    So I have gotten zfs compiled and working on nanoboot 5.0.3.1 with DSM 5.0-4493. It wasn't pretty getting it going, but it seems like the functionality that I want is there. Compression, snapshots, clones, replication, etc. I haven't had too much time to mess with it but performance seems pretty good.

     

    I am a Linux Admin, but I mostly work with Redhat / CentOS and this is actually the first time that I have cross-compiled. In that sense I am a newb so there are probably much better ways to do what I have done. If so, please let me know. I've compiled from source in the past, but this was a little different. I'm so used to YUM or other package managers . . . :grin:

     

    Anyway, there is one small hurdle that I am trying to overcome. It seems that the Synology implementation of Samba does something a little tricky that the Kernel / ZFS don't like. Perhaps it is related to ACLs. When I initiate a copy from Windows, Windows believes there is no room on the volume and in dmesg I see:

     

    [ 1534.802643] write_begin() or write_end() is not implemented

     

    When I use the samba2 package from ipkg the Samba shares work just fine.

     

    If you want to give it a shot, here are the files and instructions. As I haven't tested much, I don't recommend using in production:

     

    Unpack and load the kernel modules (change the commands to where you have unpacked the modules):

    insmod /opt/lib/modules/3.2.40/spl.ko
    insmod /opt/lib/modules/3.2.40/splat.ko
    insmod /opt/lib/modules/3.2.40/zavl.ko
    insmod /opt/lib/modules/3.2.40/znvpair.ko
    insmod /opt/lib/modules/3.2.40/zunicode.ko
    insmod /opt/lib/modules/3.2.40/zcommon.ko
    insmod /opt/lib/modules/3.2.40/zfs.ko
    insmod /opt/lib/modules/3.2.40/zpios.ko

     

    Library files need to go into /lib64/

     

    DSM5> tar -zxf libuuid.so.1.3.0.tar.gz
    DSM5> chmod 755 libuuid.so.1.3.0; cp libuuid.so.1.3.0 /lib64/; rm /lib64/libuuid.so; rm /lib64/libuuid.so.1; ln -s /lib64/libuuid.so.1.3.0 /lib64/libuuid.
    so; ln -s  /lib64/libuuid.so.1.3.0 /lib64/libuuid.so.1

     

    DSM5> tar -zxf libz.so.1.2.8-x64.tar.gz
    DSM5> cp -p libz.so.1.2.8 /lib64/; ln -s /lib64/libz.so.1.2.8 /lib64/libz.so; ln -s /lib64/libz.so.1.2.8 /lib64/libz.so.1

     

    Install the deb packages with dpkg. I was lazy and sick of messing around with things so I just did a:

    DSM5> dpkg -i --force-all *.deb

     

    Since I didn't have udevadm I had to create the zfs device pointer manually:

    DSM5> cat /sys/class/misc/zfs/dev
    10:57
    DSM5> mknod /dev/zfs c 10 57

     

    At this point zfs and zpool commands should work.

    zpool create tank /dev/sdXX <---- change this to the device you want to use. 

     

    Create dataset

    zfs create tank/data

     

    Turn on compression:

    zfs set compression=on tank/data

     

    These should mount automatically, but you can change the mount type to "legacy" and mount them with fstab or manually.

     

    zfs set mountpoint=legacy tank/data
    mount -t zfs -o usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl,defaults,atime,dev,exec,rw,suid,xattr,nomand,zfsutil,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,synoacl tank/data /volume1/zfs/data

     

    Take a snapshot

    zfs snapshot tank/data@snapshot0821

     

    I'm out of time for now. Will post more later.

     

    Link:

    https://drive.google.com/file/d/0B_7bVXd64Md1Q054Qy1FWVd4bEU/edit?usp=sharing

  5. I've been testing gnoBoot for some time now and want to say thanks for all your effort. I've had a lot of success thus far.

     

    One thing that I am unsure of is what is the proper way to upgrade to the newest alpha? Do I just copy the latest zImage and overwrite the old one? Is there anything more to it than that? Sorry if this is a "newb" question, but an answer would be greatly appreciated.

     

    Thanks!

  6. Thanks gnoboot! Update work 99% fine! Only my ds audio not work. I dont't know....anyone has same problem?

     

    Yeah, I can't seem to get ds audio working either. I can use it from the web interface, but when I try to connect my Android device I get "Network is not available now". When I try to connect with my iPad it says something about authentication.

     

    Also, I haven't been able to get Plex working yet.

  7. For those using the vmware tools for shutdown, are you getting errors when you restart your Synology VM? I've tried several things, but if I shutdown using the tools, my synology volume fails upon boot up. If I shut it down normally, I get no errors.

     

    I have three vms (2 x DSM 4.2 & 1 x DSM 4.3). When I use vSphere to shutdown or restart any of them I never get errors when they come back online.

  8. Check the logs to see if there is anything failing, or if the vmtools daemon can't start, etc.

    can you tell which logs should contain VMware tools entries and is there any tools specific logging which can be enabled?

    I don't have the time to research/debug what it is I've done to get my version working (I do remember spending a reasonable amount of time on it though). I've probably forgotten something somewhere. It may be a few days (weekend?) before I can get back to you on this.

     

    After following the guide for wmware tools I could not get shutdown and reboot to work from the vSphere client. The problem was that the "shutdown" binary did not function on my Synology install. I decided to just create my own "shutdown" script and replace the binary that was in /sbin/ with it:

     

    mv /sbin/shutdown /sbin/shutdown_old

    vi /sbin/shutdown

     

    paste the following code:

    #!/bin/sh

     

    for var in "$@"

    do

    if [ "$var" = "-r" ]

    then

    reboot

    exit 0

    fi

    done

     

    poweroff

     

    Then change the permissions so teh script is executable.

    chmod 755 /sbin/shutdown

     

    This worked for me!

  9. I managed to fix this issue due to some module was not loaded ,which is required by NFS. I had modify the /etc/rc script to check whether nfs is enable, then load the module. you can test it.

     

     

     

    
    To test it, you can just try to ssh to the nas and execute below command 
    #insmod /lib/modules/auth_rpcgss.ko
    #/usr/syno/etc/rc.d/S83nfsd.sh restart
    
    ##### Load module for NFS --- code for /etc/rc
    
    Support=`/bin/get_key_value /etc.defaults/synoinfo.conf supportNFS`
    
    if [ "$Support" = "yes" ]; then
           insmod /lib/modules/auth_rpcgss.ko
    fi
    

     

    Thank you so much!!! You fixed my problem!

  10. I am having a hard time getting NFS working on my ESXi build. When I check to see if NFS is listening on port 2049 I get:

     

    DiskStation> netstat -tulpn | grep 2049

    DiskStation>

     

    I try to start NFS manually:

     

    DiskStation> /usr/syno/etc/rc.d/S83nfsd.sh start

    Starting NFS server...

    :: Loading module rpcsec_gss_krb5 ... [FAILED]

    :: Loading module exportfs ... [ OK ]

    :: Loading module nfsd ... [FAILED]

    mount: mounting none on /proc/fs/nfsd failed: No such device

     

    I try to load the FAILED modules manually:

     

    DiskStation> insmod /lib/modules/nfsd.ko

    insmod: can't insert '/lib/modules/nfsd.ko': unknown symbol in module, or unknown parameter

    DiskStation> insmod /lib/modules/rpcsec_gss_krb5.ko

    insmod: can't insert '/lib/modules/rpcsec_gss_krb5.ko': unknown symbol in module, or unknown parameter

     

    Not sure where to go from here . . .

     

    Anyone that can help?

×
×
  • Create New...