Posted by2 years ago
The catalogue of paid learning courses and certification can be viewed at vSphere 6.5 Training or vSphere 6.0 Training. For more information on vSphere 6.5 see the official resources; vSphere 6.5 Documentation Centre, vSphere 6.5 Release Notes. ESXi can be installed manually, which we will do in this post, scripted, or through Auto Deploy.
Archived
OK, I just bought a fancy (for me) server for my workplace.
This makes me happy.
We're a small shop, so I try and take opportunities to learn and try new things when they're presented to me. (provided its safe/won't hurt the company or effect reliability.)
The new server (DL380G9 with dual E5 2620v4's, 64gb RAM) has a microSD slot on the motherboard.
Can I install ESX on it, and will there be any ramifications?
Personally, I've had SD cards slowly flake out on me, but usually after sitting for literally years.
Questions:
- If I get a 32GB SD card (8GB minimum recommended) will it provision and wear level?
- Will it effect performance?
- Is this a stupid idea?
Basically, The thought of eating up 8GB of super expensive SSD storage for the host system bugs me. A Sandisk Ultra 32GB SD card is less than 20 bucks.
IF, in the event the SD card goes bad, isn't it a simple case of just re-installing ESX on a new SD card, and ESX will pick up the guests on storage? (this is a newb question, I've had a failure of a host system before.)
Thanks in advance.
Edit:
Thanks all, I'm doin it.
Annoyance is that there's only One SD card slot on the DL380G9, But due to the fact that alarms will go off if the SD card fails and I can still back up 'running config' to a new SD card, (Plus I rarely change configuration) I think we're good to go.
55 comments
Hardware Acceleration with Plex
So I ran into Using Hardware-Accelerated Streaming post from plex. And I found it intriguing, but then I saw this section in the post:
Can I use Hardware-Accelerated Streaming inside of a virtual machine?
Hardware-Acceleration Streaming is not currently possible inside of virtual machines, as virtual machine hosts do not expose low-level video hardware to the guest operating system. While some virtual machines expose generic 3D acceleration to the guest OS as a virtual driver, this does not include support for accelerated video decoding or encoding.
But I wanted to find out what would happen if I just passthough the Video Card to the VM?
Enable Passthrough on Video Card/GPU in ESXi 6.5
The instructions for accomplishing this are laid out in:
I have the following Video Card on my ESXi Host:
Looking at other forums it looks like people didn’t have much luck with that video card:
But I guess I got lucky. In the vSphere Web Client, I just went to Host -> Manage -> Hardware -> PCI Devices -> Toggle passthough on the Video Card:
Then I rebooted the host and under the Passthough column I saw Active. I didn’t have to do any extra configuration for that. After I rebooted I thought the ESXi was hung cause it just showed the following on the boot up:
vmkapi_v2_2_0_vmkernel_shim successfully loaded
This is actually expected since the Hypervisor enables the passthough at this point and you won’t see the boot up process any more. This was discussed in stuck after reboot: “vmkapei loaded successfully”. I did have SSH enabled on the host and I was able to SSH to the host and confirm it booted up fine and the auto start process started booting up all the VMs.
Another FYI is that with PCI Passthrough you can’t take snapshots of the VM (this could impact your Backups). From VMware KB 2142307:
While VMDirectPath I/O can improve performance of a virtual machine, enabling it makes several important features of vSphere unavailable to the virtual machine, such as Suspend and Resume, Snapshots, Fault Tolerance, and vMotion.
Adding Video Card/GPU to VM
This was pretty easy as well. I just shutdown the VM and then in the Web Client I went to Virtual Machines -> VM -> Actions -> Edit Settings. Then added a new PCI Device and selected the Video Card from the drop down list:
After I powered on the Linux VM, I actually still saw the console through Vsphere Web Client and the monitor that was connected to the ESXi host didn’t show anything. I then realized the VM now had two Video Cards:
and here are the two PCI devices:
Disabling Primary Video Card on a VM
At this point I wanted to make sure the VM only has one Video card. As I was looking around for a way to accomplish this, I ran into a parameter in the vmx file called svga.present. I also some folks try to use that parameter:
So I decided to try it out. Virtual Machines -> VM -> Actions -> Edit Settings -> VM Options -> Advanced -> Configuration Parameters -> Edit Configuration -> Set svga.present to FALSE:
Then after another reboot of the VM, I saw the VM boot up process on the monitor that is connected to the ESXi host and inside the VM only one VGA device showed up:
And here is the information on the PCI device:
Very cool.
Enabling Hardrware Acceleration on Plex
The original link has all the instructions:
- Enable hardware accelerationTo use Hardware-Accelerated Streaming in Plex Media Server, you need to enable it using the Plex Web App.
- Open the Plex Web app.
- Navigate to Settings > Server > Transcoder to access the > server settings.
- Turn on Show Advanced in the upper-right corner to expose advanced settings.
- Turn on Use hardware acceleration when available.
- Click Save Changes at the bottom.
You do not need to restart Plex Media Server after saving the changes.
Not too difficult.
Confirming Hardrware Acceleration is utilized
I ran into Hardware-Accelerated Streaming not working on 64-bit Ubuntu 16.04, i7-3770 and PMS 1.9.5.4339 which show sample logs of HW Acceleration. So when I checked out my logs I saw this:
And also this:
Adding Plex User to be part of the Video group
I then ran into a couple of posts which had similar logs about the hardware transcoding failing:
And they recommended adding the plex user to be part of the video group. So I did that:
And restarted the plex service:
And after that I saw the following in the logs:
And also this:
You will also see HW when a video is playing in the Plex Web App:
Confirming GPU Utilization
Initially I ran top to make sure the CPU is not getting utilized as much. And I did see that when plex was transcoding:
I then ran into a tool called intel_gpu_top and that is available with the intel-gpu-tools package on CentOS 7.
When I ran that tool I did see GPU utilization:
Lastly I had a zabbix agent collecting CPU information on the box, and here are the results from before:
And here are the results watching the same thing after:
It looks pretty good.