Troubleshoot Tools - chanandrew96/MyLearning GitHub Wiki

Tools

Storage performance related

  1. Download Diskspd from GitHub release
  2. Unzip the file to the device you would like to test
    2.1. If you would like to test on remote device, run scipts below
Enter-PSSession -ComputerName [TARGET_COMPUTER_NAME]  
# Your [TARGET_COMPUTER_NAME] will show at the begining after executed  
# Download the DISKSPD zip  
$client = new-object System.Net.WebClient  
$client.DownloadFile([RELEASE_ZIP_FILE],[DESTINATION_FILE_FULL_PATH])  
# Unzip the zip file  
Expand-Archive -LiteralPath [DESTINATION_FILE_FULL_PATH] -DestinationPath [DESTINATION_PATH]  
  1. Execute the DISKSPD
# Sample for execute diskspd
# [INSERT_DISKSPD_PATH] [INSERT_SET_OF_PARAMETERS] [INSERT_CSV_PATH_FOR_TEST_FILE] > [INSERT_OUTPUT_FILE.txt]
diskspd -t2 -o32 -b4k -r4k -w0 -d120 -Sh -D -L -c5G C:\ClusterStorage\test01\targetfile\IO.dat > test01.txt

3.1 Explain of the command

All parameters are case sensitive

Option Sample Description
-t[THREAD_NUMBER] -t2 Define the number of threads used in each test file, thread ofter based on the CPU cores number (Default 1 thread per file if not defined, you can Ctrl+Shift+Esc to check the CPU cores number in Performance tab in Task Manager)
-o[NUMBER_OF_OUTSTANDING_IO_REQUESTS] -o32 Number of outstanding I/O operations per thread (Default value: 2)
-b[BLOCK_SIZE_WITH_UNIT] -b4K Block size used in simulate I/O test
-r[BLOCK_SIZE_WITH_UNIT] -r4K Block size used with random I/O (Default 64KB with sequential I/O)
-w[PERCENTAGE_OF_WRITE_REQUESTS] -w0 Define how much I/O used for write requests
-d[DURATION_OF_TEST] -d120 Define the duration of the test, recommended at least 60 seconds (Default 10 seconds)
-Suw -Suw Disable softward & hardware to write caching (equivalent to -Sh)
-D -D Capture IOPS statistics
-L -L Capture latency statistics
-c[SIZE_WITH_UNIT] [TEST_FILE_PATH] -c5G IO.dat Create test file with specificed file size
> [OUTPUT_FILE] > test01.txt File stored the console output

For more parameters, check the list on GitHub

  1. To understand the output file information, check Microsoft Document about it

VM Fleet

Replacement of DISKSPD

  • IOMeter
  • FIO (More friendly for Linux)

Network related

tracert

tracert can trace the routing path between two IP, you can use it to check which IP connected between your Windows and the Server/device you want to connect

tracert <IP-Address>

SSH

Upload all files & folder in current directory from Host to Remote

scp -rp * <Remote-User>@<Remote-Server-IP>:<Folder-Need-To-Be-Exist>
* Copy with hidden file
scp -rp <Full-Folder-Path>\. <Remote-User>@<Remote-Server-IP>:<Folder-Need-To-Be-Exist>

Linux related

Permission

Give Read, Write, and Execute to everyone.

chmod ugo+rwx <Folder-Name>

Sample: Give Read, Write Execute permission to everyone and apply to all folder & files in current directory

chmod ugo+rwx *
⚠️ **GitHub.com Fallback** ⚠️