linux lvm逻辑卷

408笔记

练习lvm

练习

[root@bogon ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.00g    0 
  
  对硬盘进行pv化
[root@bogon ~]# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
[root@bogon ~]# 

  加入卷组,命名
[root@bogon ~]# vgcreate vg0224 /dev/sdb /dev/sdc
  Volume group "vg0224" successfully created
  
   给逻辑卷分配容量,命名为0224-lv1,分配为10G
[root@bogon ~]# lvcreate -n 0224-lv1 -L 10G  vg0224
  Logical volume "0224-lv1" created.
[root@bogon ~]# lvs
  LV       VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root     centos -wi-ao---- <17.00g                                                    
  swap     centos -wi-ao----   2.00g                                                    
  0224-lv1 vg0224 -wi-a-----  10.00g                                                  
      命名为0224-lv2,分配为15G
[root@bogon ~]# lvcreate -n 0224-lv2 -L 15G  vg0224
  Logical volume "0224-lv2" created.
  
     命名为0224-lv3,分配为20G
[root@bogon ~]# lvcreate -n 0224-lv3 -L 20G  vg0224
  Logical volume "0224-lv3" created.
[root@bogon ~]# lvs
  LV       VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root     centos -wi-ao---- <17.00g                                                    
  swap     centos -wi-ao----   2.00g                                                    
  0224-lv1 vg0224 -wi-a-----  10.00g                                                    
  0224-lv2 vg0224 -wi-a-----  15.00g                                                    
  0224-lv3 vg0224 -wi-a-----  20.00g   
  
  
  
  
  创建挂载点目录
[root@bogon ~]# mkdir /test1  /test2  /test3
[root@bogon ~]# ls /
bin   data  home   md0_disk  opt   run   sys    test3  var
blog  dev   lib    media     proc  sbin  test1  tmp
boot  etc   lib64  mnt       root  srv   test2  usr
[root@bogon ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                  8:0    0   20G  0 disk 
├─sda1               8:1    0    1G  0 part /boot
└─sda2               8:2    0   19G  0 part 
  ├─centos-root    253:0    0   17G  0 lvm  /
  └─centos-swap    253:1    0    2G  0 lvm  [SWAP]
sdb                  8:16   0   30G  0 disk 
├─vg0224-0224--lv1 253:2    0   10G  0 lvm  
└─vg0224-0224--lv2 253:3    0   15G  0 lvm  
sdc                  8:32   0   30G  0 disk 
└─vg0224-0224--lv3 253:4    0   20G  0 lvm  
sr0                 11:0    1  4.2G  0 rom 




给逻辑卷添加文件系统,分别是xfs,xfs,ext4
[root@bogon ~]# mkfs.xfs /dev/vg0224/0224-lv1
meta-data=/dev/vg0224/0224-lv1   isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, 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

[root@bogon ~]# mkfs.xfs /dev/vg0224/0224-lv2
meta-data=/dev/vg0224/0224-lv2   isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=3932160, 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

[root@bogon ~]# mkfs.ext4 /dev/vg0224/0224-lv3
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   


[root@bogon ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                  8:0    0   20G  0 disk 
├─sda1               8:1    0    1G  0 part /boot
└─sda2               8:2    0   19G  0 part 
  ├─centos-root    253:0    0   17G  0 lvm  /
  └─centos-swap    253:1    0    2G  0 lvm  [SWAP]
sdb                  8:16   0   30G  0 disk 
├─vg0224-0224--lv1 253:2    0   10G  0 lvm  
└─vg0224-0224--lv2 253:3    0   15G  0 lvm  
sdc                  8:32   0   30G  0 disk 
└─vg0224-0224--lv3 253:4    0   20G  0 lvm  
sr0                 11:0    1  4.2G  0 rom  




挂载目录
[root@bogon ~]# mount /dev/vg0224/0224-lv1 /test1
[root@bogon ~]# mount /dev/vg0224/0224-lv2 /test2
[root@bogon ~]# mount /dev/vg0224/0224-lv3 /test3
[root@bogon ~]# xfs_info /test1
meta-data=/dev/mapper/vg0224-0224--lv1 isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@bogon ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                  8:0    0   20G  0 disk 
├─sda1               8:1    0    1G  0 part /boot
└─sda2               8:2    0   19G  0 part 
  ├─centos-root    253:0    0   17G  0 lvm  /
  └─centos-swap    253:1    0    2G  0 lvm  [SWAP]
sdb                  8:16   0   30G  0 disk 
├─vg0224-0224--lv1 253:2    0   10G  0 lvm  /test1
└─vg0224-0224--lv2 253:3    0   15G  0 lvm  /test2
sdc                  8:32   0   30G  0 disk 
└─vg0224-0224--lv3 253:4    0   20G  0 lvm  /test3
sr0                 11:0    1  4.2G  0 rom  


加入新硬盘50G的,给他pv化
[root@bogon ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.
[root@bogon ~]# vgextend vg0224 /dev/sdd
  Volume group "vg0224" successfully extended
  
  
  加入vg0224卷组
[root@bogon ~]# vgextend vg0224 /dev/sdd
Volume group "vg0224" successfully extended

  
  

给0224-lv1添加到30G,扩容
[root@bogon ~]# lvextend -L 30G /dev/vg0224/0224-lv1
  Size of logical volume vg0224/0224-lv1 changed from 10.00 GiB (2560 extents) to 30.00 GiB (7680 extents).
  Logical volume vg0224/0224-lv1 successfully resized.
  
  刷新扩容后的xfs文件系统
[root@bogon ~]# xfs_growfs /dev/vg0224/0224-lv1
meta-data=/dev/mapper/vg0224-0224--lv1 isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 2621440 to 7864320


给0224-lv3添加到30G ,扩容
[root@bogon ~]# lvextend -L 30G /dev/vg0224/0224-lv3
  Size of logical volume vg0224/0224-lv3 changed from 20.00 GiB (5120 extents) to0 extents).
  Logical volume vg0224/0224-lv3 successfully resized.
[root@bogon ~]# resize2fs /test3
resize2fs 1.42.9 (28-Dec-2013)
open: Is a directory while opening /test3

刷新扩容后的ext4文件系统
[root@bogon ~]# resize2fs /dev/vg0224/0224-lv3
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg0224/0224-lv3 is mounted on /test3; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/vg0224/0224-lv3 is now 7864320 blocks long.




看ext4,文件系统
[root@bogon ~]# dumpe2fs /dev/vg0224/0224-lv3 |grep -Ei '^inode|^block'
dumpe2fs 1.42.9 (28-Dec-2013)
Inode count:              1310720
Block count:              5242880
Block size:               4096
Blocks per group:         32768
Inodes per group:         8192
Inode blocks per group:   512
Inode size:	          256

  查看文件系统
[root@bogon ~]# df -hT
Filesystem                   Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root      xfs        17G  6.3G   11G  37% /
devtmpfs                     devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                        tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                        tmpfs     2.0G   12M  2.0G   1% /run
tmpfs                        tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1                    xfs      1014M  130M  885M  13% /boot
tmpfs                        tmpfs     394M     0  394M   0% /run/user/0
/dev/mapper/vg0224-0224--lv1 xfs        30G   33M   30G   1% /test1
/dev/mapper/vg0224-0224--lv2 xfs        15G   33M   15G   1% /test2
/dev/mapper/vg0224-0224--lv3 ext4       30G   44M   28G   1% /test3
[root@bogon ~]# 


查看pv化的磁盘
[root@bogon ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sda2  centos lvm2 a--  <19.00g      0 
  /dev/sdb   vg0224 lvm2 a--  <30.00g      0 
  /dev/sdc   vg0224 lvm2 a--  <30.00g      0 
  /dev/sdd   vg0224 lvm2 a--  <50.00g <34.99g

查看vg,机器上的卷组
[root@bogon ~]# vgs
  VG     #PV #LV #SN Attr   VSize    VFree  
  centos   1   2   0 wz--n-  <19.00g      0 
  vg0224   3   3   0 wz--n- <109.99g <34.99g


查看lv,逻辑卷
[root@bogon ~]# lvs
  LV       VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root     centos -wi-ao---- <17.00g                                                    
  swap     centos -wi-ao----   2.00g                                                    
  0224-lv1 vg0224 -wi-ao----  30.00g                                                    
  0224-lv2 vg0224 -wi-ao----  15.00g                                                    
  0224-lv3 vg0224 -wi-ao----  30.00g                                                    







文件系统

xfs文件系统
mkfs.xfs  指定硬盘路径  创建硬盘为xfs文件系统类型
xfs_info 查看xfs文件系统的设备的详细文件系统信息(inode block的信息)
xfs_growfs 挂载点路径  刷新xfs类型的硬盘,刷新扩容后的xfs文件系统



ext4文件系统
mkfs.ext4  指定硬盘路径  创建硬盘为ext4文件系统类型

看ext4,文件系统
dumpe2fs  指定硬盘的路径
dumpe2fs  /dev/sdc |grep -Ei '^inode|^block'

刷新扩容后的ext4文件系统
resize2fs  硬盘路径

lvm原理以及工作流程

250G  虚拟机

试想一下,企业里的生产服务器,一开始就没有规划好磁盘,随着用户的增长,磁盘可能会逐渐被填满,这个时候你只能添加新的硬盘,新分区
但是旧的数据还在旧的磁盘分区上,你就只能停止业务进行数据迁移了

lvm也是把多个磁盘,化为一个大硬盘,但是特点是,后期可以继续加入新的硬盘,这个逻辑卷组的容量就扩大了,等于这个大硬盘容量更大了
使用这个逻辑卷(100G+300G=400G)
↓
获取部分的容量,化为一个逻辑卷(分区)
↓
逻辑卷进行格式化,(分区进行格式化)
↓
挂载使用

但是如果你用了lvm,你可以将多个物理分区,抽象为一个逻辑卷,并且这个逻辑卷组是可以动态扩容,缩容的
但逻辑卷组容量不够了,只需要买新的硬盘,通过命令再添加到这个指定的逻辑卷组中,可以在不停机的情况下,立即实现扩容,且被linux识别,yyds

lvm重点名词

普通磁盘
↓
格式化文件系统,block=4KB,有N个block
↓
挂载分区使用


lvm磁盘
↓
磁盘,格式化为pv (磁盘的容量被分为N个PE),PE默认单位是4MB,等于1024个block
↓
PV加入卷组VG(动态伸缩的大磁盘)
↓
创建逻辑卷LV(等于创建了分区)
↓
格式化文件系统xfs,(sdb,sdc,sdd),逻辑卷
↓
挂载使用

pv命令

前提是需要安装lvm命令
yum install lvm2 -y
安装该工具后,方可使用lvm的命令

pvcreate  /dev/sdb   创建pv,对硬盘进行pv化

pvremove  /dev/sdb   删除pv

pvs ,pvdisplay  查看pv的信息

vg命令

vgs,vgscan,vgdispay   查看机器上现有的卷组信息

vgcreate  vg0224  /dev/sdb  /dev/sdc  将两块硬盘 sdb,sdc创建为vg0224,
但是先得pv化它两
pvcreate  /dev/sdb  /dev/sdc


删除vg卷组
vgremove  vg0224


扩容
vgextend  vg0224  /dev/sdd
缩容,一般不用
vgreduce
改变容量
vgresize

lv命令

lv的参数选项
lvcreate  创建逻辑卷
-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(PE个数)
-n 后面跟逻辑卷名 
-s 创建快照
-n:指定逻辑卷的名字


lvs   查看当前机器得逻辑卷信息

查看逻辑卷具体的信息
lvdisplay

创建0224lv1  指定它为20G的容量
lvcreate -n 0224lv1 -L  20G  vg0224

删除逻辑卷
lvremove /dev/vg0224/0224lv1

扩容,
lvextend
缩容,一般用不到
Lvreduce

清空lvm的环境

删除逻辑卷 lv
删除卷组 vg
删除 pv化

lvremove /dev/vg0224/0224lv1

vgremove  vg0224

pvremove /dev/sdb /dev/sdc

lvm创建流程

1.安装lvm

2.查看pv

3.创建pv

4.查看创建后的pv

5.查看vg

6.创建vg

7.查看创建后的vg

8.查看lv

9.创建lv(创建分区)

10.查看lv

11.查看磁盘设备信息
blkid

查看/dev/卷组/


12.给lv格式化文件系统


13.挂载lv


14.查看挂载

15.开机自动挂载


16.重启

lvm扩容

1.创建新物理卷,pv

2.查看pv

3.查看vg

4.vg扩容

5.再次查看vg


6.扩容lv

7.再次查看lv

8.调整xfs文件系统

9.查看磁盘挂载容量情况

posted @ 2022-04-08 17:43  并不是那么牛  阅读(70)  评论(0)    收藏  举报