Looking for a quick answer here from someone in the know...
I upgraded some of the internals of my Gen8 server and at the same time I did a BIOS reset as I had forgotten the password that I had set years ago. When booting back up the upgraded hardware was detected and fine but I received Error 1784 - Drive Array - Logical Drive Failure. I believe this is due to a setting change in the BIOS and not anything hardware related. I have gone into IP/SSA and see the array needs to be rebuilt. I had all drives configured as single RAID0. It says all data will be lost if I reconfigure this but I remember reading somewhere on here that the data will be fine if I reconfigure as RAID0.
I do have a backup of course, but it’s not a high availability mirror and will take some time to get back the way I had it, so just want to know if it’s safe to reconfigure the RAID0 without erasing the drives. I have tried pulling the drives out and connecting them to another PC and they are fine. Can anyone tell me which options to choose to get these back to normal and remove the flashing red light?
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.
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.
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
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
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
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
------------ -------- ----
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"
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)
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.
I recently installed the HPE Customized Image ESXi 6.5.0 Update 3 version 650.U126.96.36.199 released on June 2019 and based on VMware ESXi 6.5.0 Update 3. I think this is pregen version from HP.
I have a P222 Raid Card installed. ESXI does this RAID card. However its not presenting the disk connected to it to me.
When I go to datastore - I can see only one datastore - which is the datastore esxi is installed and which i use to save my VM's
I can see the HPE SMART ARRAY P222 storage card - but none of the HDD's/ or the datastore
What am I doing wrong?
Microsoft is changing the update policy for windows 10 per this article on thurrotts website
a couple of years ago, I stopped using a windows 10 homeserver because the update cycles kept breaking things
this new announcement could cause some reconsideration of this.
Don't think I am going to replace my Qnap nas anytime soon -its been rock solid
but if I where building a new server, would consider it.
wouldn't be hard to set up machine with a lot more capability than most NAS's without laying out 400 bucks for a windows server license
and you can use Drivepool, which I miss from my W10 server
First, my specs (briefly):
AMD Opteron X3216
Win Server 2016
The Taskmanager shows only 1 CPU-core instead of 2.
(ref. image 1)
checked msconfig...no CPU-Limit set checked, whether other users see the same amount of CPU-cores in task-manager (ref. image-link (internal) 2)
Anyone out there with an idea to solve this?