• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Home ESXI Build - Disk Issues?

adianiv

n00b
Joined
Dec 31, 2013
Messages
2
I recently built an ESXI host server to handle a couple different roles, and allow me to retire some old hardware and move some disks into a more centralized location.

ESXI 5.1.0 Update 1

Motherboard
ASRock 970 Extreme3 R2.0 AM3+ AMD 970 SATA 6Gb/s USB 3.0 ATX AMD Motherboard
One port Realtek 8111E 10/100/1000 Onboard Ethernet

CPU
AMD FX-8320 Vishera 3.5GHz Socket AM3+ 125W Eight-Core Desktop Processor FD8320FRHKBOX

RAM
G.SKILL Ripjaws X Series 16GB (2 x 8GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory Model F3-12800CL10D-16GBXL

Non-NAS Disk
Kingston SSDNow V300 Series SV300S37A/120G 2.5" 120GB SATA III Internal Solid State Drive (SSD)

Video (mostly only needed for initial configuration)
EVGA 512-P3-1301-KR GeForce 8400 GS 512MB 32-bit DDR3 PCI Express 2.0 x16 HDCP Ready Low Profile Ready Video Card

HDDs
4x SAMSUNG EcoGreen F4 ST2000DL004 2TB 32MB Cache SATA 3.0Gb/s 3.5" Internal Hard Drive Bare Drive
I had these in my gaming machine for shared storage utilizing that motherboard's onboard RAID. I decided I wanted to use IOMMU passthrough to send these to a NAS VM.

Installed ESXI to the local SSD. I see a lot of folks online using USB Flash drives for this, but I figured if I have the space there, I might as well use it. That may or may not have been a mistake.

Additionally, the Motherboard I used handles SATA IOMMU Passthrough a little differently. When you pass the controller through, it only passes 4 of the 5 SATA ports. This means that I can pass through all 4 of my HDDs while still allowing the Host to access the 1 SSD with all the VM files and disk images.

I then configured three VMs:

1. NAS-Server
OmniOS and Nappit
Passed the SATA controller through
2 VCPU
4 GB RAM
5 GB drive Stored on the SSD

2. Media-Server
Ubuntu Server 13.10
2 VCPU
4 GB RAM
70 GB drive stored on the SSD

3. MineCraft Server
Windows 2008 R2 SP1
2 VCPU
4 GB RAM
24 GB sored on the SSD

It's worth noting that I don't really have any experience with ESX, Linux, OmniOS, or NAS solutions. A lot of this setup is brand new to me, which is part of the reason why I selected the software that I did.

It was at this point that I started noticing issues. I have a feeling that they're all realted to the same cause, so I'm going to focus on one server and its symptoms to see if anyone has any suggestions.

The primary use for the Media-Server is SABNZBD and NZBDrone. SABNZBD is a usenet downloader, and NZBDrone manages the searching and downloading automatically. On my old hardware downloader, I was averaging a steady 5 MB/s down, and unpacking after download didn't take a whole lot of time. On the VM machine, the download speed fluctuates between 4 KB/S and, at best, 2 MB/s. Additionally, while it's downloading or unpacking, I will see other issues. The interfaces will stop loading properly, certain automatic functions on the server will start to fail, and I even received some SAB errors saying that it timed out while trying to read a file on the local filesystem. Unpacking of files takes ages, I haven't sat down and timed it, but it is a significant increase. When nothing is happening, everything seems to run fine.

I suspect that what I'm seeing is some kind of I/O issue with the SSD. When the server is downloading (writing), unpacking (read/writing), or moving (read/writing) files, I see a performance hit. To the point that the console doesn't refresh when I enter a command while this is going on. I have to close the console window and re-open if I do something like an ls.

I thought it might be some sort of networking issue, with one router port and 1 physical NIC handling 3 VMs, maybe every call is going out to my router and back instead of being handled within ESXI. I'm not sure how to check that, but at this point I'm leaning much more heavily towards some kind of disk problem.

The problem I have is that...I don't really know where to start. I'm going to borrow another SSD from a coworker to rule out a faulty drive. Other than that, I don't have any ideas on how to troubleshoot. Is there some setting in vSphere Client that I'm missing which is causing this? Is it an issue with having everything (ESX, all my VMs) on the same source drive? Is it something else entirely?

I guess that's what I'm looking for some input on. Where do I go next? What can I check, what are some best practices that I may have missed? Are there any tools out there that I can run to gain more insight into what's happening here? Has anyone seen anything like this before? I also see what appear to be buffering problems while running video files from the NAS, I suspect it's just another symptom of whatever this problem is.
 
Last edited:
Your setup is quite strange - it even should not work at all like the Sata controller pass-through that left one disk visible to ESXi.

Some suboptimal details are the Realtec nic (slow) and the fact that you have stored all VMs onto your SSD. ESXi does not offer advanced storage or cache features so your I/Os are quite limited especially if you add small random writes from your downloads to other I/O from your VMs.

A usual config would be:
- add another controller for storage use (ex IBM 1015)
- use Sata and your SSD for booting ESXi and a local datastore for your OmniOS storage VM
- add a small volume as download scratch disk on your SSD
- create a shared NFS datastore for ESXi in OmniOS to store other VMs onto
- disable sync on this NFS filesystem for home use (do backups)

- use a 20 GB bootdisk for OmniOS
- optionally add more RAM and assign to OmniOS especially for storage caching
 
Thanks for the response!

I'll look into getting an additional NIC and Controller card whenever I have some more funds. I also intend to get another 16 GB of RAM eventually, so I should be able to give my OmniOS VM plenty. For now I'll start by bumping it up to 6 GB and giving it the drivespace you recommend.

In the meantime, I'll try what you suggested. Run ESXI and my OmniOS VM off of the SSD, and the others off of one of the NAS Disks. I'll look into adding a scratch disk to the SSD for the downloader, but I don't know a lot about it just yet.

I think I have Sync disabled for at least one of my pools (or disks, I forget at which level it is set) currently, I'll set that for the others as well. I have a USB drive that I'm doing backups to, but right now it has all the data that needs to be on these disks, so I won't be able to back up to it until I get everything stable.

Hopefully one, or some combination of those things will help!

Thanks again,
 
Back
Top