跳转到内容

磁盘与文件系统命令 ​

排查磁盘问题时,先用只读命令看清状况,再决定要不要动手。本页的可运行命令全部是只读的,都在 OMV 的 shell(root 身份)里执行。它们几乎都是 OMV 的依赖包自带的(util-linux、smartmontools、mdadm、btrfs-progs、lvm2 等),装好 OMV 就能用。

OMV 管理的文件系统请在 存储器 → 文件系统(Storage → File Systems)里挂载和卸载。手动 mount、umount 不会更新 OMV 的数据库,界面和实际状态会对不上。

识别磁盘、分区与挂载 ​

命令作用执行位置风险提示
lsblk -o NAME,SIZE,TYPE,MODEL,SERIAL,FSTYPE,MOUNTPOINTS列出磁盘、分区、容量、型号、序列号、文件系统和挂载点。按型号和序列号确认目标盘的首选命令OMV 的 shell只读
lsblk -f文件系统类型、标签、UUID、挂载点OMV 的 shell只读
blkid块设备的 UUID、标签和文件系统类型。OMV 的挂载点和 fstab 条目都以 UUID 为准OMV 的 shell只读
ls -l /dev/disk/by-id/按型号加序列号命名的稳定设备路径。sdb、sdc 这类名字会随插拔顺序漂移,确认目标盘时用 by-id 路径OMV 的 shell只读
findmnt以树状列出所有挂载,findmnt <挂载点> 看某个挂载点的来源和选项OMV 的 shell只读
cat /proc/mounts内核里当前真实的挂载和选项。排查「fstab 改了但没生效」时看它OMV 的 shell只读
df -hT各文件系统的类型、容量、已用、挂载点。Btrfs、ZFS 上 df 的数字不准,用各自的命令看OMV 的 shell只读
du -sh <目录>某个目录占多少空间,目录大时比较慢OMV 的 shell只读
lsof +D <目录>哪些进程正在使用某个目录。卸载文件系统提示「目标忙」时用OMV 的 shell只读,目录大时比较慢
sh
# 在 OMV 的 shell(root)执行,只读
dmesg -T | tail -n 50                           # 最近的内核消息,找 I/O 错误、ata 重置、USB 掉线
lspci -nn | grep -i -E 'sata|raid|sas|nvme'     # 看存储控制器

S.M.A.R.T. ​

<磁盘> 换成 lsblk 里看到的设备名,例如 sda。

命令作用执行位置风险提示
smartctl -H /dev/<磁盘>整体健康评估,结果是 PASSED 或 FAILEDOMV 的 shell只读
smartctl -a /dev/<磁盘>全部 SMART 信息:型号、序列号、通电时间、温度、关键属性(5、187、197、198、199)、自检日志OMV 的 shell只读
smartctl -x /dev/<磁盘>更详细的扩展信息OMV 的 shell只读
smartctl -l selftest /dev/<磁盘>自检日志OMV 的 shell只读
smartctl -d sat -a /dev/<磁盘>USB 硬盘盒读不到 SMART 时可以试 -d sat。有的盒子无论怎样都不透传OMV 的 shell只读
smartctl -t short /dev/<磁盘>、smartctl -t long /dev/<磁盘>启动短测、长测,在后台运行,稍后用 -l selftest 看结果OMV 的 shell不改数据,长测会占用磁盘性能。更推荐在 存储器 → S.M.A.R.T. → 计划任务(Storage → S.M.A.R.T. → Scheduled Tasks)里排计划

官方文档说明,OMV 只对直连、HBA 直通模式的磁盘支持 SMART。虚拟磁盘和多数 USB 盒子读不到,详见 S.M.A.R.T.:监控硬盘健康。

软件 RAID(mdadm) ​

md0 换成你的阵列名。

命令作用执行位置风险提示
cat /proc/mdstat所有阵列的状态和重建进度OMV 的 shell只读
mdadm --detail /dev/md0阵列级别、成员盘、状态(clean、degraded 等)、UUIDOMV 的 shell只读
mdadm --detail --scan以配置文件格式列出所有阵列OMV 的 shell只读
mdadm --examine /dev/<成员盘>读取成员盘上的 RAID 元数据:所属阵列的 UUID、角色、事件计数OMV 的 shell只读

Btrfs ​

<挂载点> 换成 /srv/dev-disk-by-uuid-<UUID> 这样的路径。

命令作用执行位置风险提示
btrfs filesystem show所有 Btrfs 文件系统的 UUID 和成员设备OMV 的 shell只读
btrfs filesystem usage <挂载点>空间的详细分配:数据、元数据、系统各占多少,还有多少未分配。比 df 可靠OMV 的 shell只读
btrfs device stats <挂载点>各设备累计的读写、校验错误计数,出现非零值要警惕OMV 的 shell只读
btrfs scrub status <挂载点>上一次或当前 scrub 的进度和错误统计OMV 的 shell只读
btrfs subvolume list <挂载点>子卷和快照列表OMV 的 shell只读

LVM 与 ZFS ​

lvm2 的命令行工具是 OMV 的依赖,装了 openmediavault-lvm2 插件才有菜单;zpool、zfs 要装 omv-extras 的 zfs 插件。

命令作用执行位置风险提示
pvs、vgs、lvs物理卷、卷组、逻辑卷的概览OMV 的 shell只读
zpool status -vZFS 池的健康状态、错误、scrub 进度OMV 的 shell只读
zpool list、zfs list池和数据集的容量OMV 的 shell只读

权限与 ACL ​

排查 Permission denied 时用,详见权限错误:Permission denied。

命令作用执行位置风险提示
ls -ld <路径>目录自己的权限、属主、属组。共享文件夹默认是 2775、root:usersOMV 的 shell只读
getfacl <路径>查看访问控制列表(ACL)OMV 的 shell只读
id <用户名>用户的 UID、GID 和所属的全部组OMV 的 shell只读

会改动磁盘的命令(只写用途) ​

这些命令本页不给可复制的步骤

它们会擦除、改写或销毁数据,写错一个设备名就无法挽回。

  • 影响范围:目标盘、阵列或池上的全部数据。
  • 前置条件:先用上面的只读命令,按型号和序列号确认目标,并确认重要数据已有独立备份。
  • 怎么回退:基本没有回退,擦除之后只能从备份恢复。所以下表指向教程,教程里用 Web 界面完成同样的事,带确认和反馈。
命令用途去看
mkfs.ext4、mkfs.xfs、mkfs.btrfs 等在分区上创建文件系统,原有数据被清除创建并挂载文件系统
wipefs擦除磁盘上的文件系统、RAID、LVM 等签名磁盘管理,存储器 → 磁盘(Storage → Disks)里的擦除(Wipe)
parted、fdisk、gdisk创建或改写分区表磁盘管理
dd按块复制或覆写数据,源和目标写反就是灾难备份系统盘
mdadm --create、--zero-superblock、--stop、--assemble --force、--fail、--remove创建或拆除阵列,清除成员盘上的 RAID 元数据,强制拼装,标记故障盘、移除成员软件 RAID、软件 RAID 维护
btrfs balance、btrfs device add、remove、replace重新分布数据,增加、移除、替换设备,耗时很长Btrfs 维护
pvcreate、vgremove、lvremove 等创建或删除物理卷、卷组、逻辑卷LVM 插件
cryptsetup luksFormat、luksErase创建 LUKS 容器,擦除全部密钥槽。丢了密钥,数据就没了LUKS 磁盘加密
zpool destroy、zfs destroy、强制导入池销毁池和数据集,强制导入ZFS 插件
fsck、e2fsck、xfs_repair、btrfs check --repair修复文件系统,错误使用可能扩大损坏文件系统变成只读、用救援系统抢救数据

继续浏览 ​

OpenMediaVault 非官方中文使用指南,与 openmediavault 项目及其开发者无隶属关系。