一、新建LVM的过程
1.使用fdisk 新建分区 修改ID为8e
3.使用 pvcreate 创建 PV 
4.使用 vgcreate 创建 VG 
5.使用 lvcreate 创建 LV 
6.格式化LV
7.挂载
示例过程:
1. 查看磁盘情况
# fdisk -l
# lsblk
2.使用fdisk 新建分区 修改ID为8e 并更新
# fdisk /dev/sdb
# partprobe
3.使用 pvcreate 创建 PV (pvscan pvdisplay)
# pvcreate /dev/sdb{5,6,7}
4.使用 vgcreate 创建 VG (vgscan vgdisplay pvscan)
# vgcreate -s 16M testvg /dev/sdb{5,6,7}
5.使用 lvcreate 创建 LV (vgdisplay lsblk lvdisplay)
# lvcreate -l 192 -n testlv testvg
6.格式化LV
# mkfs -t ext4 /dev/testvg/testlv
7.挂载(mkdir df lsblk)
# mount /dev/testvg/testlv /mnt/test
 
 
二、删除LVM的过程
1.先卸载系统上面的 LVM 文件系统 (包括快照与所有 LV)
2.使用 lvremove 移除 LV 
3.使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志
4.使用 vgremove 移除 VG
5.使用 pvremove 移除 PV
6.使用 fdisk 修改 ID 回来
示例过程:
前提:如果有数据库的使用,需要先停止数据库和集群
1. 查看分区和磁盘情况
# df -h
# lsblk
2. 卸载LVM 文件系统
卸载之前,需要检查扩容的目录是否有用户在使用: fuser -vm /u01(如果有,可以使用kill杀掉进程)
# umount /mnt/test
# umount /mnt/test2
3. 使用 lvremove 移除 LV ( lvscan lvdisplay )
# lvremove /dev/testvg/testlv
# lvremove /dev/testvg/test2lv
4.使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志;
# vgchange -a n testvg
5.使用 vgremove 移除 VG:(vgscan vgdisplay)
# vgremove testvg
6.使用 pvremove 移除 PV (注意1 里面的lsblk 查看到的 )
# pvremove /dev/sdb{5,6,7,8}
7.使用 fdisk 修改ID为82
# fdisk /dev/sdb
8.更新
# partprobe
 
 
三、放大 LV 容量的过程
1.用 fdisk 配置新的具有 8e system ID 的 partition
2.利用 pvcreate 建置 PV
3.利用 vgextend 将 PV 加入VG
4.利用 lvresize 将新加入的 PV 内的 PE 加入LV 中
5.透过 resize2fs 将文件系统的容量确实添加!
示例过程
前提:如果有数据库的使用,需要先停止数据库和集群
1. 查看磁盘情况
# fdisk -l
# lsblk
2.使用fdisk 新建分区 修改ID为8e 并更新
# fdisk /dev/sdb
# partprobe
3.使用 pvcreate 创建 PV (pvscan pvdisplay)
# pvcreate /dev/sdb8
4.利用 vgextend 将 PV 加入VG (vgdisplay)
# vgextend testvg /dev/sdb8
5.利用 lvresize 将新加入的 PV 内的 PE 加入LV 中(vgdisplay vgdisplay lvdisplay lsblk df )
# lvresize -l +64 /dev/testvg/testlv
6.透过 resize2fs 将文件系统的容量确实添加( df )
# resize2fs /dev/testvg/testlv
 
 
四、缩小LV容量的过程(抽取整块分区)
1.卸载
2.使用resize2f 直接降低LV的容量
示例过程
前提:如果有数据库的使用,需要先停止数据库和集群
1.查看PV情况 (df lsblk)
# pvdisplay
# pvscan
#pvs
2.卸载
卸载之前,需要检查扩容的目录是否有用户在使用: fuser -vm /u01(如果有,可以使用kill杀掉进程)
# umount /mnt/test
3.磁盘检测LV
# e2fsck -f /dev/testvg/testlv
4.使用resize2fs 直接指定降低后的容量
# resize2fs /dev/testvg/testlv 3G
5.重新挂载
# mount /dev/testvg/testlv /mnt/test
6.使用lvresize 降低LV的容量 (pvscan pvdisplay )
#pvdisplay
#lvreszie -l -64 /dev/testvg/testlv
7.将要抽离的PV 的PE转移到 空闲PV中 (pvscan pvdisplay)
# pvmove /dev/sdb5 /dev/sdb8
8.使用vgreduce 将PV移除VG
# vgreduce testvg /dev/sdb5
9.使用pvremove 去除PV 
# pvremove /dev/sdb5
10.使用fdisk 修改ID 
# fdisk /dev/sdb
 
五、先缩小LV1容量,后增大LV2容量的过程(生产环境下的减小/home 增大/root)
1.卸载LV1
2.使用 e2fsck 检测一下LV1
3.使用resize2fs 重新定义LV1的大小
4.重新挂载,检验一下结果
5.使用lvreduce 或lvresize 减小LV1至指定大小
6.使用lvextend 增加LV2的大小
7.重新定义下LV2大小
示例过程
前提:如果有数据库的使用,需要先停止数据库和集群
1. 查看磁盘情况
# fdisk -l
# df -h
# lsblk
2.备份LV1的数据
# mkdir /mnt/backup
# tar -jcv -f /mnt/backup/test.tar.bz2 * 
# mv /mnt/test/* /mnt/backup/
3.卸载LV1
卸载之前,需要检查扩容的目录是否有用户在使用: fuser -vm /u01(如果有,可以使用kill杀掉进程)
# umount /mnt/test
4.使用 e2fsck 检测一下LV1
# e2fsck -f /dev/testvg/testlv
5.使用resize2fs 重新定义LV1的大小
# resize2fs -p /dev/testvg/testlv 2G
6.重新挂载,检验一下结果
# mount /dev/testvg/testlv /mnt/test
# df -h
7.使用lvreduce 或lvresize 减小LV1至指定大小
# lvresize -L 2G /dev/testvg/testlv
# lvreduce -L 2G /dev/testvg/testlv
8.使用lvextend 增加LV2的大小
# lvextend -l +100%FREE /dev/testvg/test2lv
# lvextend -L +1G /dev/testvg/test2lv
9.重新定义下LV2大小
# resize2fs -p /dev/testvg/test2lv
10.检查结果
# df -h
# lsblk
查看下其他的实例过程
# mkdir /backup 
# mv /home/* /backup/ 
# umount /home 
# lvremove /dev/centos/home 
# lvcreate -L 50G -n home cents 
# mkfs -t xfs /dev/centos/home 
# mv /backup/* /home/ 
# lvextend -L +xxxG /dev/centos/root 
# xfs_growfs root 
# rm -rf /backup
 
六、额外
缩小LV是先声明 resize2fs -p 后定义 lvresize -L 的过程
扩大LV是先定义 lvresize -L 后声明 resize2fs -p 的过程
lvresize只是扩展了lv磁盘(裸设备)的大小,resize2fs是ext4文件系统命令,会调用文件系统本身去扩容,所以还是ext4。也就是说你这个lv原来是什么文件系统现在还是什么文件系统,他只是负责调用,如果是xfs文件系统的话会有xfs的扩容缩减命令,xfs_growfs 刷新文件系统大小
 
缩下VG是移除空闲的PV的过程

1.1 关于LVM的创建、删除、扩容和缩减的更多相关文章

  1. lvm之创建/扩容/缩容/快照及关闭的全部流程操作记录

    基本介绍Linux用户安装Linux 操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间.随着 Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解, l ...

  2. lvm分区创建和扩容

    shell> fdisk /dev/xvdb #### 选择磁盘 Command (m for help): m #### 帮助 Command action a toggle a bootab ...

  3. LVM磁盘创建与扩容

    以虚拟机为例 1.在虚拟机上添加新磁盘,点击虚拟机→设置->添加,最后如下图. 2.进入系统fdisk -l,查看当前磁盘信息 [root@master shell]# fdisk -l Dis ...

  4. CentOS7 LVM添加硬盘及扩容

    一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制.LVM将一个或多个磁盘分区(PV)虚拟为一个卷组(VG), ...

  5. 使用LVM对系统盘进行扩容

        不知道大家有没有碰到在安装CentOS时个,对系统每个挂载点分配多大容量比较合适的问题?如果挂载点容量分配大小,在某天不够用的时候怎么办:分配太大又存在浪费的情况.特别是在遇到系统盘特别小的时 ...

  6. LVM的创建与管理

    LVM的创建与管理1.创建物理分区  fdisk 或者 parted 工具分区. LVM分区的类型ID为8e2.创建物理卷  pvcreate 磁盘分区或整个磁盘3.创建卷组  vgcreate 卷组 ...

  7. (转)CentOS7 LVM添加硬盘及扩容

    原文:http://blog.51cto.com/qicheng0211/1620171 9818人阅读   一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写 ...

  8. Linux系统LVM分区减容扩容

    Linux系统LVM分区减容扩容 目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况 [root@localhost ...

  9. 二叉排序树(BST)创建,删除,查找操作

    binary search tree,中文翻译为二叉搜索树.二叉查找树或者二叉排序树.简称为BST 一:二叉搜索树的定义 他的定义与树的定义是类似的,也是一个递归的定义: 1.要么是一棵空树 2.如果 ...

  10. 在后台对GameObject进行"创建"||"删除"动作

    在后台对GameObject进行"创建"||"删除"动作 建立 public GameObject Pre;//在编辑器中用来绑定的Prefabs public ...

随机推荐

  1. 适合新手入门Spring Security With JWT的Demo

    Demo 地址:https://github.com/Snailclimb/spring-security-jwt-guide .欢迎 star! Spring Security 是Spring 全家 ...

  2. 移动端调试神器vconsole,手机端网页的调试工具Eruda

    移动端调试神器vconsole,手机端网页的调试工具Eruda 移动端中使用 vConsole调试 移动端调试工具vconsole安装Git地址:https://github.com/WechatFE ...

  3. Vue.js最佳实践--给大量子孙组件传值(provide/inject)

    开发中有个需求,有个Parent组件(例如div)下,输入框,下拉框,radiobutton等可编辑的子孙组件几百个,根据某个值统一控制Parent下面的所有控件的disabled状态 类似于这样,给 ...

  4. android studio学习----构建(gradle )依赖时使用动态依赖的问题

    今天在看Dan Lew大神的博客发现最新的文章就是 “Don't use dynamic versions for your dependencies” Everyone, please, to st ...

  5. 面试题:java中String为什么要设置成final

    1.不可改变---执行效率高 2.因为String这个对象基本是被所有的类对象都会使用的到了,如果可以被复写,就会很乱套,比如map的key ,如果是一个string为key的话,String如果可以 ...

  6. HTTP的发展历史和各个版本差别

    HTTP前世今生 1989年,蒂姆·伯纳斯-李发表论文确立了三项关键技术: URI: 统一资源标志符,作为互联网上资源的唯一身份 HTML: 超文本标记语言,描述超文本文档 HTTP: 超文本传输协议 ...

  7. Mysql数据库 深度知识点

    停止命令:net stop mysql 启动命令:net start mysql   mysql登录命令 mysql -h ip -P 端口 -u 用户名 -p   mysql --version 或 ...

  8. CentOS 8 安装

    截止目前为止CentOS的最新版本为CentOS 8版本,接下来就介绍CentOS Linux 8.0.1905的安装过程 1. 安装CentOS 8 成功引导系统会显示如上图的界面: # 界面说明 ...

  9. [PAT] 目录

    题号  PAT Basic  PAT Advaced  PAT Top 1001 害死人不偿命的(3n+1)猜想     1002 写出这个数     1003 我要通过!     1004 成绩排名 ...

  10. 用js怎么来判断我已点击了窗体中“关闭”按钮?

    onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发. 该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面. 对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类 ...