When dealing with unrecognized storage in Linux, the first step is verifying physical detection. Try these diagnostic commands:
# Check for all block devices
lsblk
# Alternative method using sysfs
ls /sys/block/
# Detailed hardware listing (requires root)
sudo lshw -class disk -class storage
If standard tools don't show the disk, try lower-level approaches:
# Scan for new SCSI devices
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
# Check kernel messages for disk events
dmesg | grep -i 'sd\|hd'
# View partition tables (even on unformatted disks)
sudo fdisk -l
Once identified (e.g., as /dev/sdb), proceed with formatting:
# Create new partition table (GPT recommended for >2TB)
sudo parted /dev/sdb mklabel gpt
# Create primary partition
sudo parted /dev/sdb mkpart primary ext4 0% 100%
# Format with ext4 filesystem
sudo mkfs.ext4 /dev/sdb1
# For XFS filesystem (common in RHEL)
sudo mkfs.xfs /dev/sdb1
For RHEL 6 persistent mounting:
# Create mount point
sudo mkdir /mnt/bigstorage
# Add to /etc/fstab
echo "/dev/sdb1 /mnt/bigstorage ext4 defaults 0 2" | sudo tee -a /etc/fstab
# Mount all filesystems
sudo mount -a
# Verify mount
df -h /mnt/bigstorage
If the disk remains undetected:
- Check physical connections and power
- Verify disk visibility in BIOS/UEFI
- Test with live CD/USB to rule out OS issues
- Inspect kernel module loading:
lsmod | grep sd_mod
When dealing with storage devices that don't appear in standard Linux disk listing commands, we need to approach the problem methodically. Here's how to thoroughly investigate:
# Check all block devices regardless of mounting status
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
# View raw disk information from kernel
sudo cat /proc/partitions
# Alternative low-level device scanning
sudo lsscsi -g
# Check kernel messages for disk detection
dmesg | grep -i 'sd\|hd\|storage'
If standard tools don't reveal the disk, try these approaches:
# Rescan SCSI/SATA buses (for hot-plugged drives)
echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan
# Check for LVM volumes that might be hiding the disk
sudo pvdisplay
sudo vgdisplay
sudo lvdisplay
# Examine udev device database
sudo udevadm info --export-db | less
Once you've identified the disk (e.g., /dev/sdb), proceed with preparation:
# Create new partition table (GPT recommended for >2TB)
sudo parted /dev/sdb mklabel gpt
# Create primary partition using entire disk
sudo parted -a opt /dev/sdb mkpart primary ext4 0% 100%
# Format with filesystem (adjust as needed)
sudo mkfs.ext4 -L "bigstorage" /dev/sdb1
# Verify filesystem creation
sudo blkid /dev/sdb1
For persistent mounting in Red Hat Enterprise Linux 6:
# Create mount point
sudo mkdir -p /mnt/bigstorage
# Add to /etc/fstab (using UUID is more reliable)
echo "UUID=$(sudo blkid -s UUID -o value /dev/sdb1) /mnt/bigstorage ext4 defaults 0 2" | sudo tee -a /etc/fstab
# Test mount configuration
sudo mount -a
df -h /mnt/bigstorage
If the disk still doesn't appear, consider these possibilities:
- Check physical connections and power supply
- Verify disk health with SMART tools:
sudo smartctl -a /dev/sdb
- Inspect RAID controller configuration if present
- Test the disk on another system to confirm functionality