centos7下将docker的storage 由loop-lvm 更改为 direct-lvm

2023-05-16

本机服务器环境是centos7 (vbox虚拟机)  安装docker后 运行正常,某次强行关闭了虚拟机 导致后续docker运行不起来,发现报错是与storage有关,所以网上查原因是说,docker原本是在ubuntu上开发的,ubuntu有 union fs这种支持,但是centos内核不支持,docker为了能够在centos下 开箱即用,所以弄了loop-lvm ,做到不用配置,但是这个东西官方明确说明 不建议在生成环境使用,所以通过网上查找资料,将loop-lvm  更换为direct-lvm


我给我的虚拟机 创建了一个虚拟硬盘 并分出了一个5G大小的分区 /dev/sdb2  先停止docker服务  systemctl stop docker.service


1、创建之前先将/dev/sdb2分区用fdiskid改为8elvm


2、创建pv (创建完毕 pvdisplay 能看到成果)

pvcreate /dev/sdb2


3、创建vg (从生成pv后的硬盘 创建类似一个虚拟硬盘的东西) 创建完毕 vgdisplay 能看到成果

vgcreate docker /dev/sdb2


4、创建两个lv(lv就是逻辑分区,上一步创建的vg 可以理解为一个虚拟硬盘,现在要对虚拟硬盘docker进行分区 lvdisplay 能看到分区结果

)

lvcreate --wipesignatures y -n thinpool -l 95%VG docker

lvcreate --wipesignatures y -n thinpoolmeta -l 1%VG docker


5、根据上一步的两个LV创建thin-pool(thinpool 是docker storage能用的)

lvconvert -y --zero n -c512K --thinpool docker/thinpool --poolmetadata docker/thinpoolmeta


6、配置thin-pool的自动扩展


修改lvm配置文件
vi/etc/lvm/profile/docker-thinpool.profile
如下:
activation{
   thin_pool_autoextend_threshold=80
   thin_pool_autoextend_percent=20
}


7、激活lv的配置文件

lvchange --metadataprofile docker-thinpool docker/thinpool


8、在docker启动配置文件
/etc/sysconfig/docker-storage
中添加或修改:
DOCKER_STORAGE_OPTIONS=--storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/docker-thinpool --storage-opt dm.use_deferred_removal=true


9、启动docker

启动前 先删除  rm -rivf /var/lib/docker/*   (注意备份该文件夹 切记 该文件夹下有镜像 容器等文件 否则镜像需要重新构建或下载)

systemctl start docker.service


10、docker info 能查看到thinpool 已使用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos7下将docker的storage 由loop-lvm 更改为 direct-lvm 的相关文章

随机推荐

  • Linux 下 netbeans 字体抗锯齿正解

    在netbeans安装目录找到 etc 目录下的 netbeans conf 文件 xff0c 用你喜欢的编辑器打开这个文件 xff0c 在其中加入这个选项 J Dawt useSystemAAFontSettings 61 on 这里你要
  • 如何在CentOS系统中安装字体

    以linux下安装宋体 xff0c 黑体为例 xff0c 介绍字体安装方法 xff1a 第一步 拷贝 把对应字体的的ttf文件拷到 usr share fonts 的任意目录下 xff0c 假设宋体已拷贝到 usr share fonts
  • Intel CPU简介

    现在Intel已然成了CPU的代名词 xff0c 但当年的Intel并没有现在这么风光 从1978年发布的8086到2013年的四代i7 xff0c 整整35年 xff0c 她见证了从PC到互联网 移动互联网的几次巨变 xff1b 这些年的
  • 让AndroidX86竖屏显示

    以VirtualBox为例 xff0c Android X86的下载地址可以百度搜索 这种界面非常不爽 xff0c 尤其在调试程序时 xff0c 如何才能显示成竖屏呢 xff1f 先把AndroidX86装到硬盘上 然后进行下面设置 1 完
  • Call to undefined function imagettftext()

    今天将公司官网弄到本地测试到时候 xff0c 发现验证码无法显示 xff0c 公司的官网以前是用dede做的 xff0c 找到dede中的include vdimgck php 单独运行 xff0c 没有报错 xff0c 也不显示 顺着文件
  • 在linux下安装glut包

    转自 xff1a http blog csdn net delacroix xu article details 5478429 在linux下opengl编程 xff0c 首先需要安装glut包 1 安装glut xff08 1 xff0
  • configure: error: could not find working GL library

    plib1 8 3下载地址 xff1a http pkgs fedoraproject org repo pkgs plib plib 1 8 3 tar gz de10b19dfcee5da7115ee2a69656f34c plib 1
  • 一篇关于su和sudo以及visudo的很好的介绍性文档

    一 使用 su 命令临时转换用户身份 1 su 的适用条件和威力 su命令就是转换用户的工具 xff0c 怎么理解呢 xff1f 比如我们以普通用户beinan登录的 xff0c 但要添加用户任务 xff0c 执行useradd xff0c
  • 微信公众号开发中的openid值并不是固定的

    在做微信开发时 xff0c 今天犯了一个错误 xff0c 检查了半天才检查出来 微信在向第三方推送信息时会带上一个openid 这是发送信息者的唯一标识 xff0c 看文档说是唯一标识 就以为这个id只与微信号有关 xff0c 而今天才发现
  • linux下单独编译安装Apache rewrite_module

    转自 xff1a http blog chinaunix net uid 25266990 id 145266 html Apache已经编译安装完了 xff0c 上传程序 xff0c 发现必须得用rewrite xff0c 重新上载模块
  • linux 下安装php的openssl扩展

    1 安装openssl 解压php的源码包 tar zxvf php 5 3 8 tar gz cd soft php 5 3 8 ext openssl mv config0 m4 config m4 否则报错 xff1a 找不到conf
  • php安装 出现Sorry, I cannot run apxs. ***错误解决方法

    tar zvxf php 5 1 2 tar gz cd php 5 1 2 configure prefix 61 usr local php with mysql 61 usr local mysql with apxs2 61 usr
  • linux下mysql的root密码忘记解决方

    1 xff0e 首先确认服务器出于安全的状态 xff0c 也就是没有人能够任意地连接MySQL数据库 因为在重新设置MySQL的root密码的期间 xff0c MySQL数据库完全出于没有密码保护的 状态下 xff0c 其他的用户也可以任意
  • Pandas DataFrame

    http pandas pydata org pandas docs stable api html dataframe 构造函数 方法描述DataFrame data index columns dtype copy 构造数据框 属性和数
  • Apache域名自动指向虚拟主机目录

    用apache做项目时 xff0c 是经常需要在httpd vhost conf文件中配置虚拟主机 xff0c 用于单独的项目 xff0c 每新开一个项目就需要重新加一个配置 xff0c 着实麻烦 xff0c apache2其实是支持在配置
  • CentOS上升级PHP5.3至PHP5.5

    最近想玩玩儿symfony2 发现自己CentOS上的PHP版本还是5 3不符合要求 xff0c 所以想升级至5 5 但是 CentOS通过yum更新的源最新版本是5 3 无法升级 xff0c 通过网上查找资料 发现 更新下yum的源后 可
  • 启动docker web服务时 虚拟机端口转发 外部无法访问

    centos 7 docker 启动了一个web服务 但是启动时 报 WARNING IPv4 forwarding is disabled Networking will not work 网上查询了下 需要做如下配置 解决办法 xff1
  • CentOS7下docker启动报Error starting daemon: Error initializing network controller: could not delete ...v

    前一天晚上强制关闭了虚拟机 CentOS7 导致早上启动docker 报Error starting daemon Error initializing network controller could not delete ve endp
  • 在ubuntu1404下安装PHP AMQP拓展 并进行docker容器封装

    有项目用到过rabbitmq 是技术负责人搭建好环境 xff0c 今天自己在本地 ubuntu 开发 xff0c 重新搞了下 xff0c 在网上查了下资料 xff0c 把安装重点记录下来 项目开发语言PHP 需要与一台rabbitmqser
  • centos7下将docker的storage 由loop-lvm 更改为 direct-lvm

    本机服务器环境是centos7 xff08 vbox虚拟机 xff09 安装docker后 运行正常 xff0c 某次强行关闭了虚拟机 导致后续docker运行不起来 xff0c 发现报错是与storage有关 xff0c 所以网上查原因是