02 八月, 2023

thumbnail

4G emmc盒子福音:如何避免使用一段时间后根目录爆满

这个教程是通用教程,理论使用各种Linux系统,需要自行查询本地情况,适配修改命令参数
需要本地化,请勿照搬
需要本地化,请勿照搬
需要本地化,请勿照搬

准备

  1. USB存储32G以内的,在Windows使用DiskGenius.exe格式为ext4或者fat32,使用gpt分区表,大容量128G或者硬盘盒的,划分双分区,分区前部划分20G格式化为etx4或者fat32,其他格式化为NTFS分区
  2. 分析当前根目录各个目录的占用情况,记录需要处理的目录。使用命令du -lh -d 1 /查看根目录各文件夹占用,找占用大的几个目录逐级分析下去。
  3. 查看当前系统的path目录,命令echo $PATH将结果中这些目录排除。

命令环境

  • USB存储中用于分担存储压力的目标分区挂载点为/media/sdb2,使用命令lsblk查看U盘挂载点
  • 需要迁移的目录为docker数据目录/var/lib/docker和web服务目录/var/www/html

操作步骤

操作目录、文件系统方式

  1. 创建目录
    mkdir /media/sdb2/backup  mkdir /media/sdb2/Date
  2. 停止docker等相关服务
    systemctl stop docker  ..........
  3. 迁移数据并备份
    rsync -avzP /var/lib/docker  /media/sdb2/Date/  rsync -avzP /var/www/html  /media/sdb2/Date/  mv /var/lib/docker  /media/sdb2/backup/  mv /var/www/html  /media/sdb2/backup/
    3.1 创建软连接方式映射目录
    ln -s /media/sdb2/Date/docker /var/lib/  ln -s /media/sdb2/Date/html /var/www/
    3.2 挂载目录方式
    mkdir /var/lib/docker  mkdir /var/www/html  mount --bind /media/sdb2/Date/docker /var/lib/docker  mount --bind /media/sdb2/Date/html /var/www/html  mount -a
  4. 重启docker等相关服务
    systemctl start docker  ..........

更改软件配置方式(docker为例)

  1. 修改配置默认路径
    在 EXECStart 后面添加--graph=/media/sdb2/Date/docker
    vim /usr/lib/systemd/system/docker.service  # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock这一行后边添加下边内容,空格隔开。  --graph=/media/sdb2/Date/docker

    重启 docker
    systemctl daemon-reload  systemctl start docker
    查看 docker 数据存储目录
    docker info | grep "Docker Root Dir"  # 输出结果  Docker Root Dir: /media/sdb2/Date/docker

 

Subscribe by Email

Follow Updates Articles from This Blog via Email

No Comments

About

搜索此博客