查看硬盘
ll /dev/sd*示例输出:
brw-rw----. 1 root disk 8, 0 7月 31 18:43 /dev/sda
brw-rw----. 1 root disk 8, 1 7月 31 18:43 /dev/sda1
brw-rw----. 1 root disk 8, 2 7月 31 18:43 /dev/sda2
brw-rw----. 1 root disk 8, 3 7月 31 18:43 /dev/sda3
brw-rw----. 1 root disk 8, 16 7月 31 22:57 /dev/sdb
brw-rw----. 1 root disk 8, 17 7月 31 22:57 /dev/sdb1查看硬盘分区信息
fdisk -l /dev/sdb或者查看所有磁盘和分区:
lsblk删除硬盘分区(以 /dev/sdb 为例)
fdisk /dev/sdb交互过程:
输入
d删除分区输入分区号(例如 1)
重复删除所有分区
输入
w保存并退出
清除硬盘分区表(慎用)
dd if=/dev/zero of=/dev/sdb bs=512 count=1或者使用 wipefs:
wipefs -a /dev/sdb创建新分区
fdisk /dev/sdb交互过程:
输入
n创建新分区输入分区号(默认即可)
指定起始扇区和结束扇区(默认即可)
输入
w保存并退出
格式化分区
mkfs.ext4 /dev/sdb1其他可选文件系统:xfs、btrfs、ntfs 等
挂载硬盘分区
mkdir -p /mnt/data
mount /dev/sdb1 /mnt/data验证是否挂载成功:
df -h | grep /mnt/data设置开机自动挂载
编辑 /etc/fstab 添加:
/dev/sdb1 /mnt/data ext4 defaults 0 2建议使用 UUID,查看 UUID:
blkid /dev/sdb1示例:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/data ext4 defaults 0 2卸载硬盘分区
umount /mnt/data如果提示设备正忙:
lsof | grep /mnt/data或使用 fuser 查看并终止进程
删除磁盘设备(模拟移除)
如果是热插拔设备,可以执行:
echo 1 > /sys/block/sdb/device/delete查看磁盘 SMART 状态(监控健康)
smartctl -a /dev/sdb需安装 smartmontools 包
扫描新插入的磁盘(不重启)
echo "- - -" > /sys/class/scsi_host/host0/scan
根据主机数量可能为 host1、host2 等
如果卸载硬盘的时候提示 umount: /disk: 目标忙.
1. 查找占用该挂载点的进程
使用 lsof
lsof +D /disk显示正在访问 /disk 的文件的进程(可能很多)。
使用 fuser
fuser -vm /disk会列出使用该目录的进程及用户。
🔒 2. 终止占用进程(谨慎操作)
强制终止所有占用进程
fuser -km /disk这会发送 SIGKILL(-k)信号终止所有正在使用 /disk 的进程。
总结
以上命令适用于大多数基于 SCSI 的硬盘(包括 SATA/SAS)。操作硬盘需谨慎,强烈建议在执行删除、格式化前备份数据!
评论区