摘要
- 介绍 Armbian 系统的基本知识,说明电视盒子 E900V22C 的 TF 卡电路参数以及一般 U 盘的实际速度,挂载 TF 卡到系统并配置自动挂载,迁移 Docker 数据到 TF 卡并修改 Docker 配置,验证数据迁移结果。
背景说明
- E900V22C 电视盒子的电路板上留有 TF 卡座及其相关元器件的空位。
- Armbian 系统是基于 Debian/Ubuntu 而构建的专门用于 ARM 芯片的轻量级 Linux 系统。
- 一般 USB2.0 接口的 U 盘的实际写入速度上限为 10MB/s 左右,实际读取速度上限为 20MB/s 左右。
补全 TF 卡电路
- 工具
- 元器件
- 封装为 SMD 的 MicroSD 卡座
- 封装为 0402 的贴片电阻:33Ω、4.7kΩ、10kΩ
- 封装为 0402 的贴片电容:10pF、1μF
挂载 TF 卡
- 补全 TF 卡电路后,将电源线和网线以及 TF 卡插入电视盒子,打开电源开关。
- 登录 Armbian 系统。在电视盒子已安装 Armbian 系统的情况下,通过 SSH 登录 Armbian 系统。打开终端连接工具软件,协议 选择 SSH2,主机名 为在路由器中查到的电视盒子的 IP 地址,端口 为默认的 22 ,点击 连接 按钮 。用户名 为 root,密码 为设置的密码。
- 查看所有可用存储设备。执行 lsblk 命令以列出所有可用块设备的信息。块设备有硬盘,闪存盘,cd-ROM等。
- 查看文件系统信息。执行 blkid /dev/mmcblk1p1 命令以查询 TF 卡 mmcblk1p1 分区的 UUID 值和所采用的文件系统类型。
- UUID="e6b9d4f8-e14b-f748-9c4e-fb54186ff2ee" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="423fa0c8-01"
复制代码 - 修改分区的文件系统类型。如果 mmcblk1p1 分区的 TYPE 不为 ext4,执行 mkfs.ext4 /dev/mmcblk1p1 命令将 mmcblk1p1 分区格式化为 ext4 类型的文件系统。
- 创建挂载点。执行 mkdir -p /mnt/sdcard 命令以创建用于挂载 TF 卡的目标目录。
- 临时挂载。执行 mount /dev/mmcblk1p1 /mnt/sdcard 命令以手动挂载 TF 卡到 /mnt/sdcard 挂载点。
- 配置自动挂载。执行 nano /etc/fstab 命令以修改自动挂载配置文件来实现启动后自动挂载 TF 卡设备到挂载点。在文件的最后一行添加 UUID= /mnt/sdcard ext4 defaults 0 2,其中 的值为在第 4 步或第 5 步获得的 UUID 值。
- UUID=84fc3765-ab83-4e74-82ce-b30438b1c546 / ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1LABEL=BOOT_EMMC /boot vfat defaults 0 2tmpfs /tmp tmpfs defaults,nosuid 0 0UUID=e6b9d4f8-e14b-f748-9c4e-fb54186ff2ee /mnt/sdcard ext4 defaults 0 2
复制代码
- 保存修改并退出 nano 文本编辑器。首先按下 Ctrl + O 键以保存当前的修改,然后按下 Enter 键以保存修改到当前的文件名,最后按下 Ctrl + X 键以退出编辑器。
- 测试自动挂载配置文件。执行 mount -a 命令以挂载 /etc/fstab 中设置的所有设备。如果没有错误提示,说明配置成功。
- 重载配置。执行 systemctl daemon-reload 命令以通知系统服务重新加载配置文件。
迁移 Docker 数据
- 停止 Docker 服务。执行 systemctl stop docker 命令以停止 Docker 服务。
- 复制 Docker 数据。
- 创建新的 Docker 数据目录。执行 mkdir -p /mnt/sdcard/var/lib/docker 命令以在 TF 卡上创建用于存储 Docker 数据的目录。
- 查看 Docker 数据目录的属性。执行 ls -l /var/lib | grep docker 命令以查看旧数据目录 /var/lib/docker/ 的权限和所有者。执行 ls -l /mnt/sdcard/var/lib | grep docker 命令以查看新数据目录 /mnt/sdcard/var/lib/docker/ 的权限和所有者。
- root@armbian:~# ls -l /var/lib | grep dockerdrwx--x--- 12 root root 4096 8月 16 08:07 dockerroot@armbian:~# ls -l /mnt/sdcard/var/lib | grep dockerdrwxr-xr-x 2 root root 4096 8月 16 14:51 docker
复制代码 - 修改新 Docker 数据目录的属性。执行下列命令以修改新 Docker 数据目录的权限和所有者。
- chmod 710 /mnt/sdcard/var/lib/dockerchown root:root /mnt/sdcard/var/lib/docker
复制代码 - 复制 Docker 数据目录及其文件。执行 rsync -av /var/lib/docker/ /mnt/sdcard/var/lib/docker/ 命令以同步 /var/lib/docker/ 目录中的目录及其文件到 /mnt/sdcard/var/lib/docker/ 目录中。通过使用 rsync 命令同步本地文件的方式来复制数据,可以仅传输文件变化的部分以节省时间,同时可以保留文件属性。
- 修改 Docker 配置。执行 nano /etc/docker/daemon.json 命令以创建和修改 Docker 的配置文件。在文件中添加如下内容后,保存修改并退出 nano 文本编辑器。
- { "data-root": "/mnt/sdcard/var/lib/docker"}
复制代码
- 更新配置。执行 systemctl daemon-reload && systemctl restart docker 命令以重新加载配置和重启 Docker 服务。
- 验证 Docker 数据迁移结果。
- 查看 Docker 系统信息:执行 docker info 命令。
- 查看 Docker 服务状态:执行 systemctl status docker 命令。
- 执行 docker run hello-world 命令以运行 hello-world 镜像来验证数据迁移是否成功。
- 清理 Docker 数据。执行 rm -rf /var/lib/docker 命令以删除旧的 Docker 数据文件。
注意事项
- 分区被格式化之后,分区的 UUID 值会发生变化。
参考资料
- e900v22c添加TF卡最完美的方案【emuelec吧】_百度贴吧
- 1块钱,E900V22C增加TF卡槽成功【emuelec吧】_百度贴吧
- E900V22C/D 等 S905L3A 机顶盒教程汇总
- 8G存储太痛苦!这份玩客云Armbian扩容指南让你告别纠结_服务软件_什么值得买
- 更改 Docker 的默认数据目录:解决部署空间不足问题-阿里云开发者社区
- docker的/var/lib/docker目录迁移 - ejiyuan - 博客园
- Linux /etc/fstab文件详解:自动挂载配置指南(中英双语)_fstab文件配置详解-CSDN博客
- Fstab - Community Help Wiki
- rsync命令手册,rsync命令详解 - Linux命令手册
- dockerd | Docker Docs
版权声明:本文为「梦幻之心星」原创,依据 CC BY-NC-SA 4.0 许可证进行授权,转载请附上原文出处链接及本声明。
博客园地址:https://www.cnblogs.com/Sky-seeker
微信公众号:梦幻之心星 Sky-seeker
关注微信公众号,即时获取文章推送;访问博客园网页,正常显示网址链接。
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除 |