外观
磁盘与文件系统命令
排查磁盘问题时,先用只读命令看清状况,再决定要不要动手。本页的可运行命令全部是只读的,都在 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 或 FAILED | OMV 的 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 等)、UUID | OMV 的 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 -v | ZFS 池的健康状态、错误、scrub 进度 | OMV 的 shell | 只读 |
zpool list、zfs list | 池和数据集的容量 | OMV 的 shell | 只读 |
权限与 ACL
排查 Permission denied 时用,详见权限错误:Permission denied。
| 命令 | 作用 | 执行位置 | 风险提示 |
|---|---|---|---|
ls -ld <路径> | 目录自己的权限、属主、属组。共享文件夹默认是 2775、root:users | OMV 的 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 | 修复文件系统,错误使用可能扩大损坏 | 文件系统变成只读、用救援系统抢救数据 |