Family Photo Chest Part 8: NAS Software

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I only noticed last minute that it’s time for this month’s edition of Family Photo Chest, so I’ll probably be on the short and wordy side. Let’s get started!

While I explored around a little in the Network Attached Storage (NAS) documentation last time, I rightly came to the conclusion that this system has more features than I will ever need. I knew I would need time –days perhaps– to scout the documentation.

Fortunately, I found a YouTube channel, mydoodads, with an awesome overview of Synology’s NAS operating system, Disk Station Manager. I highly recommend his series I’ve been watching for today’s post: How to Setup and Configure a Synology NAS. Topics are broken into 6 to 12 minute videos, and more importantly to me, his audio is clean and understandable. My one complaint is that he doesn’t always act like Linux is a thing. If you’re here to follow along, just go check his videos. He’s more set up for actual instruction than I am.

In the meantime, my vision for this system was to just have a simple external hard drive I can see from whatever file browser I like, sort of like the “K drive” at my university. My first impression upon seeing the login over a browser and seeing a full desktop was that that was the only way to use it. Watching mydoodads’ tutorial, I learned about the Server Message Block (SMB) protocol, which looks very much like my memories from the K drive.

There are other ways to access the device, and I’m still deciding how I’m going to get everyone using it. Right now, it’s connected to my personal subnet that won’t let anyone outside look at it, and I’ve given it a static IP of 10.0.1.2. I’ll need to see if it will automatically adjust to the different netmask (I hope I’m using that word correctly).

The one thing I haven’t come across in this video series is setting up RAID, which I already did before. He did go over shared folders, but I still need to set up other basic stuff, like user accounts and groups. Part of why I was getting lost was because I found and started messing with storage pools, which appear to be for when you’re dealing with multiple logical NAS setups on the same network. I still have so much to learn.

Final Question: Have you ever used a network storage? If so, did you understand at the time?

Minecraft NoVillage Datapack

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I was going to cover work on my cluster, but I needed an easier week, so I worked on sysadmin stuff for my family’s Minecraft server. Let’s get started!

Minecraft is a constantly changing game. I don’t always like change. My ideal creative world is a clean superflat world with a normal Nether and End, but while working on a resetting End city with a friend, we found my creative server wasn’t just generating a clean overworld, but the End and Nether were also devoid of structures.

Structure generation in Minecraft is controlled by a single flag in the initial config file. Historically, it only affected the overworld, but more recently, as I found recently, it now has power over other dimensions as well. I wasn’t happy.

Plains villages are the only possible structure that can spawn that I don’t want. My plan was simple: create an empty structure file, and replace the contents of all unwanted structure files with it while preserving the names.

I started with a working datapack that fires off a series of fireworks in the shape of an American flag. I unpacked the server jar file and cringed at possibly having to do 50 or so of these structure file swaps. Fortunately, I’ve recently been working with the find command in Linux, so I had an idea of the sort of things it could do, and such a massively parallel operation is second nature to it. I had to look up a little syntax to target all files but matches, the -not command to negate the next option, but I got the feeling I was over the initial learning curve.

In practice, this project was almost self-assembling. The biggest hitch was when NBTExplore was required to edit level.dat when structures failed to generate, even after telling them to do so in the config options. I had to install mono, a compatibility layer for .NET framework applications. I had previously had issues with getting it to work while following the programmer’s instructions, but sudo apt-get install mono-complete was suggested on an old forum post from around 2011-2013, followed by a dead link. I also had to look up how to extract a .exe file from the given .msi folder using a version of 7zip that I’m pretty sure came with Debian.

It felt like a small miracle when NBTExplore showed up properly. I have no clue if I can zoom in, but I was able to get in there and do what I needed to.

In short: I pulled off something satisfying using mostly skills I already had.

Of note: Structure packs use something called a domain or something that can be turned on or off. In order to override default anything, you must place your assets in a domain called minecraft and in an appropriately titled sub-directory. It does not matter what your datapack itself is called. Voiding structures will only work with structures that aren’t hard coded into the game, like nether fortresses strongholds, or desert and jungle temples.

Final Question: If I submit this datapack for publication, what should I name it?

Recovery

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am trying to recover my Laptop’s Windows drive. Let’s get started!

This project… this project I never wanted to need… has bullied around other stuff, and I’ll be glad when the equipment I’m using for it is freed up.

What felt like ages ago, I was formatting a drive so I could install MineOS on a 1 TB drive and move my family’s Minecraft server over from a smaller drive. The tutorial I was following said to format sdb, and I formatted sdb, but sdc was the one I really wanted to format. I missed the warning signs, and by the time I noticed, the deed was done. Normal procedure would dictate that I immediately shut down and remove the affected drive, but it’s screwed in and the computer is presently functioning as my primary workstation. Aside from mounting it once or twice right away to verify the damage, I’ve mostly left it alone.

Ideally, I would have backed anything up right away and only worked on a copy. For that, we ordered an eSATA to SATA cable (with power included) and it came on a slow boat from Taiwan. In the meantime, doflagie, a friend from my family’s server who has a few decades in IT, told me how handy USB to SATA cords are and “[wished] you were next door, I’d throw you one!”

With the cord in hand, I hooked it up and quickly learned to treat it more like an internal SATA connection and less like an external USB drive. I HAVE A QUESTION OUT ABOUT USB TO eSATA. I had to rearrange the BIOS again to prefer USB over eSATA, but that wasn’t anything new to me.

I learned my way around the dd command. There’s a reason it’s called Disk Destroyer, and I’m thankful I haven’t learned that lesson for myself yet, and I hope this lesson I’m going through now is close enough. Data Duplicator, the actual name, is a rather odd command when you look at it. Where most commands would have you order your parameters, dd makes you explicitly state the input and output files.

I eventually dumped the formatted disk straight onto a waiting 1 TB SSD and took it to my tower upstairs. I don’t want any chance of wiping another important drive, so I grabbed the original HDD from ButtonMash, the drive with my first Linux install, and put it in my personal desktop instead of another Windows drive. I tried installing TestDisk from a package, but I was missing dependencies, and Ubuntu didn’t like my USB Wi-Fi dongle (What is it with that machine and OS changes needing different Wi-Fi? I mean, first Win10 hates my internal Wi-Fi card and now this?).

This is where the project lingered while I worked on my Pi 4 Wi-Fi to Ethernet router. I broke down and finished that the easy way shortly after posting about it last, and due to fatigue and a photo chest week, I bumped this post a couple weeks and used something I had in reserve about a scam. I had another one, by the way. This time it was only about half a Bitcoin, but I reported it right away.

With a working Internet solution, I installed TestDisk and let it run. All I know about this utility is that if you’re doing free and open source data recovery, you’re dealing with TestDisk. I didn’t really see another option. I used it to find missing partitions, and I didn’t understand a lick of what I was doing. I ended up giving up and making an ISO file of the original drive over the copy I had made.

ISO copies don’t appear to be readily editable, it seems. I’ve since been working with the main drive. Most of my work toward this project has been the slog through the hard drive, looking for partitions, multiple times over.

I tried burning Win10 recovery CD. which needed a few megabytes more than a single layer, single sided DVD. A new, low-end USB drive has joined the fold, and it’s the biggest thumb drive I now have, weighing in at 16 GB. The ISO Microsoft gave me didn’t work: “operation [sic] not found”. I tried booting to it from my GRUB CD, but was told something or rather was invalid. I also tried some small distro called Trinity Recovery Kit, but again, it’s the right tools in inexperienced hands.

I’m getting tired of this. I want to move on, and doflagie even told me I could be on this for months. I just want to run a general recovery program and see what I can grab from the mess of things I have now, then try again after putting the ISO back for another pass. After that, this project needs to go rest in peace.

Addendum: I was going to make this post a two parter, but in all reality, I’m done with this project. I don’t have enough content for a second half.

I carved out what I could with some program I forget the name of. It combed through the remains of my hard disk and spat out a bunch of files. At least it had the courtesy to separate them by file type, because when I opened the PNG and JPG folders to sift through the ashes with a GUI viewer, my laptop chugged at tens of thousands of tiny, little files.

I had to learn the find command to weed out the smaller ones. I figure in the hands of someone who knows what they’re doing, it can fully replace all functions you would expect from a GUI file viewer except actually generating a preview. One little adventure here was when I had around 22,000 or so PNG’s larger than one kilobyte , roughly 50,000 PNG’s total, yet 0 of those were smaller that 1k. The difference were exactly at 1k.

Another small adventure was when I moved the 1k files into their folder, but then it tried moving each file over and over again in an infinite loop. I immediately knew I was dealing with a recursive directory error.

When I finally went and combed through the reasonably sized PNG’s it was mostly stuff I probably had lying around in a cache or swap at some time. Other bits were system icons like for forward or back. The JPG folder looks more promising, so I hope to recover more memories from there.

I’m done with this project. As with a few of my other projects, I need to release this one before all progress possible is made. Data recovery is expensive for a reason. I’ve done what it’s worth it to salvage things. Any additional data the professionals might glean from my drive isn’t worth it.

Final Question: What projects have you had to lay to rest with no intent to ever finish?

Family Photo Chest Part 7: NAS Hardware

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I’m assembling a NAS(Network Attached Storage) system. Let’s get started!

These things don’t come cheap. Between the case and four large hard disks, the whole system costs as much as a decent computer. It’s also worth noting that this is the first new system I’ve covered on this blog, aside from Raspberry Pis or similarly powered units.

In a way, it was actually a small blessing that this aspect of the project was delayed. In the time since I started researching NAS and now, Western Digital was found to be selling some of their archive quality drives as SMR (Shingled Magnetic Recording) instead of PMR (Perpendicular Magnetic Recording). This is bad because shingled drives are designed to overlap their magnetic tracks while writing so only the narrow read head can fit when the deed is done, and I intend to store more than just static data on here.

We bought four of the smallest non-shingled model. At seven Tb a pop, we should be able to dump all our existing data onto these things two or three times over should we see fit, but only after it’s set up, and that’s after reserving a full drive’s worth of data for parity.

Parity is a redundancy technique that provides some room for error. RAID 5 (Redundant Array of Independent Disks) does this by using a bit one one drive and adding all the bits in the same position on each of the other drives and ignoring all carries. It then distributes this parity data across all the drives, so the more drives in the array, the more efficient your data loss protection. If one drive is suddenly zapped out of [electronic] existence, you just need to replace it with another one of equal or greater storage capacity and the array can repair itself from there.

The NAS system we got was made by Synology –just to be clear, this is not a sponsorship, and I have never had a sponsorship– and I had some quality time with my father as we assembled it. Assembly wasn’t toolless, and the case was a little hard to get back on, but the photographic instructions were easy enough to understand, though they could have used to label their screws as being for either HDD or SSD.

Software wise… I’ll be spending another post setting things up, but I did take a self-guided tour of the place already. Synology has their own operating system called DMS (Disk Management System). I saw that and panicked. My shtick has been Linux, and at least trying to do it myself until stop learning and get frustrated. Long story short, I got bored and found myself reading the license agreement. I didn’t understand it all, but I found references to the GNU license in there.

According to one post on Redit I have since lost track of, people should be cautioned against toying around with different operating systems on this NAS solution because there’s a chance it could brick the system; I really don’t want that. Besides, it looks to me like DMS is built on at least the Linux kernel, and if that thread I found was to be trusted, it’s a stripped down version of Debian.

While writing this, I poked around in SSH and confirmed Linux, but determining parent distro is outside my abilities right now. It sure didn’t feel like a normal SSH experience. It dumped me straight into the root directory instead of a home folder –understandably without the disclaimer about free software and no warrenty– and when I got around to sudo whoami, it lectured me about the basics of superuser privileges, mirroring my earlier experiences in the graphical web interface.

From the moment I started installing the DMS operating system, I noticed how they somehow managed to design their user experience in such a way that anyone with basic computer literacy can use it, but they somehow managed to avoid insulting the intelligence of their power users. I didn’t need the utility they had to find the device’s local IP. I don’t need their online services to bypass port forwarding or their pictures and video galleries, but they’re there for people who want them.

My only substantial complaint so far is that the interface looks like it wants to be Windows, but clearly isn’t. The blue color scheme is there, but all the icons are off. I’m also constantly rummaging around through documentation for advanced features I don’t have a reason to know about yet, let alone disregard for the time being. I suppose I was a little miffed about GoldenOakLibrary being one character too long for the length cap at 15, but by removing a couple letters near the end, it’s still readable if you know what you’re looking at.

My big plans for this system at present are to make some sort of division between family photos, computer backups, and general storage. Once that’s done, we can finally start scanning, among other things.

Final Question: What systems have you used that don’t baby down their interfaces with scary warnings to the point of alienating power users who already knew what was going on?