前言

环境:centos7.9
本篇来实际操作lvm逻辑卷管理,从新加硬盘开始讲解。

添加2块磁盘

[root@localhost ~]# lsblk                                       #发现系统没有识别我们的2块硬盘
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   12G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   11G  0 part ├─cl-root 253:0    0  9.8G  0 lvm  /└─cl-swap 253:1    0  1.2G  0 lvm  [SWAP]
sr0          11:0    1 1024M  0 rom
[root@localhost ~]# init 6                                     #重启吧
[root@localhost ~]# lsblk                                      #重启系统后发现系统已经识别到新加的2块硬盘了
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   12G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   11G  0 part ├─cl-root 253:0    0  9.8G  0 lvm  /└─cl-swap 253:1    0  1.2G  0 lvm  [SWAP]
sdb           8:16   0    8G  0 disk                            #新加的8G的硬盘
sdc           8:32   0    6G  0 disk                            #新加的6G的硬盘
sr0          11:0    1 1024M  0 rom

创建PV(pvcreate 命令、pvs命令、pvdisplay命令、pvscan命令)

pvcreate:将一个或多个磁盘或分区转化为pv物理卷,其实内部就是将磁盘或分区转化为一个个PE,所以磁盘或分区最好是没有数据的,不然数据就会丢失。
pvs:查看pv的信息,信息简单明了。
pvdisplay:查看pv的信息,信息内容更加详细。
pvscan:查看pv的信息
创建PV有两种方式:基于磁盘创建、 基于分区创建。
1、基于磁盘的 ,就不需要划分分区 ,直接通过 pvcreate 来创建物理卷即可;
2、基于分区的 ,需要事先通过fdisk划分分区 ,并将分区格式转化为8e(8e表示的就是Linux lvm),分区不要mkfs格式化 ,然后再进行 pvcreate 来创建物理卷即可 。

[root@localhost ~]# pvcreate  /dev/sdb /dev/sdc                     #直接将两块磁盘转化为物理卷pvPhysical volume "/dev/sdb" successfully created.Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# pvs                                                #查看系统中有哪些pv,使用pvdisplay、pvscan可以看的更加详细PV         VG Fmt  Attr PSize  PFree/dev/sda2  cl lvm2 a--  11.00g 4.00m                               #这个PV是安装centos时默认的lvm分区时创建的,可以看出它已经加入到了名为cl的VG中了,而且它的可用空间只有4.00m了/dev/sdb      lvm2 ---   8.00g 8.00g                             #成功将sdb创建为PV了,这时它还没加入到任何的vg中去/dev/sdc      lvm2 ---   6.00g 6.00g                                #成功将sdb创建为PV了,这时它还没加入到任何的vg中去
[root@localhost ~]#

vgcreate创建卷组vg

[root@localhost ~]# vgcreate iflytek /dev/sdb /dev/sdc              #创建一个名称为iflytek的卷组,并把/dev/sdb /dev/sdc加入到卷组Volume group "iflytek" successfully created
[root@localhost ~]#
[root@localhost ~]# pvs                                                #查看pv就发现2块磁盘的已经属于iflytek的卷组了PV         VG      Fmt  Attr PSize  PFree/dev/sda2  cl      lvm2 a--  11.00g 4.00m/dev/sdb   iflytek lvm2 a--   8.00g 8.00g/dev/sdc   iflytek lvm2 a--   6.00g 6.00g
[root@localhost ~]# 

lvcreate创建逻辑卷lv

[root@localhost ~]# vgs iflytek                             #先查看iflytek的卷组还有多少空间VG      #PV #LV #SN Attr   VSize  VFreeiflytek   2   1   0 wz--n- 13.99g 13.99g
[root@localhost ~]#
[root@localhost ~]# lvcreate -n lv_data -L 6G  iflytek     #在名为iflytek的卷组上创建一个叫lv_data的逻辑卷,大小为6GLogical volume "lv_data" created.
[root@localhost ~]#
[root@localhost ~]# lvs                                        #查看刚才创建的lv,即lv_dataLV      VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot    cl      -wi-ao---- 9.79g                                                    swap    cl      -wi-ao---- 1.20g                                                    lv_data iflytek -wi-a----- 6.00g
[root@localhost ~]# 

mkfs格式化逻辑卷并创建文件系统

[root@localhost ~]# mkfs.xfs  /dev/iflytek/lv_data
meta-data=/dev/iflytek/lv_data   isize=512    agcount=4, agsize=393216 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1572864, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

mount挂载

[root@localhost ~]# mkdir /lv_data                                          #创建挂载点
[root@localhost ~]# mount /dev/iflytek/lv_data  /lv_data                   #挂载
[root@localhost ~]# df -Th                                                 #查看磁盘信息
Filesystem                  Type      Size  Used Avail Use% Mounted on
/dev/mapper/cl-root         xfs       9.8G 1021M  8.8G  11% /
devtmpfs                    devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                       tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                       tmpfs     1.9G  8.6M  1.9G   1% /run
tmpfs                       tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                   xfs      1014M  139M  876M  14% /boot
tmpfs                       tmpfs     378M     0  378M   0% /run/user/0
/dev/mapper/iflytek-lv_data xfs       6.0G   33M  6.0G   1% /lv_data
[root@localhost ~]# echo '/dev/iflytek/lv_data     /lv_data     xfs    defaults        0 0' >> /etc/fstab   #永久挂载
[root@localhost ~]# mount -a                                                   #测试
[root@localhost ~]# 

小结

1、添加新硬盘(不需要分区)或者创建一个是8e的Linux lvm分区(不需要格式化);
2、pvcreate  /dev/sdb                                                                #创建物理卷,即将sdb转化为物理卷,参数可以是多个
3、pvs 、pvscan、pvdisplay                                                         #查看有哪些物理卷
4、vgcreate -n vg_iflytek  /dev/sdb                                                  #创建一个名称为vg_iflytek的卷组,并把/dev/sdb加入
5、vgs、vgscan、vgdisplay                                                          #查看有哪些卷组
6、lvcreate -n lv_data -L 6G vg_iflytek                                              #在名为vg_iflytek的卷组上创建一个叫lv_data的逻辑卷,大小为6G
7、lvs、lvdisplay、lvscan                                                          #查看有哪些逻辑卷
8、mkfs.xfs  /dev/vg_iflytek/lv_data                                             #格式化并此案文件系统
9、mkdir /data  && mount /dev/vg_iflytek/lv_data /data                               #挂载就可以使用了
10、echo '/dev/iflytek/lv_data  /lv_data   xfs   defaults   0 0' >> /etc/fsta        #设置永久挂载吧
10、df -Th                                                                           #检查

lvextend 逻辑卷扩容

lvextend可以在线扩容逻辑卷,不需要关闭,也不需要停服务。

[root@localhost mapper]# lvextend -L +1G /dev/iflytek/lv_data                  #命令三、-L参数直接指定扩容大小,最常用
[root@localhost mapper]# lvextend -l +100%FREE /dev/iflytek/lv_data               #命令一、直接将vg中全部可用空间给lv扩容,比较常用
[root@localhost mapper]# lvextend  -l +25 /dev/iflytek/lv_data                    #命令二、指定LE的个数来扩容,如果1个LE的大小是4MB,那么这个就是增加100MB
[root@localhost mapper]# lvs && df -Th                                         #查看逻辑卷发现其实增大了空间,但是df查看文件系统发现,文件系统没有增大空间,这说明文件系统感知不到逻辑卷的增大。
[root@localhost mapper]# xfs_growfs  /dev/iflytek/lv_data                      #使用xfs_growfs 命令扩展xfs文件系统
[root@localhost mapper]# resize2fs  /dev/iflytek/lv_data                       #使用resize2fs 命令扩展ext4文件系统
[root@localhost mapper]# df -Th                                                    #查看文件系统发现真的增大了,扩容完成

vgextend 卷组扩容

卷组扩容其实就是新加一个磁盘或分区,转换为pv,然后把磁盘或分区加入卷组中即可。

[root@localhost ~]# lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   12G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   11G  0 part ├─cl-root       253:0    0  9.8G  0 lvm  /└─cl-swap       253:1    0  1.2G  0 lvm  [SWAP]
sdb                 8:16   0    8G  0 disk
└─iflytek-lv_data 253:2    0   14G  0 lvm  /lv_data
sdc                 8:32   0    6G  0 disk
└─iflytek-lv_data 253:2    0   14G  0 lvm  /lv_data
sdd                 8:48   0    2G  0 disk                              #这是我们新增加的磁盘sdd
sr0                11:0    1  4.1G  0 rom
[root@localhost ~]# fdisk /dev/sdd                                         #对磁盘进行分区(实际可以不用分区也行)
Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xf521342a.
Command (m for help): n                                                 #输入n表示创建一个分配
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p                                                   #分区类型为主分区
Partition number (1-4, default 1):                                      #分区编号默认1
First sector (2048-4194303, default 2048):                              #其实块保持默认
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303):    #最大块保持默认,默认会全部划为
Using default value 4194303
Partition 1 of type Linux and of size 2 GiB is setCommand (m for help): t                                                   #输入t表示改变分区格式
Hex code (type L to list all codes): 8e                                 #输入8e表示为分区格式Linux LVM
Changed type of partition 'Linux' to 'Linux LVM'Command (m for help): w                                                 #输入w表示保存所有更改,更改将被写入磁盘
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# df -h                                              #查看文件系统,这里肯定看不到,因为我们的磁盘分区还没格式化成文件系统
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/cl-root          9.8G 1021M  8.8G  11% /
devtmpfs                     1.9G     0  1.9G   0% /dev
tmpfs                        1.9G     0  1.9G   0% /dev/shm
tmpfs                        1.9G  8.6M  1.9G   1% /run
tmpfs                        1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                   1014M  139M  876M  14% /boot
/dev/mapper/iflytek-lv_data   14G   33M   14G   1% /lv_data
tmpfs                        378M     0  378M   0% /run/user/0
[root@localhost ~]# lsblk                                              #查看系统中的磁盘
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   12G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0   11G  0 part ├─cl-root       253:0    0  9.8G  0 lvm  /└─cl-swap       253:1    0  1.2G  0 lvm  [SWAP]
sdb                 8:16   0    8G  0 disk
└─iflytek-lv_data 253:2    0   14G  0 lvm  /lv_data
sdc                 8:32   0    6G  0 disk
└─iflytek-lv_data 253:2    0   14G  0 lvm  /lv_data
sdd                 8:48   0    2G  0 disk
└─sdd1              8:49   0    2G  0 part                              #已经成功创建了sdd1分区
sr0                11:0    1  4.1G  0 rom
[root@localhost ~]# pvcreate  /dev/sdd1                                #将/dev/sdd1标准分区转化为物理卷Physical volume "/dev/sdd1" successfully created.
[root@localhost ~]# pvs                                                    #查看系统中有哪些物理卷PV         VG      Fmt  Attr PSize  PFree/dev/sda2  cl      lvm2 a--  11.00g 4.00m/dev/sdb   iflytek lvm2 a--   8.00g    0 /dev/sdc   iflytek lvm2 a--   6.00g    0 /dev/sdd1          lvm2 ---   2.00g 2.00g                               #这就是我们新加的物理卷
[root@localhost ~]# vgextend iflytek /dev/sdd1                         #扩容iflytek卷组,即把/dev/sdd1加入iflytek卷组Volume group "iflytek" successfully extended
[root@localhost ~]# pvsPV         VG      Fmt  Attr PSize  PFree/dev/sda2  cl      lvm2 a--  11.00g 4.00m/dev/sdb   iflytek lvm2 a--   8.00g    0 /dev/sdc   iflytek lvm2 a--   6.00g    0 /dev/sdd1  iflytek lvm2 a--   2.00g 2.00g                               #/dev/sdd1已成功加入iflytek卷组,iflytek卷组扩容成功
[root@localhost ~]#

lvremove删除逻辑卷

[root@localhost ~]# umount  /dev/mapper/iflytek-lv_data                             #删除一个lv之前必须先卸载文件系统
[root@localhost ~]# lvremove /dev/iflytek/lv_data                                  #删除逻辑卷
Do you really want to remove active logical volume iflytek/lv_data? [y/n]: yLogical volume "lv_data" successfully removed
[root@localhost ~]# lvs                                                                #检查发现,lv_data逻辑卷已经被删除了LV   VG Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot cl -wi-ao---- 9.79g                                                    swap cl -wi-ao---- 1.20g
[root@localhost ~]#

vgreduce 删除卷组中的某个pv

[root@localhost ~]# vgreduce iflytek /dev/sdd1                                      #删除iflytek卷组中的sdd1物理卷Removed "/dev/sdd1" from volume group "iflytek"
[root@localhost ~]# pvs                                                                #查看物理卷PV         VG      Fmt  Attr PSize  PFree/dev/sda2  cl      lvm2 a--  11.00g 4.00m/dev/sdb   iflytek lvm2 a--   8.00g    0 /dev/sdc   iflytek lvm2 a--   6.00g    0 /dev/sdd1          lvm2 ---   2.00g 2.00g                                         #sdd1不属于任何卷组
[root@localhost ~]#

vgremove 删除卷组

[root@localhost ~]# vgremove  iflytek                                               #删除整个卷组
Do you really want to remove volume group "iflytek" containing 1 logical volumes? [y/n]: nVolume group "iflytek" not removed
[root@localhost ~]#

pvremove 删除物理卷

[root@localhost ~]# pvremove /dev/sdd1                                              #删除物理卷Labels on physical volume "/dev/sdd1" successfully wiped.
[root@localhost ~]#

小结

1、 lvextend 命令逻辑卷扩容[root@localhost mapper]#  lvextend -L +1G /dev/iflytek/lv_data          #命令三、-L参数直接指定扩容大小,最常用[root@localhost mapper]# lvextend -l +100%FREE /dev/iflytek/lv_data       #命令一、直接将vg中全部可用空间给lv扩容,比较常用[root@localhost mapper]# lvextend  -l +25 /dev/iflytek/lv_data          #命令二、指定LE的个数来扩容,如果1个LE的大小是4MB,那么这个就是增加100MB[root@localhost mapper]# xfs_growfs  /dev/iflytek/lv_data                 #使用xfs_growfs 命令扩展xfs文件系统[root@localhost mapper]# resize2fs  /dev/iflytek/lv_data              #使用resize2fs 命令扩展ext4文件系统2、vgextend 卷组扩容[root@localhost ~]# fdisk /dev/sdd                                     #将sdd分区,分区格式为Linux LVM,即8e[root@localhost ~]# pvcreate  /dev/sdd1                                #将/dev/sdd1标准分区转化为物理卷[root@localhost ~]# vgextend iflytek /dev/sdd1                            #扩容iflytek卷组,即把/dev/sdd1加入iflytek卷组3、vgreduce 删除卷组中的某个pv[root@localhost ~]# vgreduce iflytek /dev/sdd1                          #删除iflytek卷组中的sdd1物理卷4、vgremove 删除卷组[root@localhost ~]# vgremove  iflytek                                  #删除整个卷组5、pvremove 删除物理卷[root@localhost ~]# pvremove /dev/sdd1                                  #删除物理卷

LVM 逻辑卷管理(实战篇)相关推荐

  1. RHEL磁盘阵列与LVM逻辑卷管理器

    磁盘阵列和逻辑管理器 本篇博客和各位聊聊关于linux系统中的相关磁盘阵列和逻辑管理器,都是涉及到硬件方面的操作.那我们为什么需要使用LVM以及配置RAID呢? 一般在公司中服务器需要保证数据的安全性 ...

  2. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -lDisk /dev/ ...

  3. Linux中LVM(逻辑卷管理)的使用

    Linux 中我们使用fdisk命令划分好的分区就不能随意的改变,如果不够用的话不可能说把硬盘上的所有数据拷贝后再重新分区,这样可能会导致数据损坏.而在linux中LVM(逻辑卷管理)就可以实现动态的 ...

  4. linux设置逻辑卷进不了图形界面,LVM逻辑卷管理器图形界面操作

    LVM逻辑卷管理器图形界面操作 LVM有关概念 LVM(Logical Volume Manager)即逻辑卷管理器,它最先是在Linux 2.4内核中被集成到内核中去的,它的出现改变了传统的磁盘空间 ...

  5. Linux常用命令(八)LVM逻辑卷管理

    Linux常用命令(八)LVM逻辑卷管理 一.LVM概述     LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下 ...

  6. 文件系统,磁盘配额,数据存储,lvm 逻辑卷管理器

    文件系统 文件系统包括:ext2 ext3 (比ext2多一个日志)ext4                 iso9660(光盘文件系统)                 vfat  (相当于win ...

  7. linux系统中的分区与挂载,以及使用LVM逻辑卷管理器管理物理卷,卷组,逻辑卷知识点总结

    物理设备的命名规则 在Linux系统中一切都是文件,硬件设备也不例外.既然是文件,就必须有文件名称.系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大 ...

  8. Linux LVM逻辑卷管理及扩容(二)

    四.LVM扩展逻辑卷 我们当如何对lvm扩容呢,在vg组有空余的空间时,可以lvextend增加空间:在vg组无空间时,可以通过先增加pv,再lvextend实现扩容 点击(此处)折叠或打开 [roo ...

  9. Android逻辑卷管理LVM,LINUX——LVM逻辑卷管理

    LVM: logical volumes manager LVM逻辑卷部署 物理卷->卷组->逻辑卷 第一步:关机添加磁盘:两个磁盘可以构成一个磁盘组. 第二步:查看磁盘 # ls /de ...

  10. LVM逻辑卷管理器,部署逻辑卷,扩容逻辑卷,缩小逻辑卷,删除逻辑卷

    1.LVM逻辑卷管理器 硬盘设备管理技术虽然能够有效地提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为RAID 磁盘阵列之后,再想修改硬盘分区大小就不容易了.换句话说,当用户想要随着 ...

最新文章

  1. ANDROID L——Material Design综合应用(Demo)
  2. 空无达摩院——机器智能技术的发展
  3. Leet Code OJ 14. Longest Common Prefix [Difficulty: Easy]
  4. 李战java_【阿里李战】解剖JavaScript中的 null 和 undefined
  5. 以容器为代表的云原生技术,正成为释放云价值最短路径
  6. 继承AppCompatActivity的Activity无法隐藏标题栏
  7. 打扰了!MacBook Pro 16英寸国行版正式开售:顶配46421元
  8. iPhone 11终于没涨价但依然暴利 外媒:64GB起始容量就是个笑话
  9. eclipse使用python_【转】使用Python的IDE:Eclipse+PyDev
  10. anaconda在windows和mac上的安装并部署grasshopper_ghpythonremote
  11. MATLAB图像分割——标记分水岭分割算法
  12. 未来20年美国AI研究路线图
  13. echarts封装 - 续2
  14. JVM、DVM(Dalvik VM)和ART虚拟机的区别
  15. Data Analysis - Day9 - Numpy Functions
  16. 存储系统——主存储器
  17. 2020.10.7--PS--填充图层、调整图层、调整图层与剪贴蒙版
  18. Java面试题-个人笔记
  19. [JS]JS模拟Alert弹出框效果--自定义CSS样式
  20. After Effects Premiere 教程收集

热门文章

  1. SSM(Spring+SpringMVC+MyBatis):图书管理系统附有GIF动图,博主可免费答疑
  2. 多媒体计算机主机有哪些硬件,现在市场上多媒体电脑主要有哪些硬件部分组成?...
  3. dao获取到mysql存储函数_GreenDao3.0使用
  4. 深入理解二阶段提交协议(DDB对XA悬挂事务的处理分析)(一)
  5. Ubantu 安装ftp 之诡异
  6. 如何在 Linux 终端中知道你的公有 IP
  7. Java中处理日期的常用类
  8. lambda表达式学习使用实例
  9. OCP题库062新出现的考试题-第23题
  10. 如何将kux格式的视频转换成我们常用的MP4格式