linux之逻辑卷管理---lvm

LVM

逻辑卷管理

作用:能够在保持现有数据不变的情况下动态调整磁盘容量,从而提供磁盘管理灵活性。

注意:/boot分区用于存放引导文件

基本概念

PV--物理卷:设定那些硬盘和分区可以做逻辑卷(做逻辑卷时分区必须是8e类型的)
VG--卷组:卷组由一个或者多个物理卷的组合,形成可供逻辑卷使用的池。卷组将硬盘打碎成PE(一个PE大概4M)
LV--逻辑卷:从VG中取出需要的PE来决定逻辑卷大小。

lvm主要命令

功能 物理卷管理 (PV) 卷组管理 (VG) 逻辑卷管理 (LV)
Scan 扫描 pvscan vgscan lvscan
Create 建立 pvcreate vgcreate lvcreate
Display 显示 pvcreate vgdisplay lvdisplay
Remove 删除 pvremove vgremove lvremove
Extend 扩展 —— vgextend lvextend
Reduce 减少 —— vgreduce lvreduce
基本格式:
#lsblk---查看当前硬盘状态
pvcreate 设备名1 [设备名2…]
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名

创建逻辑卷

#先在VMware中创建一块新的磁盘(type=disk)
[root@localhost ~]# 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 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sdb             8:16   0   10G  0 disk 


#用fdisk给磁盘sdb创建一个新分区adb1(5G)
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x38d1c63e 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):
将使用默认回应 p。
分区号 (1-4, 默认  1): 1
第一个扇区 (2048-20971519, 默认 2048): 
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-20971519, 默认 20971519): +5G
创建了一个新分区 1,类型为“Linux”,大小为 5 GiB。
命令(输入 m 获取帮助):w

分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
#再次查看磁盘分区状况
[root@localhost ~]# 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 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sdb             8:16   0   10G  0 disk 
└─sdb1          8:17   0    5G  0 part 

#创建物理卷
[root@localhost ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.

#将这个物理卷加入卷组
[root@localhost ~]# vgcreate new_VG /dev/sdb1
  Volume group "new_VG" successfully created

#在卷组new_VG中创建大小为3G的逻辑卷new_lv,
[root@localhost ~]# lvcreate -L 3G -n new_lv new_VG
  Logical volume "new_lv" created.

#lsblk查看
[root@localhost ~]# 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 
  ├─rhel-root     253:0    0   17G  0 lvm  /
  └─rhel-swap     253:1    0    2G  0 lvm  [SWAP]
sdb                 8:16   0   10G  0 disk 
└─sdb1              8:17   0    5G  0 part 
  └─new_VG-new_lv 253:2    0    3G  0 lvm  



#格式化逻辑卷/dev/new_VG/new_lv,创建xfs文件系统
[root@localhost ~]# mkfs -t xfs /dev/new_VG/new_lv
meta-data=/dev/new_VG/new_lv     isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=786432, 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


#将创建好的逻辑卷/dev/new_VG/new_lv挂在到/opt下
[root@localhost ~]# mount /dev/new_VG/new_lv /opt/
[root@localhost ~]# 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 
  ├─rhel-root     253:0    0   17G  0 lvm  /
  └─rhel-swap     253:1    0    2G  0 lvm  [SWAP]
sdb                 8:16   0   10G  0 disk 
└─sdb1              8:17   0    5G  0 part 
  └─new_VG-new_lv 253:2    0    3G  0 lvm  /opt

#对逻辑卷进行扩容
[root@localhost ~]# vgextend new_VG /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
  Volume group "new_VG" successfully extended

[root@localhost ~]# lvextend -L +5G -r /dev/new_VG/new_lv
  Size of logical volume new_VG/new_lv changed from 3.00 GiB (768 extents) to 8.00 GiB (2048 extents).
  Logical volume new_VG/new_lv successfully resized.
meta-data=/dev/mapper/new_VG-new_lv isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=786432, 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
data blocks changed from 786432 to 2097152

[root@localhost ~]# 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 
  ├─rhel-root     253:0    0   17G  0 lvm  /
  └─rhel-swap     253:1    0    2G  0 lvm  [SWAP]
sdb                 8:16   0   10G  0 disk 
├─sdb1              8:17   0    5G  0 part 
│ └─new_VG-new_lv 253:2    0    8G  0 lvm  /opt
└─sdb2              8:18   0    4G  0 part 
  └─new_VG-new_lv 253:2    0    8G  0 lvm  /opt


posted @ 2024-04-08 18:59  木玄玑  阅读(13)  评论(0)    收藏  举报