Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

    • Bash shell
    • 文件属性
    • 编辑工具vim
    • 用户管理
    • 用户组管理
    • 普通用户提权
    • 基础权限
    • 特殊权限
    • 文件特殊属性
    • IO重定向
    • 文件查找
    • 文件压缩
    • 软件包管理

    • 磁盘管理

      • 磁盘管理
      • 磁盘阵列RAID
      • LVM
        • 为何要用lvm
        • 什么是lvm
        • lvm相关术语
        • lvm配置实践
          • 环境与思路
          • 创建物理卷
          • 创建卷组
          • 创建逻辑卷
          • 挂载使用
        • lvm卷组管理
          • 扩大卷组
          • 缩减卷组
        • lvm逻辑卷管理
          • 扩展逻辑卷
          • 删除逻辑卷
    • 进程管理
    • 计划任务
    • systemd
    • Supervisor
    • 网络管理

    • Chrony时间同步
    • NFS网络文件系统
  • Linux进阶

  • 其他

  • 运维
  • Linux基础
  • 磁盘管理
Brc
2021-07-28
目录

LVM

# 为何要用lvm

  • 当刚开始安装Linux系统时,往往不能确定每个分区使用的空间大小,只能凭经验分配不科学;
    • 如果分区设置的过大,就浪费了磁盘空间;
    • 如果分区设置的过小,就会导致空间不够;
  • 如何希望分配的空间过大或过小,都能动态调整,则需要使用到LVM逻辑卷;

# 什么是lvm

  • LVM是Logical Volume Manager逻辑卷管理的简写,它是对磁盘分区管理的一种机制;
  • LVM优点:
    • LVM可以创建和管理逻辑卷,而不是直接使用物理硬盘;
    • LVM可以弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据;
    • LVM可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷;
  • LVM缺点︰
    • LVM如果有一个磁盘损坏,整个LVM都坏了,LVM只有动态扩展作用
      • 解决办法:用RAID+LVM=既有冗余又有动态扩展;

# lvm相关术语

  • 物理卷(PV)︰将常规的磁盘通过pvcreate命令对其进行初始化,形成了物理卷。(面粉)
  • 卷组(VG):把多个物理卷组成一个逻辑的整体,这样卷组的大小就是多个盘之和。(大面团)
  • 逻辑卷(LV)︰从卷组中划分需要的空间大小出来,用户仅需对其格式化然后即可挂载使用。(切成馒头)
  • 基本单元(PE):分配的逻辑大小的最小单元,默认4MB,假设分配100MB的空间,则需要创建25个PE

image-20210728135303290

# lvm配置实践

# 环境与思路

  1. 准备三块物理磁盘,建议在虚拟机关闭状态添加,以便更好的实验;
  2. 创建物理卷,将普通磁盘转换为物理卷;
  3. 创建卷组,将物理卷加入到卷组中;
  4. 在卷组中划分逻辑卷,然后挂载使用;

# 创建物理卷

  1. 将磁盘转换为物理卷,并加入pv;

    [root@web ~]# pvcreate /dev/sdb
    Physical volume "/dev/sdb" successfully created.
    
    1
    2
  2. 检查pv创建情况;

    [root@web ~]# pvs
    PV			VG	Fmt		Attr	PSize	PFree
    /dev/sdb		lvm2 	---		1.00g 	1.00g
    
    1
    2
    3

# 创建卷组

  1. 创建名为datavg的卷组,然后将物理卷加入进卷组;

    [root@web ~]# vgcreate datavg /dev/sdb
    volume group "datavg" successfully created
    
    1
    2
  2. 检查卷组(发现存在一个PV卷);

    [root@web ~]# vgs
    VG		#PV #LV #SN Attr	VSize		VFree
    datavg	1	0 	0 	wz--n- 	1020.00m	1020.00m
    
    1
    2
    3

# 创建逻辑卷

  1. 分配datavg逻辑卷,-n指定逻辑卷名称,-L指定逻辑卷大小;

    # 分配100M空间给lv1逻辑卷
    [root@web ~]# lvcreate -L 100m -n lv1 datavg
    Logical volume "datalv1" created.
    
    1
    2
    3
  2. 检查逻辑卷;

    [root@web ~]# lvscan
    ACTIVE		'/dev/datavg/lv1' [100.00 MiB] inherit
    
    1
    2

# 挂载使用

  1. 格式化逻辑卷;

    [root@web ~]# mkfs.xfs /dev/datavg/lv1
    
    1
  2. 创建目录并挂载;

    [root@web ~]# mkdir /lv1
    [root@web ~]# mount /dev/datavg/lv1 /lv1/
    [root@web ~]# df -h
    Filesystem				size	Used	Avail	Use%	Mounted on
    ...
    /dev/mapper/datavg-lv1	97M		5.2M	92M		6%		/lv1
    
    1
    2
    3
    4
    5
    6

# lvm卷组管理

# 扩大卷组

  1. 准备新的磁盘加入至pv,然后检查卷组当前的大小;

    [root@web ~]# pvcreate /dev/sdc
    [root@web ~]# vgs
    VG		#PV #LV #SN Attr	VSize		VFree
    datavg	1	1 	0 	wz--n- 	1020.00m	920.00m
    
    1
    2
    3
    4
  2. 使用vgextend扩展卷组;

    [root@web ~]# vgextend datavg /dev/sdc
    Volume group "datavg" successfully extended
    
    1
    2
  3. 再次检查,发现卷组已经扩大;

    [root@web ~]# vgs
    VG		#PV #LV #SN Attr	VSize		VFree
    datavg	2	1 	0 	wz--n- 	1.99g 		1.89g
    
    1
    2
    3

# 缩减卷组

  • 假设想移除/dev/sdb磁盘,建议先将sdb磁盘数据先迁移到sdc磁盘,然后在移除;
    • 注意:同一卷组的磁盘才可以进行在线迁移;
  1. 检查当前逻辑卷VG中PV使用情况;

    [root@web ~]# pvs
    PV			VG	Fmt Attr PSize PFree
    /dev/sdb 	vg1 1vm2 a -- 2.00g 1.76g
    /dev/sdc 	vg1 1vm2 a -- 2.00g 2.00g
    
    1
    2
    3
    4
  2. pvmove在线数据迁移,将sdb的数据迁移至sdc;

    [root@web ~]# pvmove /dev/sdb
    /dev/ sdb: Moved: 100. 00%
    
    1
    2
  3. 检查是否将sdb数据迁移至sdc;

    [root@web ~]# pvs
    PV			VG	Fmt Attr PSize PFree
    /dev/sdb 	vg1 1vm2 a -- 2.00g 2.00g
    /dev/sdc 	vg1 1vm2 a -- 2.00g 1.76g
    
    1
    2
    3
    4
  4. 从卷组中移除sdb磁盘;

    [root@web ~]# vgreduce datavg /dev/sdb
    Removed " /dev/sdb" from volume group "datavg'
    
    1
    2

# lvm逻辑卷管理

# 扩展逻辑卷

  • 扩展逻辑卷:取决于VG卷中是否还有剩余的容量;

  • 注意扩展逻辑卷不能超过卷组VG的总大小;

    [root@web ~]# vgs
    VG		#PV #LV #SN Attr	VSize		VFree
    datavg	1	1 	0 	wz--n- 	1020.00m	920.00m
    
    1
    2
    3
  1. 扩展lv逻辑卷,增加800M分配给逻辑卷;

    [root@web ~]# lvextend -L +800M /dev/datavg/lv1
    
    #也可以选择分配卷组中多少百分比给逻辑卷
    [root@web ~]# lvextend -l +50%FREE /dev/datavg/lv1
    
    1
    2
    3
    4
  2. 扩展逻辑卷后需要更新fs文件系统;

    [root@web ~]# xfs_growfs /dev/datavg/lv1		#xfs文件格式扩容
    [root@web ~]# resize2fs /dev/datavg/lv1			#ext文件格式扩容
    
    1
    2

# 删除逻辑卷

  1. 先卸载挂载点,然后在移除逻辑卷;

    [root@web ~]# umount /dev/datavg/lv1
    [root@web ~]# lvremove /dev/datavg/lv1
    
    1
    2
  2. 删除vg;

    [root@web ~]# vgremove datavg
    
    1
  3. 删除pv;

    [root@web ~]# pvremove /dev/sdb
    [root@web ~]# pvremove /dev/sdc
    
    1
    2
#Linux#LVM
Last Updated: 2024/03/13, 11:35:42
磁盘阵列RAID
进程管理

← 磁盘阵列RAID 进程管理→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式