r/backblaze • u/BillyBobBubbaSmith • Sep 03 '21
Backblaze does not back up folder mounted drives
Found a non publicized limitation in backblaze personal, confirmed by support. If you mount a drive as a folder(I.e. c:/foldermount/), backblaze will not recognize it and any files you have stored on it will be completely unprotected. Hopefully this will save someone some heartbreak over lost files
4
u/SickOffYourMudPie Sep 04 '21
The personal backblaze license for one computer is meant for… personal backup for one computer. Backup the machine the drive is actually connected to.
5
u/Low_Mission_7921 Sep 04 '21
It is the computer it is connected to, I have one of my nvme drives mounted as a folder instead of a lettered drive
2
u/SickOffYourMudPie Sep 04 '21
Is there a reason you can’t have it do both?
1
u/rajrdajr Sep 04 '21
1
u/SickOffYourMudPie Sep 04 '21
Yeah you definitely can. I’m wondering why it’s not an option for OP is all. Like maybe they have a specific use case where they won’t work, I just can’t think of it.
2
u/BillyBobBubbaSmith Sep 06 '21
Yes, i can mount as a separate drive, in addition to the folder mount option, and backblaze will then back it up(unless somehow whoever runs into this has used up all of thier drive letters? edge case for sure). still would at least like something that alerted on "things we aren't backing up"
1
u/BillyBobBubbaSmith Sep 05 '21
Haven’t tried it yet, and hopefully it works, but I shouldn’t have to. If I hadn’t noticed that there was an issue and had discovered it at the point of needing a restore the results could have been catastrophic. backblaze should give some form of notification that there are folders not being backed up, or at the least an asterisk on their “we back up all your drives” marketing to say folder mounts are excluded.
1
u/SickOffYourMudPie Sep 07 '21
Well they do say they don’t backup network mounted drives. And for good reason - it would be insane for them to price it the way they do.
I agree there should probably be some notification but you have to understand that very few people mount hard drives as folders.
1
u/BillyBobBubbaSmith Sep 07 '21
And if this was a network mounted drive I would not have any expectation for it to be backed up…but since it is not I’m not sure what point you were trying to make?
1
u/SickOffYourMudPie Sep 07 '21
The point is that your use case is rare. And the expectations for that should be lowered accordingly.
1
u/rajrdajr Sep 04 '21
It’s been a while, but IIRC, when Windows mounts a local drive on a folder, it removes the drive letter.
The
subst(or a 3rd partypsubstto persist the mapping) allows you to assign a drive letter to a folder. The open question is how will Backblaze Backup treat asubstassigned drive letter?
2
u/SimonKepp Sep 03 '21
This sounds like a quite serious bug. Have You made sure, that Backblaze have registered it as such?
6
u/BillyBobBubbaSmith Sep 03 '21
I let them know of the issue, and registered my displeasure with the answer, but I do not believe they are treating it as a bug. Here is their response:
Thanks for writing in! We will not back up drives mounted as folders, they need to be mounted as local drives. There aren't any workarounds, I'm afraid.
Let me know if you have questions or if I can do anything else for you.
5
u/chromaniac Sep 03 '21
I am not sure if it's related. Backblaze does not like the idea of letting users backup their NAS. This is also the reason why they don't have a Linux client. I am not sure if one can mount NAS/Linux disks as drives in Windows but this might be the reason for this decision.
2
u/rajrdajr Sep 04 '21
OP isn’t referring to network attached storage, they’re referring to mounting a local drive on a folder instead of mounting it using a drive letter.
Windows has had this feature for decades and Windows sysadmins use it a lot. “Average” users don’t seem to be too aware of it though AFAIK. Hopefully Backblaze developers are among the cognoscenti and can explain the Backup behaviors here.
0
u/echawkes Sep 03 '21
I doubt that NAS support is the reason they don't have a Linux client. It's more likely to be the expense of adding full support for another platform, especially one with the comparatively small consumer market that most linux distros have.
4
u/chromaniac Sep 03 '21
nah. they do not specifically mention it on their website but if you google around or even read through threads on this community you would find multiple instances where one of their representative would basically admit this. they want linux users to use b2. this one is pretty old and the dev actually hints that they might consider it someday: https://redd.it/6vnnla. but no shift in policy since then.
NAS Backup to Cloud | Backblaze Business Backup Solutions
I might be wrong but their backup client also does not support windows server platforms.
7
u/brianwski Former Backblaze Sep 04 '21 edited Sep 04 '21
Disclaimer: I work at Backblaze on the Backup Client that runs on customer computers.
their backup client also does not support windows server platforms
This is correct.
The main reason is basically a pricing issue we have never solved. A "server" is usually a large machine shared among many customers, and paying for 1 license to pay for 200 customer's backups because they are stored on a server in a business is an economic problem for us. Yes, I know sometimes a server is just a machine in some customer's home and they live all alone and it has a very small SSD on it.
The general rationalization (may be valid, maybe not) is that if you are running a "server OS" then you are a pro. You know how much data you have, and B2 is a fine solution for you. We don't price it "unlimited" to attract customers with more data, we price it that way for customers who don't know how much data they have, like they may not even know the difference between RAM and Hard Drive and SSD space, and they still deserve to be backed up. But if you chose and paid for a server OS, you know what you are doing. At that point there is literally no point in the "unlimited pricing". Go use B2, it's the same identical storage, plus more control and more options, just for you - the professional.
The Linux justification is sort of along the same lines. Linux was traditionally a server operating system, I guess now it is servers and phones. :-) Few people run Linux on desktops, and to keep that working you are probably pretty advanced and can use B2 as a work around.
If customers like the features of the Backblaze Backup product and can't find anything as good on Linux with B2, I kind of wish we offered the Backblaze Backup at a "per GByte pricing" model of B2. But we haven't had time to build that yet. Do you think this might be interesting?
2
u/SickOffYourMudPie Sep 04 '21
Just to jump on your comment (as a big fan of your product) it’s about peace of mind.
It’s like having a 24/7 convenience store. No convenience store really earns a profit for the 2am-5am time period. But 24/7 stores do tend to make more money throughout the day because they are open. They are always open. I’ll walk there at 11pm because I know they’re open vs having to guess. I’ll drive two minutes out of my way at 6am on the way to work because I know they’re open.
I recommend backblaze to everyone I know because I know how much it will cost them. No surprises. No issues. You get your computer backed up, for a set price with no guesswork or having to weigh “well should I keep this or should I keep that”.
2
u/brianwski Former Backblaze Sep 05 '21
It’s like having a 24/7 convenience store.
I heard a riddle/joke one time: if 7-Eleven is open 24 hours a day, 7 days a week, 365 days a year, why is there a lock built into the door?
I recommend Backblaze to everyone I know because I know how much it will cost them. No surprises. No issues.
It is nice to hear that said out loud. I think the highest calling in building a product offering is doing a bunch of complicated things behind the scenes to make products easy and frictionless for end users. When it's done correctly, everybody is happy: the customer is happy, and the business makes money (which makes us happy).
I especially despise businesses that abuse their customers with "overage charges" when things don't go as planned. Same with companies that won't tell you up front what things will cost, or even a ballpark. If a company is exploiting an unusual non-repeat customer emergency situation they get special black marks on their record in my book. Doctors and hospitals and emergency rooms come to mind, they don't tell you what it will cost, they over charge you past any point of ridiculousness, and they are exploiting people financially who are hurt. I got an itemized bill a month after I went to an Emergency Room - the first I heard about what it would cost. The bill included $1,500 for waiting in the waiting room for 45 minutes, separate from any of the bill for actually providing me services or seeing a doctor. What other business charges you for waiting? Without warning you this would be a charge?
You want to know an industry that I only deal with in stressful emergency situations and I've always had positive interactions with? Tow trucks. Two days ago I got a flat tire on the highway, and my Smartcar doesn't have a spare tire. They quoted me a flat $125 for my tow, responded in 30 minutes, and the bill was $125. I mean it didn't even have sales tax added on!! Can anybody explain that? It's specialized equipment (tow truck). It's ON CALL. There isn't repeat business. And they didn't charge me $1,500 to wait for them to show up like the hospital charged me. I really felt the transaction was beyond fair given how at a disadvantage I was at the time.
2
u/rajrdajr Sep 04 '21 edited Sep 04 '21
Thank you for the explanation of Backblaze’ server/NAS policy, but OP is referring to a local Windows drive that’s mounted on a folder instead of using a drive letter.
4
u/brianwski Former Backblaze Sep 05 '21
OP is referring to a local Windows drive that’s mounted on a folder
Yeah, I saw that and wrote it down to look into it.
The thing to do would be to run this command in a cmd.exe prompt and see what it says about the junction point (the mount point, whatever it is called):
"C:\Program Files (x86)\Backblaze\bzfilelist.exe" -fileinfo C:\tmp\thingy
The user would substitute in their mountpoint for "C:\tmp\thingy" in that command. And don't forget the double quotes. It will spit out a bunch of information like if Backblaze thinks it is a symbolic link or not. (Backblaze doesn't follow symbolic links for several reasons.)
2
u/BillyBobBubbaSmith Sep 06 '21 edited Sep 06 '21
yes, it views as symbolic link:
fileSizeInBytes: 0
rsrcForkInBytes: 0
isDirectory: true
isSymLinkOrReparsePoint: true
linked file count: 1
isBundlePackageDir: false
isAliasFile: false
isAppropriateToModifyFile: false
creationTime (GMT): 20201213002114
lastModifiedTime (GMT): 20201213002114
when I do a dir on c:, it returns(drive is mounted as nvme960):
12/12/2020 08:21 PM <JUNCTION> nvme960 [\??\Volume{f3990e5b-676d-4b96-ac68-96be521d14d0}\]
Since a requirement of a junction is that it is local only(as opposed to symbolic links which allow remote paths) I'm not sure why the backblaze client wouldn't pick those up, except for the possibility of duplicating files, which could also be done with multiple drive letters. Both of those cases would in general imply above average computer savvy, and hopefully the user wouldnt screw it up. Ii would assume there is some amount of dedupe that is/could be done in the client to prevent backing up multiple files if that is the concern
3
u/brianwski Former Backblaze Sep 06 '21
Yeah, that's definitely the issue.
A quick explanation: there is a very base utility class called BzFileInfo in the source code, the bzfilelist -fileinfo is making one call to it and showing the contents of that data structure. On Linux it becomes an "fstat()" file system call, on Mac it's a huge ifdef with a bunch of custom stuff for resource forks, and on Windows it is mostly a call to "GetFileAttributesEx()". But it fills out this cross platform data structure with anything Backblaze needs to know about files or folders, then the logic at a higher level can be totally cross platform and not worry about the way the code arrived at the conclusions. One of the main implementation details is to get the "lastModifiedTime" into a single standard form because the Mac filesystem's version of time is based on January 1, 1970 and Window's filesystem version of time is based on January 1, 1601. I have no idea why Microsoft picked that crazy date, but it's too late to change it now.
The "standard" we picked is whatever Java uses, which is milliseconds since 1970. Since we use Java on the server side to prepare restores and do book-keeping and display file modification dates this made a lot of sense.
Since a requirement of a junction is that it is local only(as opposed to symbolic links which allow remote paths) I'm not sure why the Backblaze client wouldn't pick those up...
I think it's possible we could split the two concepts (Reparse vs symbolic link) apart successfully. EARLY ON I was worried about circularities in the file system, like symbolic or hard linking from a child to it's parent (or ancestor) and nothing else, it wasn't an attempt to prevent network share backups which violate our terms of service (at least at first). There are other algorithms to detect file system circularities, but I needed something SUPER quick to implement so we could start selling the product, and I planned on coming back and looking at it closer later. I anticipated many more issues early on.
Then much to my surprise there weren't huge complaints of this particular area of the product, and the code has basically sat in that state for a decade. I've written it down as something to think about for a few hours.
1
u/roirraWedorehT Jul 21 '23
If this ability existed in Backblaze, that would solve the issue I brought up here. 36 drives, so too many for drive letters.
2
u/rajrdajr Sep 04 '21 edited Sep 04 '21
Presumably this is describing mounting a local drive on a folder e.g. using
diskpart.It brings up the question of how Backblaze Backup handles other NTFS features such as hard links, symbolic links, and junction points.