ESC云服务器磁盘扩容

日常运行中,容器服务所在目录由于container-log、image的增加需要占用大量的磁盘空间,所以对/var/lib/docker/目录进行扩容挂载LVM数据盘。

首先查看磁盘属性
# sudo fdisk -l
- 会出现相应的磁盘信息,针对增加的数据盘进行分区,格式化
对磁盘进行分区
# sudo fdisk /dev/vdb
m 查看命令帮助
n 添加新的分区
# 根据实际情况对磁盘分区 ## 更改分区编号
将分区类型改成Liunx lvm卷才能创建LVM
t 表示更改分区编号
L 表示查看所有编号
8e 代表LVM
w 用来保存并退出
分区成功后创建LVM
# sudo fdisk -l  查看分区情况

创建Physical Volume(PV)
# sudo pvcreate /dev/vdb1 创建pv
# sudo pvdisplay 查看pv信息 #创建Volume Group(VG)
# sudo vgcreate vg1 /dev/vdb1 创建vg
# sudo vgdisplay 查看vg信息 #创建Logical Volumes(LV)
# sudo lvcreate -n lv1 -l 100%VG vg1 #将所有的vg1的内存都给lv1 逻辑卷
# sudo lvdisplay
格式化逻辑卷
# sudo mkfs.ext4 /dev/vg1/lv1
# sudo blkid |grep 'lv1' # 查看UUID,在/etc/fstab 文件中填写

关于/etc/fstab文件

- 文件介绍
fstab包含了存储设备及文件系统的相关信息,用于自动挂载系统格式的硬盘、分区、可移动设备和远程设备等 - 文件字段解释
# fs mountpoint type opts dump/pass
/dev/sda1 / ext4 default 0 0 <fs>--file systems: 挂载设备,告知分区的名字。可以使用UUID代替
<mountpoint>: 挂载路径
<type>: 文件系统类型,典型示例:ext2、ext3、ext4、xfs等
<opts>: 文件系统参数,可以使挂载设备在开机自启、限制对挂载分区读写权限,具体参数可google搜索
<dump>:备份命令,通过dunp utility用来决定是否做备份,通过检查entry并用数字来决定是否对文件系统进行备份。允许数字是0或1. 0就会忽略不备份,1,dump会做一个备份
<pass>: 是否fsck检查扇区,0表示不检验,1表示最早检验,2也是要检验,但是1是最早检验的
Docker容器数据的备份及恢复
1.首先保证生产环境上能够正常对外提供服务的情况下,停止Docker daemon,以此来保证数据的完整性,执行命令
# sudo systemctl stop docker 2.将Docker默认数据目录下的数据备份,执行命令
# sudo mv /var/lib/docker /var/lib/docker_data 3.然后把新的格式化好的磁盘挂载到/var/lib/docker目录中,
# sudo vim /etc/fstab
UUID=****** /var/lib/docker ext4 defaults 0 0 4.创建对应的目录
# sudo mkdir /var/lib/docker 5.挂载磁盘
# sudo mount -a 6.把之前备份的Docker数据移动到新的磁盘上,执行命令
# sudo mv /var/lib/docker_data/* /var/lib/docker/ 7.启动Docker,并检查数据位置,执行命令
# sudo systemctl start docker 8. 执行命令df 查看新挂载信息 9.执行命令docker ps,查看容器是否丢失,并根据实际情况对未启动的容器start

线上LVM磁盘挂载的更多相关文章

  1. vCenter线上操作磁盘扩容

    以下截图是生产机器,目前是有一块盘,且根分区是/dev/sda3,因为磁盘不足,需要备份的数据要远远超过此时的空间大小:正常情况下,是可以新增硬盘硬盘作为备份 但是作为宿主机下的虚机,因为一些不规范的 ...

  2. 一次线上遇到磁盘IO瓶颈的问题处理

    Load  average %wa    的含义是等待输入输出的CPU时间百分比 结合iostat命令可以发现磁盘已经在100%满负荷在跑 await:每一个IO请求的处理的平均时间(单位是毫秒).这 ...

  3. JAVA 线上故障排查套路,从 CPU、磁盘、内存、网络到GC 一条龙!

    线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍. 同时例如jstack.jmap等工具也是不囿于一个方面的问题的, ...

  4. Linux上磁盘挂载

    Linux磁盘挂载   一.  磁盘分区 在终端输入fdisk –l 命令查看整个系统的分区情况. 能够看到另一个32G的/dev/vdb磁盘没有挂载使用 watermark/2/text/aHR0c ...

  5. Linux下磁盘挂载

    公司硬盘不够用了,新买了一个存储,需要挂载到现在的系统上.前期的步骤就不说了,运维全部搞定,无非是硬件和网络那一套,这里只说分配到本人后在Linux下如何挂载. 具体步骤如下: 1.查看是否已经分配 ...

  6. 线上Linux服务器运维安全策略经验分享

    线上Linux服务器运维安全策略经验分享 https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&a ...

  7. LVM磁盘管理

    http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html Linux LVM硬盘管理及LVM扩容 LVM磁盘管理 一.LVM简介... ...

  8. Linux系统如何迁移至LVM磁盘

    今天遇到一个问题,算是比较严重的把.就是要把当前系统转移到 LVM 卷里面去,下面有一些发生过程介绍. 不感兴趣可以直接跳过,看实战部分<如何迁移系统至LVM卷> 朋友今天突然找我,说是要 ...

  9. Java程序线上故障排查

    目录 一.Linux 内存和cpu 网络 磁盘 /proc文件系统 二.JVM Java堆和垃圾收集器 gc日志分析 JVMTI介绍 Attach机制 java自带工具 三.三方工具 jprofile ...

随机推荐

  1. Vue项目中使用better-scroll

    当 better-scroll 遇见 Vue   在我们日常的移动端项目开发中,处理滚动列表是再常见不过的需求了. 以滴滴为例,可以是这样竖向滚动的列表,如图所示: 也可以是横向滚动的导航栏,如图所示 ...

  2. PowerShell安装IIS

    Windows作web开发的同学,应该都会用到IIS服务器.比如在阿里云或是Azure上购买一台新的服务器,默认是没有安装IIS的(安装的镜像就带有IIS或是MySql的除外).届时需要安装IIS,安 ...

  3. ReentrantLock源码分析--jdk1.8

    JDK1.8 ArrayList源码分析--jdk1.8LinkedList源码分析--jdk1.8HashMap源码分析--jdk1.8AQS源码分析--jdk1.8ReentrantLock源码分 ...

  4. JS数据结构第五篇 --- 二叉树和二叉查找树

    一.二叉树的基本概念 从逻辑结构角度来看,前面说的链表.栈.队列都是线性结构:而今天要了解的“二叉树”属于树形结构. 1.1 多叉树的基本概念,以上图中“多叉树”为例说明 节点:多叉树中的每一个点都叫 ...

  5. P3195 [HNOI2008]玩具装箱TOY 斜率优化dp

    传送门:https://www.luogu.org/problem/P3195 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任 ...

  6. coo ceo cfo cto cio 区别

    常见的CEO(Chief executive officer)首席执行官类似总经理.总裁,是企业的法人代表. COO(Chief operating officer)首席运营官 类似常务总经理CFO( ...

  7. LoRaWAN调试踩坑心得(二)

    先说两句 抱歉,由于工作原因和个人原因,中间停更了这么久.接下来,本人会继续往下更,内容包括但不仅限于LoRa.文章还是会按照个人的习惯,坚持原创,一是作为自己的笔记,二是和广大工程师分享交流. Lo ...

  8. go语言实现分布式对象存储系统之单体对象存储

    对象存储 基本概念 主流存储类型分为三种:块存储.文件存储以及对象存储 NAS(文件存储):Network Attached storage,提供了存储功能和文件系统的网络服务器,客户端可以访问NAS ...

  9. 关于简单递归在python3中的实现

    话不多说,奉上代码: #倒计时 def count_down(i): if i <= 0: return else: print(str(i)) count_down(i - 1) #求阶乘 d ...

  10. Go 面试每天一篇(第 2 天)

    下面这段代码输出什么,说明原因. func main() { slice := []int{0,1,2,3} m := make(map[int]*int) for key,val := range ...