Brief Derailment

Life and Final Fantasy VII have got in the way for the last week or so. I cannot complain, for I’m enjoying the distraction. I never did beat Final Fantasy VII back in the day. I know the ending, but I’m endeavoring to actually experience the ending. At the present, I’m trying to gather the Huge Materia.

While debating in my head about continuing to use Office 365 and Zoho for E-mail, I came to a decision. It’s time to deploy and play with NextCloud. Thus, that’ll be my new current project. This will also force me to determine a data backup strategy. Added bonus will be this for a Linux environment. I’ll update the progress here :).

Trying to Break A Windows Virtual Disk

One way I learn concepts is by trying to break something and then fix it. You can learn a good bit about how things work by observing error messages. Tonight I wanted to test what happened if I removed a physical disk that was being used as a part of a storage pool with Server 2016.

The behavior I expected to see comes from my understanding of RAID. With RAID 0 (all data striped across X disks), if you lose a disk, the array fails, and data is lost. Other forms of RAID have some fault tolerance by either mirroring disks or having a parity calculation. Here’s what I did.

  • Created a VM with three VHDX files. One for the OS and two that will be used for a stroage pool
  • Created a storage pool (totaling about 20 GB, since apparently physical disks must be at least 10 GB to be recognized).
  • Created a virtual disk that’s about 2 GB in size. This disk was configured as a simple disk, which I understand to mean it stripes the data among its block devices.
  • Created a volume on the virtual disk.
  • Created a text file on the Virtual disk.
  • Removed one of the two VHDX files being used for the storage pool.
  • Virtual Disk showed there was a problem; however, I could still access the file and create new files.
  • Obviously, I’m going to try to replicate this to make sure the results I saw were valid. It makes sense that removing a disk wouldn’t break the storage pool, since it would simply be less storage available to the pool. What’s curious though is if the Virtual Disk is striped among the physical disks in the storage pool, why didn’t the Virtual Disk completely fail once I removed a VHDX from the VM (trying to mimic just yanking out a drive while everything’s running)? Hopefully my replication of the above will lead me to answer.

On to storage services for Windows Server

It has been a challenge to focus this week on MSCA study — perhaps Thanksgiving is to blame, but I think it was a general lack of motivation, as well as fatigue. Only one way to cure that: get back to work. I stalled a bit on NFS, and decided to return to it later. Conceptually, I understand what’s going on, but trying to get a NFS share from a Windows server accessible from a Linux client will be completed at a later time. I was able to mount the share without a problem, but the directory was owned by nobody:nobody. A little quick Googling found that this isn’t too uncommon of an issue, but I’m really looking forward to playing with storage pools and such, so I’ll return to it.

I do want to take a moment and mention how great virtualization is for learning. It’s simple to make a VM and attach multiple drives to it, rather than having to do that on a physical machine for a lab.

Another week has come and gone

I promise I haven’t forgotten about the blog. Perhaps I should do servers small posts as the moment grabs me rather than try to write something significant each and every post. I am cautious about that, for I do not want this to be an extension of Twitter or the like. By the way, I’m experimenting with the WordPress app for iPhone. So far, it seems to live up to its intended functionality.

Not much has been accomplished with MSCA study this week. I did finish reading the storage chapter and have started making some flashcards. I do look forward to practicing the concepts introduced. One in particular is creating NFS shares on Windows Server. I’ve never actually made NFS shares on a Linux server, and I didn’t know Windows supported them. Also the idea of storage spaces seems interesting. However reading about it reminds me a good bit of LVM on Linux.

Typing on the phone is a bit tedious, so I’ll end this soon. I took a stab at installing a dev OSTicket server using a guide from Mangolassi. A while back I tried to create a script for installing it on a Fedora server (adapting the same guide) and ran into problems with PHP. Tonight’s attempts using CentOS weren’t successful, but I think after a night’s rest and with a clear head, I’ll get it done.

Onward To Storage

As much as it pains me to say, I’m ok with not having memorized every little detail about DISM from Chapter 1 of my MSCA book. I’m excited about starting the next chapter: Storage. I read the first section tonight, which for me was a review about NTFS permissions and information about disk sectors and allocation units. What I found interesting was that you can make NFS shares on a Windows Server. I’ve yet to get around to playing with NFS shares on Linux, so this will be an opportunity for me to see if I can make up a little lab scenario where I share files between a Windows and Linux system using NFS.

I’ve heard about ReFS before, and this chapter touched on it a bit. I’m curious though to see if it’s actually production ready and whether or not it’s being considered and used when folks are deciding about which filesystem to use. One of the things I intend to do spin up some VMs and format volumes with ReFS and see if I notice any differences from NTFS.

One thing I noticed so far in this chapter is no mention of using PowerShell to modify NTFS permissions on items. I’m not surprised because, to my knowledge, there is nothing native with PowerShell for doing such motifications. I know you can probably use ICACLS to modify permissions, but still. . . Luckily, thanks to Raimund Andree there is this. To this day, it absolutely blows my mind such functionality is not just a part of the current version of PowerShell.

Week in Review

See what I did there?

Anyway. I’m finally noticed again on the Internet — I’ve already got some spam comments. I couldn’t help but chuckle to myself about them. On to the actual content.

This week has been busy, despite the feeling of lack of accomplishment. On the MSCA front, I’m a bit more familiar with the concepts in Chapter 1. My next step will be practicing some usage scenarios for DISM and more practice with deploying Nano server. Unfortunately, all I can really do are some contrived scenarios. The goal is to feel a bit more familiar with the commands necessary. The goal is not to memorize every possible switch with DISM or New-NanoServerImage.

There were a few challenges this week with my MSCA work. First, remote management via PowerShell. This has been my experience with remote management of Fedora and CentOS Linux systems.

  1. Open a terminal on a computer, which loads the BASH shell.
  2. Make an SSH connection to a computer I want to manage, or to a jump box, and from there make an SSH connection to the computer I want to manage.
  3. Upon making an SSH connection, I have a BASH shell available with whatever privileges are granted to the account I’m using.

There are differences between running PowerShell at the console for my Hyper-V host, and connecting to the Hyper-V host with PowerShell Remoting. My knowledge of PowerShell isn’t good enough to explain the exact differences, but here are a few that I’ve noticed.

  • Some commands seem to not work during a PowerShell Remoting session.
  • You cannot enter another PowerShell session from an existing PowerShell remoting session.

For example, deploying a Nano Server and attempting to domain join it with the -domainname parameter failed 100% of the time during PowerShell Remoting, but was successful from the console (using the exact same user account). Running the cmdlet with -Verbose revealed that the piece that was failing was djoin, which I thought was curious. Apparently using the -domainname somedomain parameter, actually results in doing an offline provisioning then domain join using djoin. I did not have a chance to try djoin alone from a remote powershell session.

The second example prevents you from using a jump box with PowerShell remoting. For example, From Host A, I cannot enter a PowerShell remote session on Jumpbox B, then within that session, enter another PowerShell remote session into Server C.

I suspect there are workarounds for these situations, and likely some particulars about PowerShell remoting that I don’t yet understand. I also understand contrasting SSH and PowerShell remoting is an apples::oranges situation. However, coming from an environment where “the” protocol used for remote management just works, to an environment where it sort of works is a bit frustrating. This wasn’t entirely a shock to me, as I’ve dealt with this before with trying to access SMB shares from a remote PowerShell session, but that doesn’t make it any less frustrating.

The final challenge deals with KMS. Let me be the first to say, I don’t expect Microsoft (understanding their licensing model) to just give me a KMS key to play with. That makes it a challenge to practice setting up a KMS server. By challenge, I mean it can’t be done. So while I understand conceptually what happens, and I can read about it in my cert book, I don’t see a way, legally, to get what I’d need to actually practice setting up a KMS environment. If there is a way, feel free to leave a comment about it, as I’m sure there are others who want to know.

There was more to my week than MSCA, but I don’t think it’s blog worthy. My overall goal is to not let the blog be neglected, so if I happen to stumble on some worthwhile content, I’ll make a post before another week goes by.

The Trek to 200 – Part 1

A few years ago, I decided to lose weight, and came close to my goal of 200 lbs. If I recall I made it to 202. I’ve decided to start this trek again — not today, mind you, I’ve been working on this for a couple of months, but I figure I’d chronicle some of it here.

My three goals are:

  1. Improve general health
  2. Achieve and maintain 200 lbs.
  3. Be able to return to Taekwondo with less risk of injury

My weight on Sunday (10/27) was 273.4 lbs. My current exercise activities are 10 push-ups daily (a little challenge with my friends on the Network team at work) and jogging (very slowly) 0.75 miles and walking 1.75 miles at least 4 days / week.

I don’t know how many parts this post series will be, but if I feel inspired to mention something about my progress, I’ll be sure to write more.