→ Applies to: SynetoOS 4.x
IMPORTANT
The following script targets two directories: /flash & /hybrid.
It creates 100 files simultaneously (each file will be 100MB) and it will write a total of 10GB per pool in one burst. Once finished, it logs the results in /tmp/dd_stress.log and deletes all the created files.
Step 1. Connect to SynetoOS appliance via SSH as admin
ssh admin@<your_ip_address_or_hostname>
Step 2. Change into Solaris shell (in case you're directed to an unsupported shell)
un sh
Step 3. Get root privileges
sudo su -
Step 4. Edit /tmp/heavy-dd-zfs.sh file
vi /tmp/heavy-dd-zfs.shIMPORTANT
Make sure to copy and paste the exact lines below.#!/bin/bash POOLS=("flash" "hybrid") NUM_FILES=100 FILE_SIZE_MB=100 # Every file size in MB BLOCK_SIZE=1M BASE_DIR="/" LOG="/tmp/dd_stress.log" # Log file location echo "Starting stress test with dd - $(date)" > "$LOG" for POOL in "${POOLS[@]}"; do TARGET_DIR="${BASE_DIR}${POOL}/dd-stress" mkdir -p "$TARGET_DIR" echo "▶️ Written on $POOL ($TARGET_DIR)" | tee -a "$LOG" for i in $(seq 1 $NUM_FILES); do FILE="$TARGET_DIR/file_$i.bin" dd if=/dev/urandom of="$FILE" bs=$BLOCK_SIZE count=$FILE_SIZE_MB > /dev/null 2>&1 & done # Wait for all the dd to finish wait echo "✅ Write completed on $POOL" | tee -a "$LOG" echo "🧹 Cleanup file on $POOL" | tee -a "$LOG" rm -f "$TARGET_DIR"/*.bin echo "✅ Cleanup completed on $POOL" | tee -a "$LOG" done echo "✔️ Stress test completed - $(date)" | tee -a "$LOG"Save and EXIT
:wq
Step 5. Give permissions to /tmp/heavy-dd-zfs.sh file
chmod +x /tmp/heavy-dd-zfs.sh
Step 6. Run the script
/tmp/heavy-dd-zfs.sh
Step 7 (optional). Schedule script periodically
crontab -eIMPORTANT
Make sure to add the line below as the last line in crontab file (replace <time> with how often to run in minutes, <path to script> with the path of the script and <path to log file> with the path to the log file)*/<time> * * * * <path to script> >> <path to log file>Example
*/5 * * * * /tmp/heavy-dd-zfs.sh >> /tmp/dd_stress.logSave and Exit
Ctrl + X
Step 8 (optional). Delete the schedule
crontab -eIMPORTANT
Make sure to delete the previously added line in crontab file or add “#” at the start of the lineEXAMPLE
# */5 * * * * /tmp/heavy-dd-zfs.sh >> /tmp/dd_stress.logSave and Exit
Ctrl + X