Sunday, December 27, 2015

PS4 saves gone

So a buddy of mine had a problem with his PS4, and had to send it in for warranty repair. Prior to sending it he was on the line with their normal tech support people who nonchalantly mentioned that, when he sent it in, he'd lose all his files (e.g. months and months worth of saves), which he thought was crazy. He was informed that if he didn't want his saves to be deleted, he'd have to take the harddrive out. No problem - he's handy with a screwdriver, took it out, sent it in for repair. It showed back up at his house faster than expected, and he popped his drive back in...no workie.

Well, turns out that Sony does some weird shit with disks newly inserted - doesn't recognize them at the least, and very well may automatically format them.

All the instructions online indicated he needed to do a software re-initialization which would clearly reformat the system.

This is months and months of gameplay he'd lose! All because he didn't want, in principle, to be forced to pay for that damn cloud service PS+ or whatever, which I totally get. 

Anyway now I've got the drive and I'm working to figure out if his saves can be recovered somehow..which I'd be surprised if they can't. However there are lots of problems:

1. The PS4 drive is in a format and/or partitioned in a way that isn't easily mountable - can't mount it in any way in Windows (tried Win7 Pro and Server 2012r2), Mac OSX just quietly giggles at the silliness of doing something so technical, and as it turns out the filesystem may be in exfat, which Linux doesn't particularly like.

2. The partition scheme of the damned disk is nutso - 15 partitions

3. It seems that the game saves are also encrypted. I'm hoping they're encrypted against a public key available from the user's account, so simply moving the encrypted files and their keyfiles to a working system with the same user logged in will just work. However the research I've done online is not encouraging on this topic.


So, I don't have a modern system that has a Linux distro running on it (have an old Thinkpad running an old version of Mint, but I only use that for watching DVDs on my equally-old projector, ha). 

I'm installing Lubuntu 14.04 in a Hyper-V virtual machine on my Server 2012R2 host, passing through the USB cradle that the PS4 harddrive is enclosed in, and going to try to mount the correct partition, find the files, pull them off into a Fat32-formatted USB drive with the right filestructure to re-import, take the drive back to my friend's place to reformat and reinstall it in his PS4, and hopefully re-import the saves into his PS4....

Lots and lots of if's here...wish me luck (:

Saturday, September 26, 2015

What's easy and what's hard

It's really amazing what ends up taking more time and effort, isn't it...

So the other day a prospect who's been running Horizon View for several years now and been unsuccessful at virtualizing a lot of their apps told our partner that they flatly did not believe we could layer their difficult apps. Four they pointed out as examples and requested to see layered in real time were Visual Studio, Photoshop, Quark Express, and Microsoft Navision. This is completely understandable as these are very difficult apps that are rather infamously difficult to virtualize and are almost always crammed into a special gold image for a specific subset of users in the Horizon View world. They've been struggling with these four in particular for years.

I responded to the partner by offering to layer those apps in real time, although a huge chunk of that time would literally be watching progress bars move along (these installers take a long time).

 To layer the apps, provision them each to a desktop, and launch the apps to show they work (well 3 of the 4 as I couldn't find an installer for Navision) took me just over an hour.

An hour of a sales guy's time to layer 3 apps that have been pains for years. Unidesk is some powerful stuff, man.

Here's the video. I'm *not* a professional vlogger so it's pretty bad, ha. But you get the idea - it's easy and powerful.

https://vimeo.com/140055906

~Micah

Wednesday, September 16, 2015

wait...wait...what? tow a Prius with a DeLorean?

Weird title, I know. But today I finally spoke with a Microsoft licensing expert about this and if I understand it, there seriously aren't any other moving parts to this for private-cloud end user virtualizatoin...

Seems to me that buying a connection broker like Citrix, VMware, vWorkspace, whatever - is more than a little bit like buying a Prius to ferry your groceries back and forth, and then buying a Delorean to tow it with.. (For the record, I think Deloreans are really friggin cool...but the Prius does grocery ferrying pretty damn well...and apaprently can haul some ass too http://www.roadandtrack.com/motorsports/videos/a26134/v8-prius-race-car/ )

There are two things from Microsoft you need in order to run VDI. First is a "guest" OS license (these are the virtual machines which users connect to). Second is an access license.

Both of these factors go from extremely simple to hideously complex in about two seconds. So walk with me carefully.

On the simple side, let's look at Server 2012R2. With Server 2012R2, this is what you need:

1. A Server 2012R2 Datacenter license per 2 sockets.
2. A RDS Per-User CAL per physical user

The Datacenter license covers both the hypervisor, management VMs, RDS brokers, and unlimited OS instances which will be your users' desktops. These desktops will run as a Server OS and can be fairly easily modified to behave almost exactly like their consumer counterparts. MSRP for a Datacenter license is about USD 6000. Following VMware's recommendations for host density, you can get between 50 and 100 VDI users on a single dual-socket host, which gives you the guest OS license for a maximum of about $120 (assuming the conservative 50 users per host). Do note that I've spoken with many schools who have a campus agreement in place which gives them Datacenter licenses for about USD 250...so I don't think many people actually pay $6k for a Datacenter license.

The RDS Per-User CAL is where it gets really simple. In this model, each VDI instance is basically a single-session RDSH from a licensing perspective. RDSH access is not limited by the enduser's client OS; you can use any OS/endpoint to access the session. That's it...just buy an RDS license and your users can access their VDI from any OS, and as many devices as they want. This is the Prius in the weird metaphor, because while the CAL is for client access, RDS itself is also an actual connection broker...and includes a pretty damn good transmission protocol with it, plus a security server function...meaning that buying another connection broker is just that: another connection broker that you still need Microsoft access rights for. I'll get back to the metaphor later.

But this is pretty simple, right? Why does Microsoft get such a bad rep for having hideously complex licensing, and why did I use that exact word to describe it myself just a scant few sentences ago?

Well, licensing for the consumer OSes is radically different. Seems Microsoft were (are?) keen to promote the use of Windows-based endpoint devices instead of Chromebooks, Macs, and Linux-based clients. They are also looking to get an annual payment out of businesses who do remote access/VDI. Which makes sense, of course, from a business perspective - maximize profits, resistance is futile.

So, your choices for virtualizing the Windows consumer OSes are pretty complex in practice. If you buy Software Assurance (SA) on your endpoints, you get a copy of the OS that you can virtualize. Some SA agreements also allow the user of that endpoint to use a personal computer (as long as it's a Windows-based personal computer). That is, they *must* be the primary user of an SA-licensed physical work computer in order to have home access as well. If that user wants to use a system with a different OS like an Android or iOS device, or a Chromebook, or literally anything that isn't running a Windows OS, you must purchase a VDA (Virtual Desktop Access) CAL, which in the consumer OS model serves as the access license.

So...to clarify with an example...Steve is in inside management consulting. He comes in every day to the office and sits down in front of a physical machine running Windows 7 under Software Assurance. Steve happens to like using his VDI because it's specced higher than his low-end endpoint device, so he uses his VDI as his daily driver. For a week every other month, Steve works from home where he uses his Mac to access his VDI instead. Plus, when he travels, he uses his Android convertible to access his VDI.

Under the consumer VDI model, you'd basically need to have a per-user VDA license on top of SA for this user, and all users like him.

What if you don't have or want SA? No problem - in that case you just need to buy VDA. But you have to decide, basically on a per-user basis, whether it makes more sense to buy a per-device VDA license or a per-user VDA license (which is more expensive). If your user only ever uses the physical machine they sit in front of, might make sense to bite the bullet and buy SA. If your user only ever uses a single personal Windows machine (e.g BYOD), might make sense to buy per-device VDA.

So the conversation is pretty damn complex when you want to use a consumer OS for your VDI. Why bother? I personally use a 2012R2 instance on my home machine for gaming, web surfing, document creation, etc...it's extremely capable and seems even snappier because a lot of the silly services that start with a consumer OS are disabled by default.

Now back to the analogy...towing a Prius with a DeLorean.

If you go with the server model outlined above, none of the headaches and questions of the consumer model come up. It's an extremely simple conversation. You need to know how many users you'll have, and how many hosts you'll need to support those servers. That's it. You buy a Datacenter SKU for each 2 sockets in your hosts, and a per-user RDS CAL for each user. Users can fire up the Microsoft Remote Desktop Services client on as many of their personal devices as they want, or access it from corporate systems or thin or zero clients, or any mix. You can provision VDI or RDSH sessions per user with impunity, whichever model makes more sense (you get better user density per host with session based computing, so simple users should do this). It just works and it's affordable - like a Prius.

But the crazy thing about this model is that it also includes the connection broker. RDS (Remote Desktop Services) is the name of Microsoft's connection brokering platform for both VDI and RDSH, which includes RemoteFX (RDP advanced). RDS is a perfectly capable system, with some of the world's largest end user virtualization projects running on it. The management tools are minimal (MS doesn't even recommend more than a maximum of about 200 VDI users under management with the off-the-shelf tools), but the broker and protocol are very performant. It's cheap, it's capable, and it does grocery ferrying really damn well. Prius.

So when you buy Horizon View or XenDesktop or vWorkspace, you still have to pay for RDS...which means you're buying a connection broker in order to use a different connection broker. Now, those other brokers have some neat bells and whistles which could be really important! Gull-wing doors, stainless steel construction...those might be really important to your business. But in this case you're hitching up your Prius behind the DeLorean and towing it - the groceries are still being stored in the Prius (Windows is still from Microsoft). However DeLoreans are not cheap, they have their own set of limits and challenges, and they're super expensive to maintain because it's a very specialized knowledge set.

And you _already own_ a damn Prius...just drive it.

Wednesday, August 26, 2015

Just installed Unidesk...

Wow, what a night.

So I spent most of my evening messing around with my RAM because I was getting a memory failure message on boot.

After a great deal of faffing about, I isolated the stick that was causing the problems. The motherboard reporting on it was very strange because it actually reported a memory failure in a different DIMM than the one with the bad stick in. I found the bad stick by adding one stick at a time in the manufacturer-recommended order until I found the problem stick. Then I tried to boot with that stick and my system freaked with a "Can't access first 64kb of RAM" beep code. Bad stuff! Contacted Ebay seller, he's sending me out another stick of the same model. Yay good sellers.

OK so now I've got 44GB of RAM and finally got my SSD configured correctly (plugged into the SATA controller instead of the SAS controller)...was I going to just let all that RAM sit around and look pretty? It is quite pretty but NO!

I decided I'd take a swing at standing up the rest of the virtual infrastructure I need to run Unidesk. So I quick-and-dirty made a VM called RDS1 that I intend as my connection broker as a generation 2 machine, thinking let's take advantage of all the coolest new crap!

Then I downloaded, unpacked, and ran the Unidesk installer...and it installed. Just like that. Literally all I needed to do to install it was have the Hyper-V role enabled and run the damn installer...there were about 10-12 clicks involved in getting it installed. It was honestly more trouble getting Silverlight installed than it was getting Unidesk installed, haha - Silverlight required that I change my default security settings to allow direct file downloads in IE.

Now I'm preparing a gold image which means letting Server2012R2 update itself...which is a relatively long process. Unfortunately I had to generate another VM to create the gold image with because you have to use a gen1 machine for generating the gold image. Meh - the initial installation takes about 20 minutes, and the updates I know are going to take a long time so no biggie.

Man this was such a great day! wooT!

Titan boots with full RAM complement!

Well, the other night I populated all my dimms with the 4gb sticks I'd been sitting on and swapped out my procs, so I was really excited about that!

Unfortunately, now when I boot I"m getting an error about a DIMM failure, although the correct amount of RAM is noted. However it doesn't run in triple channel mode - there should only be 4 channels (12 sticks in triple-channel) but it shows 5.

The first time I booted the problem was with RISER DIMM 2. I swapped the sticks in RISER DIMM 2 and RISER DIMM 4, and then the problem showed as being in RISER DIMM 1. So not likely a problem with the actual RAM, but with the riser dimms.

Some googling has shown it's one of two problems at this point:
1. A hardware problem with my motherboard that I'm just going to have to live with, as earlier revisions of the mobo seem to have this problem fairly consistently (need to find out what revision I actually have)
2. A seating problem with the riser board that I can fix with some physical coaxing

I have to delve into this more.

I also think I put too little thermal grease on the riser CPU, so I guess dismantling it makes sense anyway to check distribution there.

In any case, I now have a booting system with my 16x 3.06ghz threads and 48gb RAM! awesome!

Friday, August 21, 2015

Monitor problem resolved!

Biggest news from tonight imho is that I finally got my monitor problem figured out. It was a cheap and crappy VGA cable I was using that was causing all the headaches. Plugged in another I had and immediately all the problems - color bleeding, ghosting, improper resolution/refresh - went away immediately, like magic! Man what a relief!

However in the process of changing I bent and half-broke a pin of my crappy cable (which is perfectly sufficient for my aged projector and works perfectly at low resolutions)...haven't tested it to see if the half-remaining pin is going to cut the mustard or if I have to spend another $3 on another cheap, shitty cable.

The other cool and improtant thing I started tonight was the Microsoft Learning Center course. Tonight's course was an hour just introducing and commenting on Server 2012R2 and setting the agenda for a multi-day virtual course.
There were very few surprsies as it's been years since 2012R2 was brand-new, soeverything I was at least familiar with, but the commentary about the improtance of features was pretty eye-opening.

Microsoft's definitely focused on making the value proposition around easy migration between datacetners and clouds, and they want to be able to DRM your use of their tools - even when Azure isn't in the IO pathm, for example, Azure is still responsible for controlling the process itself.

Goodness it's late and I"mt ired. Goodnight!

Tuesday, August 18, 2015

Titan progresses

Well, I am absolutely determined to knock out at a more reasonable hour tonight.

I spent a bunch of extra time at the office today catching up on stuff and working through some thoughts I've had around work's hackathon. So, I didn't have much time to play with Titan today.

However I was able to get the monitor back up and running the way it was - as I suspected, it was just pretty confused and needed to auto-detect settings again on a more normative resolution.

I really need to order a...nope, done now. DVI-HDMI adapter on the way, hopefully that'll let me configure this monitor the way it's meant to be used, so it doesn't look so bad anymore. It's hard to argue with a 28" Viewsonic 1920x1200 monitor for $80...not complaining. Just want it to look half-decent. If I can't improve the picture over what's happening now I'll probably sell the thing and buy a proper monitor, probably a 23" range which is still quite reasonable.

What else did I do...confirmed the video card that came with this system *sucks* for 3d gaming. 3d anything, really. I know I've got the right drivers in but I could barely play Fingerbones from the Steam store without cutting resolution way down to 800x600.

Also confirmed my audio systems work fine with my headphones, although there's a buzzing sound I'm not happy about when I put the audio through my monitor's analog ports. Maybe I'll get an extender with a port on my desk instead. Love my rescued Shure monitors though, they rock.

I'm still having a lot of trouble booting from USB. Even using the internal header, I haven't been able to boot my Linux thumbdrive in this system, although it boots fine with other systems. Gotta dig into that tomorrow.

I really am keen on installing Hyper-V so I think I'm also going to invest some time really trying to find a course on that.

And my standing desk needs some serious work - keyboard and mouse are *much* too low, making for exceedinly uncomfotable typing/mousing after just a few minutes.

One thing that's really striking about this box is how quiet it is. A coworker suggested I be preapred for a very loud system because of Dell's use of delta fans. However it's extremely quiet. I know there are fans running but they are utterly unobtrusive, even with the system jammed in a misteable little unventilated corner like it is. This sucker is quiet. Stealth Titan. Not quite, but it's still a very pleasant surprise.

OK! Ramble over.

Monday, August 17, 2015

Titan has arrived

Not sure I've named my rig Titan yet, as it's the main character in one of my very favorite short stories of all time, called Shared Experience by Keith Laumer in Bolos Book II: Unconquerable. Titan is, as you might imagine, gigantic and loud and powerful.

However as this is my first workstation rig I'll probably use a different name. Possibly the first of Titan's friends in the book. I have to get ahold of a copy of the book to put the character names down. I'll name my network components after them.

So for now I'll call it Titan but only as a placeholder. Titan arrived today at work! And while it certainly is not loud, it is damn heavy...had to bring it down to my car on my wheeled chair.

I had a hell of a time getting it to boot from USB and I'm still struggling with that, actually. I *think* I needed to have a harddrive in, which I didn't at first - so I read a little while I used my wife's borrowed win8 ultrabook to put Ubuntu on one USB drive and Server 2012 R2 on another. I finally got the Server 2012R2 stick to boot from the internal USB port (inside the case) with the SSD attached. Server 2012R2 installed in like 10 minutes, it was pretty amazing.

Getting drivers installed was a little more of a pain than with a desktop OS, but not much really. My main issue is that I tried to get the damn thing to display on my monitor correctly and totally failed. Max resolution it would recognize was 1600x1200 which is technically a supported resolution but it doesn't look good at all. Things are sharp enough to read but there's bad color bleed and ghosting which is really distracting.

So I found a little app that allows you to manipulate EDIDs which I really don't even understand and I tried to force it to it's native resolution - which failed, and might have confused the hell out of the monitor as now it won't even display the lower resolution correctly (it's significantly offset).

 I'm looking at two potential explanations, one that my video card doesn't support the resolution I'm looking for, which bears more investigation (diferent sources say diff't things on this card, a shitty Radeon HD 3450), and the other that this monitor may only support it's native 1920x1200 resolution on HDMI. I currently have it plugged in through a cheapo VGA cable. I have an HDMI cable which I might go ahead and buy an adapter for, DVI-HDMI. The cable is much longer so it'll be a lot less awkward to maneuver around the system, which is a total PITA right now because there's about 3 inches of slack in my VGA cable.

So all in all I've got all the drivers from Dell at least downloaded, got my bluetooth working, got my video working OK, updated BIOS (it was 16 releases behind!)...still lots and lots of crap to do before I start messing with plugging in additional ram and optimizing the SSD. And I still haven't been able to boot Linux on this thing yet.

And then it's off to Hyper-V land, I think! I've got about a dozen courses lined up at the Microsoft Academy. As I find really good stuff I might make a sticky blog to keep track of it for interested people.

Once again it's way too damned late for me to be doing this, ha.

Sunday, August 16, 2015

Workstation on it's way - Dell T7500

It's much too late in the evening for me to be beginning a blog post. However...

Lots of cool stuff happening. I ordered my Dell T7500 system last week, along with 48GB DDR3 RAM (which turned out to be high-quality HP pulls made by Nanya, surprised me) and 2x 3.06 GHZ Quad-core Hyperthreaded Xeons, and a 512GB Crucial BX100 SSD.

That's a lot of fast for a kid like me. I've been playing with castaway systems in the corner of my room for a decade or two, playing with standing up little Linux servers for silly stuff like Mumble, basic websites, and the occasional nonprofit project.

It really boggles my mind just what's possible to purchase today with a few hundred dollars. This system can support up to 192GB triple-channel DDR3. It's got an onboard 8-port SAS RAID card. Sure, it's only got SATA 2.0 and PCIe 2.0 and USB 2.0 on board, but it has 7 expansion slots - 2 x16, 2 x8, 2 x4, and 1 x1 slot. That's a lot of expandability, ladies and gentlemen. And even current high-end enthusiast cards are barely pushing into the range where PCIe 3.0 is genuinely required.

Well, I'm seriously killing myself waiting here. I can't wait to get it all together. One pice missing is that I legitimately don't know how I'm going to connect the secondhand 28" 1920x1200 Viewsonic monitor I picke dup for $80. It's got HDMI and VGA inputs and I *think* the system I ordered has an onboard 2d workstation card with 2x DP++ ports, and the seller assured me that "it comes with all the cables you need to connect it to a monitor" - which doesn't mean jack, really. I have a VGA cable and an HDMI cable, and I hope that the adapters are either there in the box or that I can source them locally for cheap, ebcause I will NOT wait for a damned cable to ship to start playing with this rig.

So, what's my plan with the hardware?

I've been cruising on the Dreamspark website from Microsoft looking for training videos to get into Hyper-V virt. More and more companies are at least curious about implementing Hyper-V in a big way in their datacentsr and that's just going to increase later this year as Azure picks up more and more speed. So my basic plan is to get familiar with Windows Server 2012R2 Datacenter edition (I have access through Dreamspark with my alma mater, UCLA) and run some virtual workloads. I'd like to become more familiar with Active Directory and how to set up RDS for external access. I'm also super keen to get a decent last-gen video card with DX11 support (probably the Nvidia GTX 750 Ti) and try my hand at using RemoteFX with virtual desktops, especially in an attempt to make a multi-headed gaming rig that can run emulated console games.

Beyond that I also really want to try out Nutanix Community Edition and also baremetal KVM, which I have played with in the past.

And finally, I also want to configure this thing with a dual or triple-boot into Windows and Linux for gaming, again once I have a half-decent gaming card in it. I'm definitely torn on whether I can/should buy a separate SSD to run baremetal OSes on. I'm also not sure how I'm going to license a local version of Windows - for now I'm assuming I should probably try to turn either 2008R2 or 2012R2 into a workstation OS by applying desktop packages; there are entire communities out there dedicated to making gaming work on these OSes so I know it's possible.

Or maybe I'll just hustle a friend for a Windows 10 Retail SKU. Or maybe even just buy one myself *gasssppp*

Heh. Anyway it's really late here as I need to be up at 2:30am to start my shift in the UK.

Woot!

~Micah