ubuntu挂载sd卡到分区目录+修改docker镜像存储位置
ubuntu挂载sd卡到分区目录+修改docker镜像存储位置
一、 挂载SD卡到/data
1、查看Linux硬盘信息
lsblk 或 fdisk -l
lsblk
新的硬盘,最好删除之前的分区,再新建分区/dev/sda1
删除分区:(都选择默认)
fdisk /dev/sda
输入:d
磁盘新建分区(假如/dev/sda是要挂载的硬盘):
$ sudo fdisk /dev/sda
输入m可查看命令帮助[可选操作]
输入n,新增分区,分区类型可选:p primary; l logic
输入p,分区号选择3或4,1和2系统已占用
输入起始扇区和结束扇区,一般默认即可。特殊情况下,需根据已有分区扇区使用情况确定。如上图中三个分区,那么起始扇区可以设置在 /dev/sda2结束分区之后,
/dev/sda2 结束扇区为 41940991,那么新分区的起始扇区需要比它大,如:41940995. 结束扇区默认即可
输入w,保存修改
$ sudo partprobe # 使分区生效
$ sudo fdisk -l # 查看刚才新建的分区
2、可以安装hdparm 测试一下磁盘的读写速率(可选)
apt-get install hdparm
hdparm -cdt /dev/sda1
3、格式化新硬盘(很危险,注意操作时确定硬盘分区的位置),ext4格式
(不格式化后续可能出问题,比如docker迁移到硬盘里面,运行不了)
mkfs.ext4 /dev/sda1
4、创建/data目录(/data目录为硬盘将挂载的地方)
创建一个目录,比如/data
mkdir /data
5、挂载分区
mount /dev/sda1 /data
df -h或mount命令查看:
df -h
mount查看详细挂载情况,ext4格式:
mount
6、lsattr查看挂载文件夹的可操作属性(大致就可以)
lsattr
7、搞个所有用户可操作,防止其它用户存不了文件
chmod -R +777 /data/
8、配置开机自动挂载
方法1:(建议不要使用,修改/etc/fstab的方式,配置不正确可能会导致系统无法正常启动,也就是说如果没有硬盘的话,硬盘拔掉的话,会导致开机启动系统起不来)
mount命令会在重启服务器后失效,所以要将分区信息写到/etc/fstab文件中让它永久挂载
$ vi /etc/fstab # 编辑 fstab 文件
# 在文件中加入下面代码
/dev/sda1 /data ext4 defaults 0 1
修改/etc/fstab文件后,运行:
mount -a
方法2:(在启动脚本中挂载,推荐使用)
也可以通过开机启动脚本的方式配置开机自动挂载:
脚本示例:
vi /etc/rc.local
#!/bin/bash
[ -e /dev/sda1 -a -e /data ] && mount /dev/sda1 /data
9、后续故障处理
后期发现挂载的磁盘变为只读,Read-only file system
这种情况通常都是由于系统发现磁盘硬件故障或文件系统中文件被损坏之后而采取的保护机制导致的。为了保护数据不破坏分区中已有内容,
Linux在挂载文件系统时就只用read-only只读方式加载了。**造成这个问题的原因大多数是因为非正常关机后导致文件系统受损引起的**,
在系统重启之后,受损分区就会被Linux自动挂载为只读。解决的方法是通过fsck来修复文件系统,然后重启即可。
先卸载挂载的目录:
umount /data
ext4文件系统分区,修复文件操作案例:
fsck -f /dev/sda1
修复好之后,重新挂载:
mount /dev/sda1 /data
二、修改docker镜像存储路径
docker安装之后默认的服务数据存放根路径为/var/lib/docker目录下,
var目录默认使用的是根分区的磁盘空间;所以这是非常危险的事情;
随着我们镜像、启动的容器实例开始增多的时候,磁盘所消耗的空间也会越来越大,
所以我们必须要做数据迁移和修改docker服务的默认存储位置路径;
有多种方式是可以修改docker默认存储目录路径的,但是最好是在docker安装完成后,
第一时间便修改docker的默认存储位置路径为其他磁盘空间较大的目录(一般企业中为/data目录),规避迁移数据过程中所造成的风险。
1、创建docker容器存放的路径
mkdir /data/docker
2、停止Docker服务并迁移数据到新目录
docker stop $(docker ps -aq)
systemctl stop docker.service
rsync -avz /var/lib/docker/ /data/docker/
3、修改Docker配置文件
方法1:-----------------------------------------------------------------------------
mkdir -p /etc/systemd/system/docker.service.d/
编辑文件:
vim /etc/systemd/system/docker.service.d/devicemapper.conf
添加如下内容:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/data/docker/
方法2:----------------------------------------------------------------------------------------
sudo vim /etc/docker/daemon.json #没有就创建
#在json串中添加内容如下
"data-root": "/data/docker",
4、重启Docker服务
systemctl daemon-reload
systemctl restart docker
5、查看现在容器存放的目录
docker info | grep "Dir"
会显示:
Docker Root Dir: /data/docker
ubuntu挂载sd卡到分区目录+修改docker镜像存储位置相关推荐
- Docker镜像存储位置修改
使用命名查看镜像存放位置 $ sudo docker info | grep "Docker Root Dir" 输出 Docker Root Dir: /var/lib/dock ...
- Docker扩容:Centos8虚拟机硬盘扩容+修改Docker默认存储位置
实验目的: Docker所存储的位置已经使用了百分之百,无法满足后续的运行需要.并且目前VMware虚拟机存在快照,不能对已有的硬盘直接扩容. 目前需要完成的是在Centos8虚拟机上的其他目录挂载新 ...
- Centos7修改Docker默认存储位置
Centos7修改Docker默认存储位置 一.前言 Centos7安装docker之后,默认的镜像及容器存储路径为/var/lib/docker,可以使用命令docker info查看. 但是该路径 ...
- 修改docker默认存储位置
有以下两种修改 方式 方法1. 修改docker默认存储位置 step 1: docker默认存储路径在/var/lib/docker下 [root@node01 system]# docker in ...
- 玩客云刷armbian安装php环境_玩客云刷机为armbian后,挂载SD卡到www目录的脚本
摘要: 这个脚本是我买了一个刷好armbian系统的玩客云,然后自己安装好了宝塔,最后发现磁... 这个脚本是我买了一个刷好armbian系统的玩客云,然后自己安装好了宝塔,最后发现磁盘根本不够用,才 ...
- Ubuntu挂载SD卡小问题
今天在ubuntu上挂载SD卡,出现 wrong fs type, bad option, bad superblock on /dev/sdb3,如下图所示,挂载不上. 解决办法:在终端中输入sud ...
- docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置
今天在Liunx服务器上重启docker的时候,发现容器启动不了了,报的错误是:"ERROR:cannot create temporary directory!".我的猜测应该就 ...
- 修改Docker默认存储位置的方法
在日常使用中由于我们的根目录通常都比较小,如果想大量存储容器镜像的话很容易导致根目录写满 docker 默认的数据目录是/var/lib/docker 我们想要移动数据目录可以按照下面说明操作即可. ...
- 四个修改Docker默认存储位置的方法
参考:http://www.mamicode.com/info-detail-1917569.html 我使用方法二.修改镜像和容器的存放路径 指定镜像和容器存放路径的参数是--graph=/var/ ...
最新文章
- ASP.NET Core 集成测试中模拟登录用户的一种姿势
- Unity3D之NGUI基础1:NGUI插件介绍
- 支持医学研究的Apple开源移动框架
- 酷狗php 技术题目,广州酷狗php面试题(赋答案)
- Linux系统密码忘记教程
- 【高速总线】JESD204B简介
- 程序员也要学英语——限定词、形容词和副词
- 金士顿DT100 G3 PS2251-07海力士U盘量产修复成功教程
- 【金猿产品展】战鹰——智能金融监管与声誉管理开拓者
- idea启动springboot项目控制台报错Command line is too long. Shorten command line for xxx or also for Spring B解决
- Nginx配置SSL支持htpps访问
- 当你们玩挂机游戏累了(_杰森大师_JAVA)
- imac15款和17款区别_5K屏2019款iMac轻体验:优缺点都很明显
- FPGA数字系统设计(9)——信号产生
- Handler详解(中)
- 从技术宝库到云上机遇:华为云开天aPaaS的“修路记”
- R语言风险价值VaR(Value at Risk)和ES 的估计
- GIT科普系列5:index in git
- edge保存网页html,微软Edge浏览器不支持网页保存功能怎么办?
- php生成mobileconfig,.mobileconfig的生成与签名
热门文章
- 华为交换机不同网段互访_如何实现交换机不同VLAN、不同网段之间互访?
- 申宝公司-A股短期难改震荡走势
- 维基百科 多线程 翻译
- Android 理解PorterDuffXfermode叠加模式
- 利用Astar算法实现飞行轨迹的三维路径规划(基于Matlab代码实现)
- 【全网首发开源教程】【Labview机器人仿真与控制】Labview与Solidworks多路支配关系-四足爬行机器人仿真与控制
- 用户·角色·权限·表的设计
- cf反恐穿越前线java_CF穿越前线生化危机又一场僵尸浩劫
- Elasticsearch+Logstash+Kibana实战部署[ELK]
- python怎么画眼睛显大_眼线怎么画眼睛显大