linux逻辑卷管理器LVM及其快照

lvm中文翻译为逻辑卷管理器
lvm 的作法是将几个物理的分区通关软件组合成一块独立的大硬盘(VG),然后将这块大硬盘再经过成为可以使用的分区LV,最终就能挂载使用了。
lvm 的主要作用是实现一个可以弹性调整容量的文件系统上,而不是在新建一个性能为主的磁盘上。

PE是整个LVM的最小存储单位,lv的大小就与LV内的PE总数有关。
pv 物理卷
vg 卷用户组
lv 逻辑卷

lvm实作流程
1.添加一块磁盘,分一个扩展分区 并分成个4个逻辑分区

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
└─sda3   8:3    0 15.8G  0 part /
sdb      8:16   0   20G  0 disk
├─sdb1   8:17   0    1G  0 part
├─sdb2   8:18   0    1K  0 part
├─sdb5   8:21   0    2G  0 part
├─sdb6   8:22   0    2G  0 part
├─sdb7   8:23   0    2G  0 part
└─sdb8   8:24   0    2G  0 part
sr0     11:0    1  4.2G  0 rom  /mnt

2.创建物理卷

与pv有关的命令
pvcreate :将物理分区新建成为pv
pvscan : 查询目前系统里面任何具有pv的磁盘
pvdisplay :显示出目前系统上面的pv状态
pvremove : 将pv属性删除,让该分区不具有pv属性

将sdb5,6,7,8 四个个分区成为pv,
root@localhost ~]# pvcreate /dev/sdb{5,6,7,8}
  Physical volume "/dev/sdb5" successfully created.
  Physical volume "/dev/sdb6" successfully created.
  Physical volume "/dev/sdb7" successfully created.
  Physical volume "/dev/sdb8" successfully created.


查看系统里面具有pv的磁盘
[root@localhost ~]# pvscan
  PV /dev/sdb8                      lvm2 [2.00 GiB]
  PV /dev/sdb7                      lvm2 [2.00 GiB]
  PV /dev/sdb6                      lvm2 [2.00 GiB]
  PV /dev/sdb5                      lvm2 [2.00 GiB]
  Total: 4 [8.00 GiB] / in use: 0 [0   ] / in no VG: 4 [8.00 GiB]

  最后一行是 总共pv容量 和已经使用pv容量

2.卷组创建阶段
与vg相关的命令
vgcreate :创建卷组
vgscan : 查找系统上面是否有vg存在
vgdisplay : 显示系统上面vg状态
vgextend :在vg内增加额外的pv
vgreduce :在vg内删除pv
vgchange :设置vg是否启动
vgremove :删除一个vg

与pv不同的是,vg的名称是自定义的!

将/dev/sdb5,6,7 新建一个vg  名字为 myvg  
[root@localhost ~]# vgcreate  myvg /dev/sdb{5,6,7}
  Volume group "myvg" successfully created

有一个分区没有用掉
[root@localhost ~]# pvscan
  PV /dev/sdb5   VG myvg            lvm2 [<2.00 GiB / <2.00 GiB free]
  PV /dev/sdb6   VG myvg            lvm2 [<2.00 GiB / <2.00 GiB free]
  PV /dev/sdb7   VG myvg            lvm2 [<2.00 GiB / <2.00 GiB free]
  PV /dev/sdb8                      lvm2 [2.00 GiB]
  Total: 4 [<7.99 GiB] / in use: 3 [<5.99 GiB] / in no VG: 1 [2.00 GiB]


  增加vg容量  vgextend
    [root@localhost ~]# vgextend  myvg /dev/sdb8
  Volume group "myvg" successfully extended

3.逻辑卷阶段

lvcreate :新建lv
lvscan :查询系统上的lv
lvdisplay :显示系统上面的lv状态
lvextend :增加lv容量
lvreduce :减少lv容量
lvremove:删除一个lv
lvresize :对lv进行容量大小的调整

创建lv名字为mylv 大小为 2G   从卷组中创建 
[root@localhost ~]# lvcreate  -L 2G -n mylv /dev/myvg
  Logical volume "mylv" created.

4.格式化分区

[root@localhost ~]# mkfs -t xfs /dev/myvg/mylv
meta-data=/dev/myvg/mylv         isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, 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

5.挂载

[root@localhost ~]# mount /dev/myvg/mylv  /mnt

[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/sda3               16G  3.8G   13G  24% /
devtmpfs               902M     0  902M   0% /dev
tmpfs                  912M     0  912M   0% /dev/shm
tmpfs                  912M  8.6M  904M   1% /run
tmpfs                  912M     0  912M   0% /sys/fs/cgroup
/dev/mapper/myvg-mylv  2.0G   33M  2.0G   2% /mnt
/dev/sda1              197M  113M   84M  58% /boot
tmpfs                  183M     0  183M   0% /run/user/0

放大lv容量

1扩大lv 增加1Gb 容量
[root@localhost ~]# lvextend  -L +1G  /dev/myvg/mylv
  Size of logical volume myvg/mylv changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents).
  Logical volume myvg/mylv successfully resized.
  2.扩大文件系统
   xfs文件系统扩大
   [root@localhost ~]# xfs_growfs /dev/myvg/mylv
meta-data=/dev/mapper/myvg-mylv  isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=524288, 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 524288 to 786432

  ext4 文件系统扩大
   resize2fs /dev/myvg/mylv

lvm系统快照
快照就是将当时的系统文件信息保存下来,将来若有任何数据变动,原始数据会被移到快照区。
lv的快照必须要和lv在在同一个vg上面 。

快照创建

1.查看vg里面还剩下多少容量
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               myvg
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               7.98 GiB
  PE Size               4.00 MiB
  Total PE              2044
  Alloc PE / Size       768 / 3.00 GiB
  Free  PE / Size       1276 / 4.98 GiB
  VG UUID               UDvSa1-UL3u-FhqZ-ZDBk-fcol-1ZH8-WNHoOM


 倒数第二行  显示还有剩余
 2.利用lvcreate  -s  新建系统快照  
  给lv创建名为mylv-snap  大小为1Gb 的系统快照 
 [root@localhost ~]# lvcreate -s  -n mylv-snap  -L +1G  /dev/myvg/mylv
  Using default stripesize 64.00 KiB.
  Logical volume "mylv-snap" created.
  3.格式化
  4. 挂载 

猜你喜欢

转载自blog.csdn.net/weixin_43142231/article/details/82721593