How to check disks status in SynetoOS 6

Written By Christian Castagna (Administrator)

Updated at June 2nd, 2025

→ Applies to: SynetoOS 6.x

 

Step 1. Connect to SynetoOS appliance via SSH as admin

ssh admin@<your_ip_address_or_hostname>

 

Step 2. Get root privileges

sudo su -

 

Step 3. Check pool status

zpool status

EXAMPLE

pool: hybrid
    id: 2909731745170149149
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Wed May 14 01:01:49 2025
        2.67T scanned at 117M/s, 2.64T issued at 116M/s, 3.77T total
        1.31T resilvered, 70.15% done, 0 days 02:49:15 to go
config:

        NAME                         STATE     READ WRITE CKSUM
        hybrid                       DEGRADED     0     0     0
          mirror-0                   DEGRADED     0     0     0
            c0t5000C500E2D7E32Bd0    ONLINE       0     0     0
            spare-1                  FAULTED      0     0     0
              c0t5000C500CEB66C17d0  FAULTED      0     0     0  too many errors
              c0t5000C500CEB4390Fd0  ONLINE       0     0     0  
          mirror-1                   ONLINE       0     0     0
            c0t5000C500DDEBF05Bd0    ONLINE       0     0     0
            c0t5000C500CEE6FD63d0    ONLINE       0     0     0
        logs    
          mirror-2                   ONLINE       0     0     0
            c0t5002538E19C2C994d0    ONLINE       0     0     0
            c0t5002538E19C2C96Bd0    ONLINE       0     0     0
        cache
          c0t55CD2E4151DAF0D0d0      ONLINE       0     0     0
        spares
          c0t5000C500CEB4390Fd0      INUSE     currently in use

errors: No known data errors

 

Step 4.  Create /tmp/run_smart_tests.sh file

vi /tmp/run_smart_tests.sh

IMPORTANT
Make sure to copy and paste the exact lines below.

#!/bin/bash

# Specify the output file
output_file="smart_results.txt"

# Clear previous output file, if it exists
> "$output_file"

# Get the list of storage devices
disks=$(lsblk -d -n -o NAME)

# Start the short SMART test for each disk and get the serial number
for disk in $disks; do
  serial_number=$(sudo smartctl -i /dev/$disk | grep "Serial Number:" | awk '{print $3}')
  echo "Running short SMART test on /dev/$disk (Serial: $serial_number)" | tee -a "$output_file"
  
  # Start the test and log the serial number in the output file
  echo "== Short SMART test on /dev/$disk (Serial: $serial_number) ==" >> "$output_file"
  sudo smartctl -t short /dev/$disk | tee -a "$output_file"
done

# Wait for the completion of SMART tests in a loop
echo "Waiting for SMART tests to complete..." | tee -a "$output_file"
all_completed=0
while [ $all_completed -eq 0 ]; do
    all_completed=1
    for disk in $disks; do
        # Check if the test is still running
        if sudo smartctl -a /dev/$disk | grep -q "Self-test execution status: \([1-9]\)"; then
            all_completed=0
            break
        fi
    done
    sleep 10  # Check every 10 seconds
done

# Collect test results for each disk
for disk in $disks; do
  serial_number=$(sudo smartctl -i /dev/$disk | grep "Serial Number:" | awk '{print $3}')
  echo "Results for /dev/$disk (Serial: $serial_number)" | tee -a "$output_file"
  sudo smartctl -a /dev/$disk | tee -a "$output_file"
done

echo "Test results saved in $output_file"

 

Step 5.  Run run_smart_tests.sh

chmod +x run_smart_tests.sh
./run_smart_tests.sh

The result will be saved in the file /tmp/smart_results.txt.

IMPORTANT

If the analysis indicates a false positive, perform Step 6 (optional).

If the analysis confirms that there are errors on the disks, contact Syneto support to proceed with disk replacement.

 

Step 6 (optional). Clear pool error (replace <pool_name> with the correct information)

zpool clear <pool_name>

IMPORTANT

This command should be run outside of working hours.
The system will not be blocked, but cleaning operations may slow it down.