Confirmed and tested, something duplicated the folder on each disk, once they were removed all was well.
Beiträge von lewsut
-
-
After a bit more testing it looks like all i need to do is remove all the empty folders... Shame there are 1000s
Not sure how or why they have been duplicated!?
-
Hello,
I'm having an odd issue, Union file system plugin is installed, I point it at the two disks I want to merge and it seems to mount and be happy.
However if I search for files via SMB I can only see about half my files (folders are all there). When I browses the Union mount with MC in the terminal all my files are there in their folders.
Both the disks that make up the union "disk" seem to have duplicated folders (i'm not sure if that's how that works, I didn't create them in duplicate) but not the files, each disk has around half the actual files, it seems that when I browse the union files system with SMB i'm only seeing one disk as it correlates to the actual files on that one disk of the union.
If I remove one of the folders from one of the disks, so there is one remaining on the other disk of the union that folder disapears via SMB too, ven
I've reset and checked permissions and they all seem good, but without knowing how union works I'm a bit stumped, my files are there but I can only get to half.
Any help would be very much appreciated. (i'm probably being an idiot! )
-
Maybe after I have finished Ethernet wiring the house. Over the WiFi I can get around 14MBs.
An improvement but not much!
It's amusing that from server to PC over WiFi it's faster than a direct USB3.0 connection with a theoretcal through put of 625 MBs. Heh!
-
Unfortunately I'm given USB3.0 drives to put these files on. Network is not an option.
Yeah I have read all those links already (and many many more), it seems that NTFS-3g got thrown together 10 years ago and just let to rot, apparently it's a mess.
ZitatI believe that the free version of NTFS-3G is
crippled so that it uses 4 KiB writes with no caching, causing
extremely slow write performance on SSDs and USB drives.Oh well, thanks for your time David!
-
Zitat
I would not say its that bad...
166% differnce between EXT and NTFS write speeds, I'd say that's pretty bad!
Do yo know the reason for the cap?
Right I shall begin 128 hours of file copying! AhhHHHhHH!
-
Fair enough.
So is the ntfs-3g awfully inefficient?
Would I not expect to see my CPU load at 100% and then not being able keep up with the writes? At the moment there is still 50% head room, as I see it.
Cheers,
lewsut. -
80%-95% Using EXT at 110MBs
Cheers,
lewsut. -
Hi David.
The CPU is just a little AMD Athlon II Neo N36L. While copying files load ranges from 40%-60%.
cheers,
lewsut. -
Hello,
Over the last few days I have been having issues with ridiculously slow write speeds to various NTFS USB3.0 HDDs. Ideally I'd never use NTFS but friends seem to like it!?
I have tried many suggestions from the web and I have made sure my USB3.0 is working, speeds are very fast when writing to drives that are EXT4 (>120MBs) but with NTFS i'll be lucky to get >10MBs. If I have 1TB to copy I could be looking at 32 hours of copying, I don't really fancy that. Read speeds from NTFS are pretty good 100MBs.
I assume there is nothing that can be done about this and the issue lies with how Debian handles NTFS?
If that assumption is wrong, or anyone has any ideas please let me know else it's a week of copying for me!
Cheers,
lewsut
-
Cool, I'll have a look. Celeron from the early days has made me stay clear of them!
By the way the BRIX comes with wifi / BT.
Edit: I see the newer NUCs have USB3. This is good news, we do very large offline log backups!
Cheers.
-
Oh.. in the UK it's about 190Euro.
I'd just never consider a Celeron (historically for me they have always been awful!) so it never really crossed my mind. Also Brix has USB3, tons more performance APU wise and I flood-wire my houses so never thought about wifi.
Sorry if not useful!
-
Thought i'd randomly put my 2pence in re NUCs.
We use them at work, they are fine (i3 - i5). I would however grab a Gigabyte Brix in the AMD flavor. http://www.gigabyte.com/produc…uct-page.aspx?pid=4748#sp you save on the Intel premium (£50-£70) if it's for XBMC HTPC stuff.
-
Fair enough Re Zoneminder, you need quite a powerful machine by NAS standards, the config is near infinite and the documentation is sparse bar that, once set up it does what it says on the tin (most of the time). I never got round to looking at motion, I should.
PS thanks for your greyhole time / effort tekkbebe!
-
Does Greyhole fall into pooling?
Edit: I see tekkbebe did a how to only yesterday, well now I'm happy!
I have installed a few Zoneminder systems over the years, what a pain that is! Makes me shudder a little to see it on this list. I hope 1.26 will be a good improvement.
-
Hey knumsi,
Being listed as a contributor would be great
If you need any more DD-WRT testing or any other info please let me know.
Cheers.
-
Cheers guys for looking at Greyhole. Stuck with 0.3 just for it.
It's so ruddy useful!
I hope to see it later down the road.
-
You were not too far out with your guess!
After too many test It seems the DD-WRT WOL tool just does not like the way we were doing things. It acts like it's working, so just carries on not actually WOLing, I get the same results when i run WOL manually.
You will notice down the bottom (at the WOL commands) I have exchange $ETH with $BCAST this to me seems to be the easier way forward but i'm open to suggestions. Otherwise it simply refused to do anything!
I assume Tomato could use the $BCAST variable also? I can't see any issues. Do tell me if i'm missing something.
I have also included an image so you can see how you run something on start-up via DD-WRT (nice and easy).
Cheers.
Bash
Alles anzeigen#!/bin/sh # # # @version 1.1.1 DD-WRT.03 # @license http://www.gnu.org/licenses/gpl.html GPL Version 3 # @author Markus <www.och-group.de> # @copyright Copyright (c) 2013 Markus # # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # The MAC adress of the Computer to wake up WAKEUPMAC=00:11:22:33:44:55 # Only wakeup when one of these IPs are online (define a range: 1..20) AWAKE="50 55 60 61 65 100..150" # Resolve these hostnames (separated by space) and add them to AWAKE (only works for ARPMODE=1) AWAKENAMES="xbmc-TV" # --------------- FOR ADVANCED USERS ONLY !!! ----------------------------------------------------- # DEBUG MODE 0=off=no echos DEBUG=0 # Only wake if the following command returns a value greater than 0 (for me its my Home Automation with Micasaverde MIOS on a vera2: http://wiki.micasaverde.com/index.php/Luup_Requests ) # If you dont need that, use the following line WAKEUPCASE=1 # WAKEUPCASE=$(wget -qO- http://192.168.111.99:3480/data_request?id=status\&DeviceNum=17\&output_format=xml | less | grep "service=\"urn:upnp-org:serviceId:VSwitch1\" variable=\"Status\" value=" | awk '{split ($0,A,"\""); print A[8]}') # Check with "arp -a" (on Tomato Router p. ex.) or by ping=0 (slower) ARPMODE=1 # Interface to be used for WOL ETH=br0 # Path to tool to wakeup (may vary on distributions, here Tomato) WOL=/usr/sbin/wol # Pause after each check (ping or arp) PAUSING=1s # Pause after WOL packet has been sent WAITAFTERWAKEUP=300s # Log to FILE or STDout="" LOGTO="/var/log/messages" # --------------- DONT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING !!! ------------------------------ # Now Find The Broadcast Address of the current configuration BCAST=`ifconfig $ETH | awk '/Bcast/ {split ($3,A,":"); print A[2]}'` if [ -z "$BCAST" ]; then [ $DEBUG -gt 0 ] && echo "Unable to Determine Broadcast Address for Interface $ETH" >> $LOGTO fi # Find Netmask/Network without trailing "0" IPMASK=`echo $BCAST | awk '{split ($1,A,"."); print A[1]"."A[2]"."A[3]"."}'` # Add Names to AWAKE for ARPMode if [ $ARPMODE -gt 0 ];then AWAKE="$AWAKE $AWAKENAMES" fi # Translate range (1..20) to single ips) for item in ${AWAKE//\\n/ };do [ $(echo "$item" | grep -c "\.\.") -lt 1 ] && continue [ $DEBUG -gt 0 ] && echo "Found IP Range \"$item\"" >> $LOGTO COUNTER=`echo "$item"| awk '{split ($0,A,"."); print A[1]}'` while [ $COUNTER -le $(echo "$item"| awk '{split ($0,A,"."); print A[3]}') ]; do [ $DEBUG -gt 0 ] && echo "Adding sequence/range IP: \"$COUNTER\"" >> $LOGTO AWAKE="$AWAKE $COUNTER" let COUNTER=COUNTER+1 done done [ $DEBUG -gt 0 ] && echo "Wake up when these IPs (netmask: $IPMASK) are pingable: $AWAKE" >> $LOGTO # MAIN SCRIPT SEARCHING FOR ACTIVE IPs while sleep $PAUSING;do # Check each item of awake for item in ${AWAKE//\\n/ };do # If its a Range - ignore it [ $(echo "$item" | grep -c "\.\.") -gt 0 ] && continue if [ $ARPMODE -gt 0 ];then # If item is not a number - try to resolve hostname if ! [ "$item" -eq "$item" ] 2>/dev/null; then [ $DEBUG -gt 0 ] && echo "ARP check for hostname \"$item\"" >> $LOGTO if [ $(arp -i $ETH -a | grep -c "$item ") -gt 0 ];then item=`arp -i $ETH -a | grep "$item " | awk '{split ($0,A," "); print A[2]}' | cut -d '(' -f2 | cut -d ')' -f1 | awk '{split ($1,A,"."); print A[4]}'` [ $DEBUG -gt 0 ] && echo "---> Resolved IP \"$IPMASK$item\" to hostname" >> $LOGTO else # If hostname was not found [ $DEBUG -gt 0 ] && echo "---> \"$item\" no ARP entry" >> $LOGTO continue fi fi fi # Check if IP is active item=$IPMASK$item if [ $ARPMODE -gt 0 ];then [ $DEBUG -gt 0 ] && echo "Check ARP entry for IP \"$item\":" >> $LOGTO if [ $(arp -i $ETH -a | grep -c "($item)") -lt 1 ];then [ $DEBUG -gt 0 ] && echo "---> \"$item\" no ARP entry" >> $LOGTO else [ $DEBUG -gt 0 ] && echo "---> Sending WOL to \"$WAKEUPMAC\" on \"$ETH\"" >> $LOGTO # only wake up if wakeupcase is greater than 0 [ $WAKEUPCASE -gt 0 ] && $WOL -i $BCAST $WAKEUPMAC sleep $WAITAFTERWAKEUP break # Skip the rest of the loop and return to pausing fi else [ $DEBUG -gt 0 ] && echo "Ping for IP \"$item\":" >> $LOGTO # Cycle all ips that may trigger wakeup if they are pingable if [ $(ping -c1 $item|grep -c " 0% packet loss") -lt 1 ];then [ $DEBUG -gt 0 ] && echo "---> \"$item\" OFFline" >> $LOGTO else [ $DEBUG -gt 0 ] && echo "---> Sending WOL to \"$WAKEUPMAC\" on \"$ETH\"" >> $LOGTO # only wake up if wakeupcase is greater than 0 [ $WAKEUPCASE -gt 0 ] && $WOL -i $BCAST $WAKEUPMAC sleep $WAITAFTERWAKEUP break # Skip the rest of the loop and return to pausing fi fi done done
-
knumsi,
I have had a little play with your script and DD-WRT. I seem to have it working with a few minor changes.
I'll keep testing but it seems good so far!
Bash
Alles anzeigen#!/bin/sh # # # @version 1.1.1 DD-WRT # @license http://www.gnu.org/licenses/gpl.html GPL Version 3 # @author Markus <www.och-group.de> # @copyright Copyright (c) 2013 Markus # # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # The MAC adress of the Computer to wake up WAKEUPMAC=64:70:02:0E:4E:EB # Only wakeup when one of these IPs are online (define a range: 1..20) AWAKE="50 55 60 61 65 100..120" # Resolve these hostnames (separated by space) and add them to AWAKE (only works for ARPMODE=1) AWAKENAMES="xbmc-tv" # --------------- FOR ADVANCED USERS ONLY !!! ----------------------------------------------------- # DEBUG MODE 0=off=no echos DEBUG=0 # Only wake if the following command returns a value greater than 0 (for me its my Home Automation with Micasaverde MIOS on a vera2: http://wiki.micasaverde.com/index.php/Luup_Requests ) # If you dont need that, use the following line WAKEUPCASE=1 # WAKEUPCASE=$(wget -qO- http://192.168.111.99:3480/data_request?id=status\&DeviceNum=17\&output_format=xml | less | grep "service=\"urn:upnp-org:serviceId:VSwitch1\" variable=\"Status\" value=" | awk '{split ($0,A,"\""); print A[8]}') # Check with "arp -a" (on Tomato Router p. ex.) or by ping=0 (slower) ARPMODE=1 # Interface to be used for WOL ETH=br0 # DD-WRT Brodcast (Change to suite your range) WRT=192.168.1.255 # Path to tool to wakeup (may vary on distributions, here Tomato) WOL=/usr/sbin/wol # Pause after each check (ping or arp) PAUSING=1s # Pause after WOL packet has been sent WAITAFTERWAKEUP=300s # Log to FILE or STDout="" LOGTO="/var/log/messages" # LOGTO="" # --------------- DONT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING !!! ------------------------------ # Now Find The Broadcast Address of the current configuration BCAST=`ifconfig $ETH | awk '/Bcast/ {split ($3,A,":"); print A[2]}'` if [ -z "$BCAST" ]; then [ $DEBUG -gt 0 ] && echo "Unable to Determine Broadcast Address for Interface $ETH" >> $LOGTO fi # Find Netmask/Network without trailing "0" IPMASK=`echo $BCAST | awk '{split ($1,A,"."); print A[1]"."A[2]"."A[3]"."}'` # Add Names to AWAKE for ARPMode if [ $ARPMODE -gt 0 ];then AWAKE="$AWAKE $AWAKENAMES" fi # Translate range (1..20) to single ips) for item in ${AWAKE//\\n/ };do [ $(echo "$item" | grep -c "\.\.") -lt 1 ] && continue [ $DEBUG -gt 0 ] && echo "Found IP Range \"$item\"" >> $LOGTO COUNTER=`echo "$item"| awk '{split ($0,A,"."); print A[1]}'` while [ $COUNTER -le $(echo "$item"| awk '{split ($0,A,"."); print A[3]}') ]; do [ $DEBUG -gt 0 ] && echo "Adding sequence/range IP: \"$COUNTER\"" >> $LOGTO AWAKE="$AWAKE $COUNTER" let COUNTER=COUNTER+1 done done [ $DEBUG -gt 0 ] && echo "Wake up when these IPs (netmask: $IPMASK) are pingable: $AWAKE" >> $LOGTO # MAIN SCRIPT SEARCHING FOR ACTIVE IPs while sleep $PAUSING;do # Check each item of awake for item in ${AWAKE//\\n/ };do # If its a Range - ignore it [ $(echo "$item" | grep -c "\.\.") -gt 0 ] && continue if [ $ARPMODE -gt 0 ];then # If item is not a number - try to resolve hostname if ! [ "$item" -eq "$item" ] 2>/dev/null; then [ $DEBUG -gt 0 ] && echo "ARP check for hostname \"$item\"" >> $LOGTO if [ $(arp -i $ETH -a | grep -c "$item ") -gt 0 ];then item=`arp -i $ETH -a | grep "$item " | awk '{split ($0,A," "); print A[2]}' | cut -d '(' -f2 | cut -d ')' -f1 | awk '{split ($1,A,"."); print A[4]}'` [ $DEBUG -gt 0 ] && echo "---> Resolved IP \"$IPMASK$item\" to hostname" >> $LOGTO else # If hostname was not found [ $DEBUG -gt 0 ] && echo "---> \"$item\" no ARP entry" >> $LOGTO continue fi fi fi # Check if IP is active item=$IPMASK$item if [ $ARPMODE -gt 0 ];then [ $DEBUG -gt 0 ] && echo "Check ARP entry for IP \"$item\":" >> $LOGTO if [ $(arp -i $ETH -a | grep -c "($item)") -lt 1 ];then [ $DEBUG -gt 0 ] && echo "---> \"$item\" no ARP entry" >> $LOGTO else [ $DEBUG -gt 0 ] && echo "---> Sending WOL to \"$WAKEUPMAC\" on \"$ETH\"" >> $LOGTO # only wake up if wakeupcase is greater than 0 [ $WAKEUPCASE -gt 0 ] && $WOL -i $WRT $WAKEUPMAC sleep $WAITAFTERWAKEUP break # Skip the rest of the loop and return to pausing fi else [ $DEBUG -gt 0 ] && echo "Ping for IP \"$item\":" >> $LOGTO # Cycle all ips that may trigger wakeup if they are pingable if [ $(ping -c1 $item|grep -c " 0% packet loss") -lt 1 ];then [ $DEBUG -gt 0 ] && echo "---> \"$item\" OFFline" >> $LOGTO else [ $DEBUG -gt 0 ] && echo "---> Sending WOL to \"$WAKEUPMAC\" on \"$ETH\"" >> $LOGTO # only wake up if wakeupcase is greater than 0 [ $WAKEUPCASE -gt 0 ] && $WOL -i $WRT $WAKEUPMAC sleep $WAITAFTERWAKEUP break # Skip the rest of the loop and return to pausing fi fi done done
-
This is a really great idea!
I'll have to have a look at using it on DD-wrt .
Cheers!