this post was submitted on 19 May 2024
71 points (97.3% liked)

Linux

48061 readers
698 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Title is TLDR. More info about what I'm trying to do below.

My daily driver computer is Laptop with an SSD. No possibility to expand.

So for storage of lots n lots of files, I have an old, low resource Desktop with a bunch of HDDs plugged in (mostly via USB).

I can access Desktop files via SSH/SFTP on the LAN. But it can be quite slow.

And sometimes (not too often; this isn't a main requirement) I take Laptop to use elsewhere. I do not plan to make Desktop available outside the network so I need to have a copy of required files on Laptop.

Therefor, sometimes I like to move the remote files from Desktop to Laptop to work on them. To make a sort of local cache. This could be individual files or directory trees.

But then I have a mess of duplication. Sometimes I forget to put the files back.

Seems like Laptop could be a lot more clever than I am and help with this. Like could it always fetch a remote file which is being edited and save it locally?

Is there any way to have Laptop fetch files, information about file trees, etc, located on Desktop when needed and smartly put them back after editing?

Or even keep some stuff around. Like lists of files, attributes, thumbnails etc. Even browsing the directory tree on Desktop can be slow sometimes.

I am not sure what this would be called.

Ideas and tools I am already comfortable with:

  • rsync is the most obvious foundation to work from but I am not sure exactly what would be the best configuration and how to manage it.

  • luckybackup is my favorite rsync GUI front end; it lets you save profiles, jobs etc which is sweet

  • freeFileSync is another GUI front end I've used but I am preferring lucky/rsync these days

  • I don't think git is a viable solution here because there are already git directories included, there are many non-text files, and some of the directory trees are so large that they would cause git to choke looking at all the files.

  • syncthing might work. I've been having issues with it lately but I may have gotten these ironed out.

Something a little more transparent than the above would be cool but I am not sure if that exists?

Any help appreciated even just idea on what to web search for because I am stumped even on that.

top 50 comments
sorted by: hot top controversial new old
[–] g_damian@lemmy.world 15 points 5 months ago

You can mount remote with rclone and fine tune caching to your liking: https://rclone.org/commands/rclone_mount/#vfs-file-caching

[–] possiblylinux127@lemmy.zip 12 points 5 months ago (1 children)

This sounds like a setup that is broken in a few ways. First, you need to clean up the desktop. Start by replacing the USB drives. It is a bad idea to use them as they are more likely to fail and have limited speeds. I would get either moderately high RPM hard drives or sata SSDs. Both will be more reliable and have greater speed. Just make sure that they are properly mounted. This is especially important for HDDs as they are very sensitive to vibration and need to be kept still by a proper mount with rubber padding.

For the desktop itself, make sure it is fast enough to provide enough throughput. You should be using a CPU with at least 4 cores and DDR4 memory. The more memory you have the more data can be cached. I would go for 16 or 32gb and if you can go even higher. Also make sure you are using gigabit Ethernet with a gigabit switch.

Now for the software. I would install TrueNAS scale as it uses ZFS which is a create filesystem for data storage. TrueNAS can be a little tricky but it is all controllable though a web interface and if you need help guides can be found online.

For accessing the data, I would use either a SMB or NFS share. Smb tends to be simpler and has better cross platform support. NFS can be faster but it is tricky to configure. Make sure that your laptop has a Ethernet connection as doing things over WiFi is going to be slow. You might be able to get away with it if you have a newer wifi revision with a newer WiFi card.

If you are still looking to solve the original problem, you can use Syncthing. Syncthing has a few click install for TrueNAS and you can find guides on how to configure it in a way that works for you.

[–] linuxPIPEpower@discuss.tchncs.de 2 points 5 months ago (2 children)

Maybe Syncthing is the way forward. I use it for years and am reasonably comfortable with it. When it works, it works. Problems is that when it doesn't work, it's hard to solve or even to know about. For the present use case it would involve making a lot of shares and manually toggling them on and off all the time. And would need to have some kind of error checking system also to avoid deleting unsynced files.

Others have also suggested NFS but I am having a difficult time finding basic info about what it is and what I can expect. How is it different than using SSHFS mounted? Assuming I continue limping along on my existing hardware, do you think it can do any of the local caching type stuff I was hoping for?

Re the hardware, thanks for the feedback! I am only recently learning about this side of computing. Am not a gamer and usually have had laptops, so never got too much into the hardware.

I have actually 2 desktops, both 10+ years old. 1 is a macmini so there is no chance of getting the storage properly installed. I believe the CPU is better and it has more RAM because it was upgraded when it was my main machine. The other is a "small" tower (about 14") picked up cheaply to learn about PCs. Has not been upgraded at all other than SSD for the system drive. Both running debian now.

In another comment I ran iperf3 Laptop (wifi) ---> Desktop (ethernet) which was about 80-90MBits/s. Whereas Desktop ---> OtherDesktop was in the 900-950 MBits/s range. So I think I can say the networking is fine enough when it's all ethernet.

One thing I wasn't expecting from the tower is that it only supports 2x internal HDDs. I was hoping to get all the loose USB devices inside the box, like you suggest. It didn't occur to me that I could only get the system drive + one extra. I don't know if that's common? Or if there is some way to expand the capacity? There isn't too much room inside the box but if there was a way to add trays, most of them could fit inside with a bit of air between them.

This is the kind of pitfall I wanted to learn about when I bought this machine so I guess it's doing its job. :)

Efforts to research what I would like to have instead have led me to be quite overwhelmed. I find a lot of people online who have way more time and resources to devote than I do, who want really high performance. I always just want "good enough". If I followed the advice I found online I would end up with a PC costing more than everything else I own in the world put together.

As far as I can tell, the solution for the miniPC type device is to buy an external drive holder rack. Do you agree? They are sooo expensive though, like $200-300 for basically a box. I don't understand why they cost so much.

[–] possiblylinux127@lemmy.zip 3 points 5 months ago* (last edited 5 months ago) (2 children)

Simplify it down if you can. Forget NFS, SSHFS and syncthing as those are to complex and overkill at the moment. SMB is dead simple in a lot of ways and is hard to mess up.

I would start by figuring out how to get more drives in your desktop. SSDs can be put anywhere but HDDs need to be mounted. I would get two big disks and put them in raid 1 and then get a small disk for the boot drive. TrueNAS is still going to be the easiest route and TrueNAS scale is based on Debian under the hood although its designed to not be modified for reliability.

Forget the USB drives. I did that for a while and it is bad in so many ways. It will come back to haunt you even if the work fine for now.

For the desktop you always could upgrade the ram or CPU if that becomes the bottleneck. If the ram is 8gb or less you should upgrade it. Make sure you are getting ram that is fast enough to keep up with the CPU. You can find more information about your CPU and its ram speed online.

For your WiFi, it actually isn't bad. You might be ok using it depending on what you are doing.

For the minipc I wouldn't use it as a NAS. You can but it is probably going to be limiting.

In case your desktop doesn't have enough Sata ports you could get a ePCI sata card. They are pretty cheap ($10) and will potentially work better if your hardware is limited.

load more comments (2 replies)
[–] Ludrol@szmer.info 2 points 5 months ago (2 children)

2 internal hdds

As I understand the PC case is some sort of small form factor and the motherboard has more SATA ports to plug in disks.

If that's the case then try to find old pc case in the dumpster or from a neighbour. It should have more space for disks.

Some PCs 15 years ago had incompatible layouts so be a little cautious but gratis is a fair price.

load more comments (2 replies)
[–] Corgana@startrek.website 9 points 5 months ago

I have a very similar setup to you, and I use SyncThing without issue for the important files (which I keep in my Documents directory to make it easy to remember).

[–] Max_P@lemmy.max-p.me 7 points 5 months ago (1 children)

Easiest for this might be NextCloud. Import all the files into it, then you can get the NextCloud client to download or cache the files you plan on needing with you.

[–] linuxPIPEpower@discuss.tchncs.de 3 points 5 months ago (3 children)

hmm interesting idea. I do not get the idea that nextcloud is reliably "easy" as it's kind of a joke how complex it can be.

Someone else suggested WebDAV which I believe is the filesharing Nextcloud uses. Does Nextcloud add anything relevant above what's available from just WebDAV?

[–] Max_P@lemmy.max-p.me 5 points 5 months ago

I'd say mostly because the client is fairly good and works about the way people expect it to work.

It sounds very much like a DropBox/Google Drive kind of use case and from a user perspective it does exactly that, and it's not Linux-specific either. I use mine to share my KeePass database among other things. The app is available on just about any platform as well.

Yeah NextCloud is a joke in how complex it is, but you can hide it all away using their all in one Docker/Podman container. Still much easier than getting into bcachefs over usbip and other things I've seen in this thread.

Ultimately I don't think there are many tools that can handle caching, downloads, going offline, reconcile differences when back online, in a friendly package. I looked and there's a page on Oracle's website about a CacheFS but that might be enterprise only, there's catfs in Rust but it's alpha, and can't work without the backing filesystem for metadata.

[–] possiblylinux127@lemmy.zip 3 points 5 months ago

Nextcloud has a desktop app that can sync folders.

Nextcloud AIO in docker is dead simple and has been reliable for me.

The sync client is capable of syncing the whole tree as remote pointers that didn't take space until you access the file then it downloads it local. You can also set files to always be local.

[–] joeldebruijn@lemmy.ml 6 points 5 months ago (1 children)

One of the few times I miss Files-on-demand for Win11. Connect an Office365 library with 500 GB to my laptop with an 128 GB harddrive. Integrates with file explorer, only caches local what you open, after a while you can "free space", meaning deleting local cache version. NextCloud has the same on Win11 because its an OS feature.

[–] linuxPIPEpower@discuss.tchncs.de 2 points 5 months ago (1 children)

sounds sweet! Perfectly what I am looking for.

It's so rare to be jealous of windows users!!

I do find this repo: jstaf/onedriver: A native Linux filesystem for Microsoft OneDrive. So I guess in theory it would be possible in linux? If you could apply it to a different back end..

[–] ReversalHatchery@beehaw.org 2 points 5 months ago

It's certainly possible, if not else than with the use of FUSE. But I did not see such a project yet that can do this.

[–] mbirth@lemmy.mbirth.uk 5 points 5 months ago (1 children)

What you suggest sounds a lot like the “Briefcase” that was in Windows 9x. I don’t know of something similar, especially not something integrated into Linux.

The easiest way might be to setup SyncThing to share all of your different folders and then subscribe to those you need on your laptop. Just be aware that if you delete a file on your laptop it will also be deleted on your desktop on the next sync. Unsubscribe from the folder first before freeing up the disk space.

[–] linuxPIPEpower@discuss.tchncs.de 2 points 5 months ago (1 children)

if you delete a file on your laptop it will also be deleted on your desktop on the next sync

This is my fear! I have done it before.... Forgetting something is synced and deleting what I thought was "an extra copy" only to realize later that it propagated to the original.

[–] ScreaminOctopus@sh.itjust.works 2 points 5 months ago

If you're on Linux I'd recommend using btrfs, or bcachefs with snapshots. It's basically like time machine on MacOS. That way if you accidentally delete something you can still recover it.

[–] MNByChoice@midwest.social 4 points 5 months ago (6 children)

NFS and ZeroTier would likely work.

When at home NFS will be similar to a local drive, though a but slower. Faster than SSHFS. NFS is often used to expand limited local space.

I expect a cache layer on NFS is simple enough, but that is outside my experience.

The issue with syncing, is usually needing to sync everything.

load more comments (6 replies)
[–] BearOfaTime@lemm.ee 4 points 5 months ago (1 children)
  1. What's your network performance look like? 100mbit? Gigabit?

  2. External drives are terribly slow, USB doesn't have great throughout. Also they're unreliable, do you have backups? I'd look into making those drives internal (SATA) which has much better throughput. I use one external drive on USB3 for duplication, and it's noticeably slower on file transfers, like 40%.

  3. For remote access to your files, look into Tailscale. You run it on your laptop and server (or any compatible device in your network), and it provides a virtual mesh network that functions like a LAN between devices.

  4. Syncthing is great, but it just keeps files in, entire folders of them. So if space is tight on the laptop, it won't really help, not easily anyway.

  5. Resilio Sync has Selective Sync, where it can index a folder and store that index on any device participating in that sync job. Then you can select which files to sync at any time.

[–] linuxPIPEpower@discuss.tchncs.de 4 points 5 months ago (1 children)
  1. In another comment I ran iperf3 Laptop (wifi) ---> Desktop (ethernet) which was about 80-90MBits/s. Whereas Desktop ---> OtherDesktop was in the 900-950 MBits/s range. So I think I can say the networking is fine enough when it's all ethernet. Is there some other kind of benchmarking to do?

  2. Just posted a more detailed description of the desktops in this comment (4th paragraph). It's not ideal but for now its what I have. I did actually take the time (gnome-disks benchmarking) to test different cables, ports, etc to find the best possible configuration. While there is an upper limit, if you are forced to use USB, this makes a big difference.

  3. Other people suggested ZeroTier or VPNs generally. I don't really understand the role this component would be playing? I have a LAN and I really only want local access. Why the VPN?

  4. Ya, I have tried using syncthing for this before and it involves deleting stuff all the time then re-syncing it when you need it again. And you need to be careful not to accidentally delete while synced, which could destroy all files.

  5. Resilio I used it a long time ago. Didn't realize it was still around! IIRC it was somewhat based on bittorrent with the idea of peers providing data to one another.

[–] BearOfaTime@lemm.ee 3 points 5 months ago* (last edited 5 months ago)

The VPN is to give you access to your files from anywhere, since you don't have the storage capacity on your laptop for all of them.

If you have an encrypted connection to home, laptop storage isn't a concern.

As a benefit, this also solves the risk of losing files that are only on the laptop, by keeping the at home.

Yea, Syncthing has it's moments (and uses - I keep hundreds of gigs between 5 phones and 5 laptops/desktops in sync with it).

Resilio does use the bittorrent protocol, but uses keys and authorization for shares. Give it a try, it may address your need to access files remotely. I use it to access my media (about 2TB) which clearly can't be sync'd to my laptop (or phone). I can grab any file, at any time.

[–] bloodfart@lemmy.ml 4 points 5 months ago* (last edited 5 months ago) (2 children)

You have two problems.

Transferring between your laptop and desktop is slow. There’s a bunch of reasons that this could be. My first thought is that the desktops got a slow 100mbps nic or not enough memory. You could also be using something that’s resource intensive and slow like zfs/zpools or whatever. It’s also possible your laptops old g WiFi is the bottleneck or that with everything else running at the same time it doesn’t have the memory to hold 40tb worth of directory tree.

Plug the laptop into the Ethernet and see if that straightens up your problems.

You want to work with the contents of desktop while away from its physical location. Use a vpn or overlay network for this. I have a complex system so I use nebula. If you just want to get to one machine, you could get away with just regular old openvpn or wireguard.

E: I just reread your post and the usb is likely the problem. Even over 2.0 it’s godawful. See if you can migrate some of those disks onto the sata connectors inside your desktop.

[–] possiblylinux127@lemmy.zip 2 points 5 months ago

Not to mention USB drives have higher failure rates and can be unplugged by mistake.

[–] linuxPIPEpower@discuss.tchncs.de 2 points 5 months ago (1 children)

Thanks!

I elaborated on why I'm using USB HDDs in this comment. I have been a bit stuck knowing how to proceed to avoid these problems. I am willing to get a new desktop at some point but not sure what is needed and don't have unlimited resources. If I buy a new device, I'll have to live with it for a long time. I have about 6 or 8 external HDDs in total. Will probably eventually consolidate the smaller ones into a larger drive which would bring it down. Several are 2-4TB, could replace with 1x 12TB. But I will probably keep using the existing ones for backup if at all possible.

Re the VPN, people keep mentioning this. I am not understanding what it would do though? I mostly need to access my files from within the LAN. Certainly not enough to justify the security risk of a dummy like me running a public service. I'd rather just copy files to an encrypted disk for those occasions and feel safe with my ports closed to outsiders.

Is there some reason to consider a VPN for inside the LAN?

load more comments (1 replies)
[–] bartlbee@lemmy.sdf.org 3 points 5 months ago (1 children)

zerotier + rclone sftp/scp mount w/ vfs cache? I haven't tried using vfs cache with anything other than a cloud mount but it may be worth looking at. rclone mounts work just as well as sshfs; zerotier eliminates network issues

[–] linuxPIPEpower@discuss.tchncs.de 2 points 5 months ago (1 children)

What would be the role of Zerotier? It seems like some sort of VPN-type application. What do I need that for?

rclone is cool and I used it before. I was never able to get it to work really consistently so always gave up. But that's probably use error.

That said, I can mount network drives and access them from within the file system. I think GVFS is doing the lifting for that. There are a couple different ways I've tried including with rclone, none seemed superior performance-wise. I should say the Desktop computer is just old and slow; there is only so much improvement possible if the files reside there. I would much prefer to work on my Laptop directly and move them back to Desktop for safe keeping when done.

"vfs cache" is certainly an intriguing term

Looks like maybe the main documentation is rclone mount > vfs-file-caching and specifically --vfs-cache-mode-full

In this mode the files in the cache will be sparse files and rclone will keep track of which bits of the files it has downloaded.

So if an application only reads the starts of each file, then rclone will only buffer the start of the file. These files will appear to be their full size in the cache, but they will be sparse files with only the data that has been downloaded present in them.

I'm not totally sure what this would be doing, if it is exactly what I want, or close enough? I am remembering now one reason I didn't stick with rclone which is I find the documentation difficult to understand. This is a really useful lead though.

[–] bartlbee@lemmy.sdf.org 2 points 5 months ago

Zerotier + sshfs is something I use consistently in similar situations to yours - and yes, zerotier is similar to a vpn. Using it for a constant network connection makes it less critical to have everything mirrored locally. . . But I guess this doesn't solve your speed issue.

I"m not an expert in rclone. I use it for connecting to various cloud drives and have occasionally used it for an alternative to sshfs. I"ve used vfs-cache for cloud syncs but not quite in the manner you are trying. I do see there is a vfs cache read-ahead option that might he|p? Agreed on the documentation, sometimes their forum helps.

[–] wargreymon2023@sopuli.xyz 3 points 5 months ago* (last edited 5 months ago) (1 children)
  1. wifi is less responsive than ethernet
  2. You don't even need encryption on local connection(no need for ssh) if it is never global.
  3. if you have that many external HDD, I would rather get a NAS and call it a day, it has everything configured for you as well.
  4. I don't know what big data you access on, get a larger SSD to store whatever you might visit often from your HDDs.
[–] nickwitha_k@lemmy.sdf.org 6 points 5 months ago (2 children)

Strong disagreement on №2. That kinda thinking is how you get devices on your home network to join a malicious botnet without your knowledge and more identity theft. ALL network communications should assume that a malicious actor may be present and use encryption-in-transit for anything remotely approaching private, identifiable, or sensitive.

load more comments (2 replies)
[–] Sims@lemmy.ml 3 points 5 months ago

A few ideas/hints: If you are up for some upgrading/restructuring of storage, you could consider a distributed filesystem: https://wikiless.org/wiki/Comparison_of_distributed_file_systems?lang=en.

Also check fuse filesystems for weird solutions: https://wikiless.org/wiki/Filesystem_in_Userspace?lang=en

Alternatively perhaps share usb drives from 'desktop' over ip (https://www.linux.org/threads/usb-over-ip-on-linux-setup-installation-and-usage.47701/), and then use bcachefs with local disk as cache and usb-over-ip as source. https://bcachefs.org/

If you decide to expose your 'desktop', then you could also log in remote and just work with the files directly on 'desktop'. This oc depends on usage pattern of the files.

[–] gravitywell@sh.itjust.works 2 points 5 months ago (1 children)

Can you upgrade the desktop? What speed is your laptops WiFi?

I just use rsync manually until I have syncthig working but these don't really solve slowdown issues and aren't mounted. I would look into a better NIC and/or storage for the desktop or possibly your router.

Try using something like iperf to measure raw speed of the connection between your 2 systems, see if its what it should be (around 300-600mbps for wireless to wired locally) and try to narrow down where the bottleneck is.

[–] linuxPIPEpower@discuss.tchncs.de 3 points 5 months ago (1 children)

A few weeks ago I put some serious time/brainpower into the network and got it waaaay smoother and faster than before. Finally implemented some upgraded hardware that has been sitting on a shelf for too long.

I tried iperf. Actually iperf3 because that's the first tutorial I found. Do you have any opinion on iPerf vs iperf3? On Desktop I ran:

iperf3 -s -p 7673

On Laptop I am currently doing some stuff I didn't want to quit so this may not be a totally fair test. I'll try re running it later. That said I ran:

 iperf3 -c desktop.lan -p 7673 -bidir

And what looks like a summary at the bottom:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   102 MBytes  86.0 Mbits/sec  152             sender
[  5]   0.00-10.00  sec   102 MBytes  85.6 Mbits/sec                  receiver

I actually have AnotherDesktop on the LAN also connected via ethernet. Going from Laptop ---> AnotherDesktop gets similar to the above.

However going AnotherDesktop ---> Desktop gets 10x better results:

[  5]   0.00-10.00  sec  1.09 GBytes   936 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   933 Mbits/sec                  receiver

Laptop has Intel Dual Band Wireless-AC 8260 who's Max Speed = 867 Mbps. It probably isn't the bottleneck. Although with the distro running at the moment (Fedora) I have a LOT of problems with everything so possibly things aren't set up ideally here.

I still didn't upgrade the actual wireless access point for the network; don't recall what the max speed is for current WAP but could be around 100Mbps.

So this is an interesting path to optimize. However I am still interested in solving the original problem because even when I am directly using Desktop, things are slow. I do not really want to upgrade it is I can get away with a software solution. There are many items on my list of projects and purchases that I'd rather concentrate on.

[–] Davel23@fedia.io 5 points 5 months ago

Wifi is always the bottleneck.

[–] just_another_person@lemmy.world 2 points 5 months ago (3 children)

Why is VPN to your main device not an option?

load more comments (3 replies)
[–] SethranKada@lemmy.ca 2 points 5 months ago (1 children)

Have you tried setting up WebDAV? From what I know it has local cache support. I use it to access the files on my NAS remotely. Of course, I could be wrong, and my NAS came with it preinstalled so I'm not actually sure how to set it up manually.

[–] linuxPIPEpower@discuss.tchncs.de 2 points 5 months ago

I've used WebDAV here and there. I found some aspects of set up frustrating so I tend to keep away from it except for smaller, short term use cases.

Does it do the caching thing or is it more of an alternative to SSH/SFTP?

If it's an alternative, what is the benefit?

IIRC WebDAV can be set up from inside certain filemanagers (like nautilus with an extension installed) or by using a web server like apache, or by using smaller stand alone services.

[–] rem26_art@fedia.io 2 points 5 months ago* (last edited 5 months ago) (1 children)

I think others have mentioned TrueNAS as an OS for your Desktop. TrueNAS uses ZFS which is nice cuz it uses RAM to help with speeding up file operations. TrueNAS makes it easy to set up NFS shares if your laptop is running a Unix-like OS, or Samba, for anything else. IDK how much RAM is in your desktop, but if you can get that to 16 or 32 GB, you'd be set on that front.

For dealing with an OS you don't want to change, I'd think about the following first:

What is the speed of your network card in the Desktop? If its 100mbit, you may want to look into upgrading that, if possible to at least a Gigabit card for PCIe. That would speed up anything you do with it.

As for needing local sync for when you're away from your home network, Syncthing could maybe do what you want. TrueNAS can run Syncthing pretty easily as well, but it can be installed on anything, though, idk how this works if you set Syncthing to track a folder thats also one mounted on your local machine via NFS/Samba. Syncthing will just sync the most recent changes to a file to the server, so you can sync when you're on your home network. Assuming that no one will modify the same files on your desktop when you're away.

[–] linuxPIPEpower@discuss.tchncs.de 2 points 5 months ago (1 children)

Thanks! I have gone to look at TrueNAS or FreeNAS a few times over the years. I am dissuaded because hardware-wise they seem expensive. Then on the other hand, they are limited in what they can do.

Comprehension check. Is the below accurate?

  1. TrueNAS is an OS, it would replace Debian.
  2. Main purpose of TrueNAS is to maintain the filesystem
  3. There are some packages available for TrueNAS, like someone mentioned Syncthing supports it
  4. But basically if I run TrueNAS, I will likely need a second computer to run services

Also for comprehension check:

  • The reason many people are recommending NAS (or WebDAV, NFS, VPN etc) is because with better storage and network infrastructure I would no longer be interested in this caching idea.
  • Better would be to have solid enough file sharing within the LAN that accessing files located on Desktop from Laptop would work.
  • The above would be completely plausible

How'm I doing?

[–] rem26_art@fedia.io 2 points 5 months ago* (last edited 5 months ago) (1 children)

There's one thing I forgot to consider in my original reply and I'm sorry for that. With TrueNAS you'd probably have to copy your data off of the existing drives to somewhere else because they will have to be reformatted to create a ZFS pool. I don't know if that is practical for you, so please don't feel like the following is something you must do or anything.

I think you're doing great. Sorry for the late reply. To answer your questions:

  1. TrueNAS Scale is an OS that is built on top of Debian. Using TrueNAS makes set up simpler to set up, but you could implement what you want with a Debian install, but if you were to install TrueNAS, it would replace whatever existing OS you have installd.
  2. Yes, TrueNAS would manage your filesystem. It can manage your hard drives for you. Its UI isn't too hard to understand, and it can be accessed and managed through a web browser on your Laptop.
  3. TrueNAS has some software packages in the form of docker containers, they are managed through the TrueNAS UI. You can browse them though their website here. My advice with these apps would be to set up your NAS with all of the drives in storage pools first before installing these. If theres something you want that isn't supported, TrueNAS can also set up Virtual Machines, and you can use one of those to run those services, provided your CPU supports it and its turned on in the BIOS. If you go need to go down this route, you will have to set up a bridge network in TrueNAS in order to get the VM to communicate with TrueNAS over your network, but that's not particularly hard or anything.
  4. You will need to run TrueNAS on its own computer, yes. What I was suggesting was installing TrueNAS as the OS on your Desktop. Idk if thats practical for you or not, since doing so would need you to wipe everything on the boot drive of your Desktop, so idk if you have a place to copy any important data off of it to.

In terms of comprehension, yeah I think you've got it. I think a NAS system would handle your caching idea for you, if I'm understanding you correctly. Having a good file sharing setup over LAN, whether its using NFS, or Samba would allow you to mount a folder from your Desktop on your Laptop and access them.

For files that you want to have access to when not on your home network, you could set up a folder that Syncthing tracks on your Desktop, sync that with your Laptop, and then have access to them that way.

load more comments (1 replies)
[–] RegalPotoo@lemmy.world 2 points 5 months ago* (last edited 5 months ago) (1 children)
load more comments (1 replies)
[–] flan@hexbear.net 2 points 5 months ago* (last edited 5 months ago)

i can imagine some kind of LRU cache being reasonably useful for this situation, assuming you have some latency hierarchy. For example if the desktop has an SSD, HDD, and some USB HDDs attached I can imagine you having a smaller cache that keeps more frequently accessed files on the SSD, followed by a bigger one on the internal HDD, and followed again by USB HDDs as the ultimate origin of the data. Or even just have the SSD as cache and everything else is origin. I don't know if there's software that would do this kind of thing already though.

You may want to consider zipping files for transfer though, especially if the transfer protocol is creating new tcp connections for every file.

[–] bionicjoey@lemmy.ca 2 points 5 months ago

Is the desktop using a wifi card? You could plug it into the router to shorten the journey and halve the number of wireless hops.

load more comments
view more: next ›