Jump to content
RESET Forums (homeservershow.com)

Recommended Posts

radaxian

Hi all,

 

Here's a guide I would like to share around Windows Storage spaces and creating a 4x drive Parity pool

 

In a nutshell I have Windows Serer 2019 and storage space parity pool running very nicely on my Gen8. Here's the configuration I used and How to copy my setup.

(I still believe ZFS or UnRAID are far better choice as a filesystem on these limited servers, but if you need Windows like I do, then storage spaces can be an excellent alternative.)

 

This is my "best effort" guide and by no means perfect. It does however yield excellent results for both read and write speeds.

 

Gen8 Microserver

16GB RAM

CPU Stock for now (1270 V3 on it's way)

Disks  4x 3TB WD NAS drives in front bays

SSD - Samsung Evo 850 265

 

 

First lesson, DONT use the Windows GUI to create the pool or Virtual disk as the GUI applies terrible defaults that you can't edit and will ruin performance. Also make sure you're on the latest version of Windows server as a LOT has changed and been improved recently.

 

 

You must use PowerShell.

 

 

Terms:

  • PhysicalDiskRedundancy - Parity
  • Columns - 4 (The data segments stripped to disks. Should match your 4 disks)
  • Interleve - 256K (The amound of data written to each "column" or disk. In this case 256KB interleave gives us a 64K write to each disk)
  • LogicalSectorSize - 4096
  • PhysicalSectorSize - 4096
  • REFS/NTFS Cluster - 64K

 

 

Overall configuration:

4 drive file system, one bootable SSD in RAID mode.

 

BIOS setup initial

F9 into the BIOS and set the B120i controller into RAID mode

F5 into the RAID manager and create 1 individual RAID0 logical drive for the SSD

Set the SSD as the preferred boot drive (Yes in the same screen)

Set the cluster size to 63

Enable caching

 

Windows install 

Install Windows 2019 Server Standard GUI edition from ISO

Offer up the B120i RAID drivers via a USB stick so the wizard can see the SSD RAID0 drive. Filename p033111.exe (Have them extracted)

Windows update and patch and reboot

 

BIOS setup post windows

Once windows is up and running go back into the F5 RAID manager and finish the setup of the 4 front drives into 4x RAID0

Check the SSD is still set as the preferred boot drive (Yes in the same screen)

Set the cluster size to 63

 

Windows config of storage spaces

At this point you should see 4 individual drives ready to be used as a Storage pool

 

Try to set each disk to have a cache (Not all drives support this)

Win + X to open the side menu

Device Manager

Expand Disk Drives

Right Click the "HP Logical Volume" for each drive

Check - "Enable write caching on the device"

(If it doesn't work don't stress, it's optional but nice to have)

 

 

Powershell - Run as Admin

 

Determine the physical drisks available for the pool we're about to create

Get-PhysicalDisk | ft friendlyname, uniqueid, mediatype, size -auto

 

Your output will look something like this, so identify the 4 drives that are the same and take note of their uniqueID

 

Mine are the bottom four drives all 3TB in size

 

friendlyname            uniqueid                                        size
------------                         --------                                        ----
SSD
HP LOGICAL VOLUME       600508B1001C5C7A1716CCDD5A706248        250023444480

 

HP LOGICAL VOLUME       600508B1001CAC8AFB32EE6C88C5530D       3000559427584
HP LOGICAL VOLUME       600508B1001C51F9E0FF399C742F83A6       3000559427584
HP LOGICAL VOLUME       600508B1001C2FA8F3E8856A2BF094A0       3000559427584
HP LOGICAL VOLUME       600508B1001CDBCE168F371E1E5AAA23       3000559427584

 


Rename the friendly name based on the UniqueID from above and set to "HDD type"

 

Set-Physicaldisk -uniqueid "Your UniqueID" -newFriendlyname Disk1 -mediatype HDD

 

You will need to run that 4 times with each UniqueID code and create a new friendly name for each drive. I called mine "Drive 1, Drive 2" etc

Set-Physicaldisk -uniqueid "600508B1001C2FA8F3E8856A2BF094A0" -newFriendlyname Disk1 -mediatype HDD
Set-Physicaldisk -uniqueid "600508B1001CDBCE168F371E1E5AAA23" -newFriendlyname Disk2 -mediatype HDD
Set-Physicaldisk -uniqueid "600508B1001CAC8AFB32EE6C88C5530D" -newFriendlyname Disk3 -mediatype HDD
Set-Physicaldisk -uniqueid "600508B1001C51F9E0FF399C742F83A6" -newFriendlyname Disk4 -mediatype HDD

 

Verify the disks have been set correctly
The following example shows which physical disks are available in the primordial server and CAN be used in the new Pool. You're just checking here if the friendly name renaming worked and they are all set to HDD type. Primordial just means on your local server and available.

Get-StoragePool -IsPrimordial $true | Get-PhysicalDisk | Where-Object CanPool -eq $True

You should see your four drives with nice names that you set like "Disk1"

 

 

Now find out your sub system name, as we need this for the next command. Just take note of it. Example "Windows Storage on <servername>"

 

Mine is ""Windows Storage on Radaxian"

Get-StorageSubSystem

 

 

The following example creates a new storage pool named "Pool1" that uses all available disks and sets the cluster size.

New-StoragePool -FriendlyName Pool1 -StorageSubsystemFriendlyName "Windows Storage on Radaxian" -PhysicalDisks (Get-PhysicalDisk -CanPool $True) -LogicalSectorSizeDefault 64KB

 

 

Now create the Virtual Disk on the new pool with 4x disks and Partity set correctly. (This is critical to do via PowerShell)

New-VirtualDisk -StoragePoolFriendlyName "Pool1" -FriendlyName "VDisk1" -ResiliencySettingName Parity -NumberOfDataCopies 1 -NumberOfColumns 4 -ProvisioningType Fixed -Interleave 256KB -UseMaximumSize

Those two commands should complete without error, if they don't go back and check your syntax

 

 

 

Go back into the Windows GUI and open this

Server Manager\File and Storage Services\Servers

You should see the Storage pool listed and the Virtual disk we created in the previous steps.

 

Storage pool - Pool1

Virtual Disk - VDisk1

 

Select Disks in the GUI

Identify your new VDisk1 and right click it.

Set to Online, this will also set it to use a GPT boot record

 

On the same screen in the below pane Volumes

Click TASKS and select "New Volume"

Select REFS and Sector size of 64K

Enter a volume name like "Volume1" or whatever you want to call it

Select a drive letter such as Z

(You can use NTFS here for slightly better performance, but I'm sticking to REFS as it has some benefits)

 

You'll now have a Storage pool, Virtual disk on top and a volume created with optimal settings

 

 

 

Go back into Power Shell
Enable power protected status if applicable (Just try it, no harm)

(Ideally here you should have your server connected to a basic UPS to protect it from power outages)

Set-StoragePool -FriendlyName Pool1 -IsPowerProtected $True

 

Check if the new sector sizes of Virtual disk and all relevant settings are correct

Get-VirtualDisk | ft FriendlyName, ResiliencySettingName, NumberOfColumns, Interleave, PhysicalDiskRedundancy, LogicalSectorSize, PhysicalSectorSize

Example output

FriendlyName  ResiliencySettingName  NumberOfColumns  Interleave  PhysicalDiskRedundancy  LogicalSectorSize  PhysicalSectorSize
VDisk1                Parity                                      4                       262144                         1                                        4096                       4096
 

 

You're done.... enjoy the new Volume.

 

At this point you can share out your new Volume "Z" and allow client computers to connect.

 

 

 

 

Some other commands in Power Shell that I found useful

 

Get more verbose disk details around sectors.

Get-VirtualDisk -friendlyname Vdisk1 | fl

 

Get-PhysicalDisk | select FriendlyName, Manufacturer, Model, PhysicalSectorSize, LogicalSectorSize | ft

 

 

Check if TRIM is enabled. This output should be 0

fsutil behavior query DisableDeleteNotify

If TRIM is not enabled, you can set it on with these commands

fsutil behavior set disabledeletenotify ReFS 0
fsutil behavior set disabledeletenotify NTFS 0

 

 

Check the Power Protected status and cache

Get-StorageAdvancedProperty -PhysicalDisk (Get-PhysicalDisk)[0]

 

 

Once your data has been migrated back to your new pool from backup, make sure you run this command to "spread out the data" properly.

This command rebalances the Spaces allocation for all of the Spaces in the pool named SQLPool.

Optimize-StoragePool -FriendlyName "Pool1"

 

 

I'm yet to get my Xeon in the mail, but once that's installed I think the disk performance will go up even higher as the stock CPU is junk.

 

 

 

 

 

 

Edited by radaxian
  • Like 2
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • Haxsource
      By Haxsource
      Good afternoon folks!
       
      I have a question I was wondering if someone would know about. I have a Microserver Gen 8 with Vmware ESXI 7 currently installed on the MicroSD with AHCI enabled instead of RAID mode (dont find anything usefull in raid mode in my current setup other than booting from ODD, which I can just use as another Datastore instead).
       
      With that context being said, Im trying to enable the Agentless Management Service from the ILO with the drivers on the Vmware ESXI 7, but unfortunetly after installing and trying to start the service with:

       
      /etc/init.d/hp-ams.sh start  
       
      I get the following error:
       
      /opt/hpe/ams/amshelper: error while loading shared libraries: libnicmgmt.so.0: cannot open shared object file: No such file or directory  
       
      Makes sense following the Vmware ESXI HPE support matrix, since its only supported until Vmware ESXI 6.5U2 Pre-gen. But I´ve been reading lots of people having working setups doing the following:
       
      Install Vmware ESXI HP Custom Image 6.5U2 -> Offline Update to Vmware ESXI 6.7.
       
      I was wondering if installing HP Custom Image 6.5U2 with the drivers Agentless Management Service working and doing a full upgrade to ESXI 7.0 would do the trick, since its an upgrade not a clean install...so libraries should stay supporting older drivers installed.
       
      Does this make any sense?? Has anyone gone trough this alredy?
       
      Thanks!
    • netware5
      By netware5
      ***CRITICAL*** iLO 4 update available here. HPE requires users update to this version immediately. Potential vulnerabilities in network stack.
      VULNERABILITY SUMMARY
      A potential security vulnerability has been identified in Integrated Lights-Out 5 (iLO 5), Integrated Lights-Out 4 (iLO 4), and Integrated Lights-Out 3 (iLO 3) firmware. The vulnerability could be remotely exploited to cause memory corruption.
      HPE has released updated firmware to mitigate these vulnerabilities.
      References: CVE-2020-27337
    • oldwhs12
      By oldwhs12
      I have been running the WHS1 pack 3 for many years.  Unfortunately it is no longer working.  I got a Proliant microserver Gen10 hoping it will run it but was unable to install the software.  The software should run on most older PCs?

      Does anyone have the WHS1 running on the Gen10?  Also my WHS1 iso is Pack 1.  If I manage to install the Pack 1 can I find on the web the upgrade to pack 3?  Would I be forever stuck at Pack 1?  Any advice would be appreciated.

    • AVsonyfan
      By AVsonyfan
      All credit to schoondoggy for his original idea. A shame I am on the wrong side of the Atlantic to order an SDM kit as the import duties make it an expensive option, or would have if they were still available. I had to look around to see what alternatives I could find... and managed to find the bits needed on Amazon!
       
      I must admit I am rather pleased with the end result of this project and may repeat it on the other Gen8 MicroServer. The outcome is a server with a mirrored system drive on the internal B120i, and the main drive bays connected to an HP P222 card providing a RAID-10 data volume. This is pretty much my ideal setup for a stable resilient but small server.
       
      Sabrent 3.5" to x2 SSD Internal Mounting Kit (BK-HDCC)
      Amazon UK - https://amzn.to/32qEVou
      Amazon US - https://amzn.to/3h8Blom
      The kit comes with all the cabling you need and all the required screws to mount the drives and bracket.
      Two types of power splitter cables are included along with two SATA cables. The bracket holds two SSDs and provides a small gap between them.
       
      I mounted the bracket next to the PSU but leaving a 2-3mm gap to allow for some airflow past the SSDs in case they get warmed by the P222.
       
      Tips:
      Put some insulating tape along the underneath of the upper chassis rail next to the PSU and drilled three small holes.
      I used two strips on to stop the drill bit from walking across the metal. Drill with a 2mm first then a 2.5mm bit. This leaves enough metal for screws to thread in.
      Check and measure each hole against the bracket as you go so that they line up. Bracket is then fixed in place using the provided screws (see photo).
       
       
      The final part of the puzzle is another Mini-SAS to SATA cable the same as the one connected to the internal drive bays.
      This is an SFF-8087 Mini-SAS [male] connector to 4 SATA [female] header cables. The 50cm cable from Jyopto works great and not too much spare to lose within the system.
      Amazon UK - https://amzn.to/2CXAzgb
      I could not find it on Amazon US site but there was one from CableCreations that same length.
       
      Just need to add your choice of SSDs and cable up to B120i port.  I went with Samsung 860 Pro SSDs for the longer rated lifespan of write cycles.
       
       
      I decided to forget about an internal DVD/RW drive and opted for an external HP F2B56AA slimline drive that can be plugged into the USB of either system.
      Amazon UK - https://amzn.to/2EgSSxD
      Amazon US - https://amzn.to/326uFmL
       
       
      Sabrent also make a really good quality 2.5" to 3.5" bay converter adapter (BK-PCBS) that I have used in the EX490/X510 to convert from HDD to SSD system drives.
      Amazon UK - https://amzn.to/3jbYBmT
      Amazon US - https://amzn.to/335kXQz
       
      Hopefully this information will prove useful to some looking to update their MicroServer.
       
       
       
       

    • E3000
      By E3000
      Does anyone know if it is possible to get Agentless Management Service (AMS) running on Debian/Ubuntu Linux? It is always showing as Not Available in the iLO page and I have only ever seen this active in Windows.
×
×
  • Create New...