Friday, September 12, 2025

Replacing a drive and repairing a storage spaces volume

When you have a drive fail in a storage spaces, changing out the drive isn't straight forward, however well worth the effort when you consider the advantages storage spaces has over regular RAID.  Specifically the lack of a an expensive disk controller, and tiered spaces with the use of HDDs and SSDs.


So in my case it is a 2U server with a RAID Controller set to JOBD, and I had a failure of a Seagate drive as shown in the picture above.  On the server we removed the bad physical drive, if on a raid controller prepare the drive, should be set to JOBD.  Formatting may be required.  As shown in image below, I added a Toshiba drive; and to replace it we need to the the following.


PS C:\> $PDToRemove = Get-PhysicalDisk -FriendlyName "$DISKNAME" 

In this case the drive's friendly name is "SEAGATE ST600MP0006" then we need to remove the disk with the following Powershell statement.

PS C:\> Remove-PhysicalDisk -PhysicalDisks $PDToRemove -StoragePoolFriendlyName "$PoolName"

(in this case SEAGATE ST600MP0006)


Once the old disk is removed we can run a repair with the following powershell statement

PS C:\>Repair-VirtualDisk -FriendlyName "$VIRTALDISK"


This will take some time to run, but it is much faster then repairing a RAID setup, taking about 20 minutes to repair the storage spaces mirror setup.  While the dive is being repaired you will see it in a InService status.


When storage spaces finishes the drive will show as being in good health.



Thursday, September 11, 2025

Troubleshooting Edifact Import Files on SirsiDynix Horizon ILS

Some libraries use edifact files for automating purchasing from different vendors.  In this case acquisition librarian uses an FTP client to download and load the edifact file into the ILS.  Errors can easily happen where you can then no longer access the invoice from the vendor and a new edifact file must be issued and imported into horizon.

What is an Edifact File?

The UN/EDIFACT Syntax Rules were approved as the ISO standard ISO 9735 by the International Standardization Organization.


The EDIFACT standard provides:

  • a set of syntax rules to structure data

  • an interactive exchange protocol (I-EDI)

  • standard messages which allow multi-country and multi-industry exchange


Read more about it here

Edifact File Sample

UNA:+.? '

UNB+UNOC:3+###:###+####:###+250903:1557+B000025704'

UNH+B000025707+INVOIC:D:###:UN:EAN008'

Header

BGM+380+#####+43'

DTM+137:20250903:102'

NAD+BY+####::###'

NAD+SU+#####::###'

NAD+SU+++Name.+Address .+City+Province+PostalCode+Country'

CUX+2:CAD:4'

Vendor Info

LIN+000001'

IMD+L+050+:::Library MARC - CUSTOM'

ALC+C++++ABK::28'

QTY+$$$$'

MOA+####'

RTE+Quantity:1.07'

RFF+LI:'

PO/Item Info

UNS+S'

CNT+2:8'

MOA+####'

TAX+7+GST'

MOA+#####'


Summary

UNT+69+B000025707'

UNZ+1+B000025704'

Footer


The UNB number the B number MUST match the B number in UNZ, also the UNH B number MUST match the UNZ B number.  These are unique identifiers for the invoice generated by the vendor.  If there is an issue with the import of an invoice such as cancelled items on the PO, or any other error you will need to get a new Edifact file from the vendor.


How to check the error on edifact files in Horizon


To check for errors on edifact imports (uploads) you need to view them in table Editor



Double click table editor to open up the search and type in edifact



Then select double click on “edifact exceptions” and scroll to the bottom for the most recent errors.  You will want to look for the errors highlighted in Green, not errors stating the edifact file has already been uploaded.





If you try import a file and it fails do the following:


  1. Ask the vendor for a new Edifact File with new header numbers.  (Once you try import it once it can not be imported again with the same header numbers)

  2. Check the PO in horizon, verify everything is ok and there is nothing cancelled, etc.

  3. Check for error codes in table editor using the edifact exceptions view

  4. Either fix the PO or remove the troublesome line in the edifact file using Notepad.

  5. Once the PO or the edifact file is fixed, reimport (upload) the file into horizon.


Additional Error info:


If you get an error like Process Invoice Error PO/Line, means there is a mismatch with the PO and the invoice, and the PO in Horizon needs to be fixed or an item in the edifact file needs to be removed shown in the example in orange.  Verify the PO in horizon before trying to re-import the edifact file in Horizon.   The PO either needs to be corrected or remove anything that is not in the PO in the edifact file.


Unfortunately you have to go back to the vendor and ask for a new edifact file because there was an error on import and a new header needs to be generated so the Unique identifier matches what the vendor gives for the import and once a file has been imported it can not be easily deleted in Horizon.


Replacing a drive and repairing a storage spaces volume

When you have a drive fail in a storage spaces, changing out the drive isn't straight forward, however well worth the effort when you co...