磁盘已满,需要定位具体位置
使用 df -h
和 lsblk
先确定挂载的关系
du命令可以显示目录和子目录的占用情况,需要携带参数指定查询深度:
du -h --max-depth=1 /path/to/large/directory
可以从根目录开始逐渐往下查找
有可能会存在du没有办法查找到的情况,例如对其中的一个目录,例如 /data/
写入了大量文件后,将其他磁盘挂载到了这个目录后,du没法统计这一部分数据,最终导致du的结果和df有差距,所以有必要先确认当前挂载的情况后再进行查找。
磁盘硬件健康
一般磁盘故障首先出现read only,如果此时可以备份,尽快操作,否则重启祈祷。
无论是否出现只读,我们想要查看磁盘健康,就需要检查其smart信息,debian系安装如下,win可以直接使用CrystalDiskInfo
apt install smartmontools
smartctl -a /dev/sda
注意查看SMART overall-health self-assessment test result:的信息,如果出现非PASSED的信息,则硬盘存在问题。
Vendor Specific SMART Attributes with Thresholds后的参数代表了smart属性,重点看这几个
Reallocated_Sector_Ct (ID 5) 记录了重新分配的扇区数,一般正常为0,对固态来说则代表已使用寿命百分比
Power_On_Hours (ID 9) 通电时间
磁盘初始化&开机绑定
相比较fdisk来说,我更喜欢cfdisk这类图形化界面,如果环境所迫,fdisk [device]系统也会有指引操作
cfdisk [device]
可以在后面添加设备名来指定设备
一般来说,对于一个新的硬盘,我们直接选new即可,默认会设置为Linux filesystem,在底部的菜单可以调整文件系统类型。
这之后选择write将更改写入磁盘
这时候磁盘信息将会改变
这之后我们需要格式化硬盘
mkfs.ext4 /dev/sda1
注意此时再cfdisk应该会看到Filesystem信息
这之后我们可以设置开机挂载,在/etc/fstab中,这里可以直接使用sda这类设备名,也可以使用UUID,但注意,UUID指定的系统,如果在系统中不存在,且未设置nofail
参数,系统将会启动失败。
这里我们按照设备名直接挂载:
/dev/sda1 /mnt/hdd1 ext4 defaults 0 0
可以重启验证配置,也可以直接挂载:
mount /dev/sda1 /mnt/hdd1
评论
jkEJk Srs KnqbPIPR gUQtZAuP CpxRzFMz