Linux 温习(六): LVM 磁盘(二)

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: 逻辑卷管理器(Logical volume Manager)是 Linux 系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而 LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的低层架构和布局,就可以实现对硬盘分区的动态调整。

动态扩容

逻辑卷动态扩容

逻辑卷最大的优点是可以弹性调节容量,逻辑卷存储空间不足时,就需要扩容。

若逻辑卷需要扩容,首先查看其所属的卷组,例如,lv1属于datavg卷组;再查看卷组空间空闲量,datavg卷组可用量为 10.12g。

> vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <39.00g   4.00m
  datavg   1   2   0 wz--n- <20.00g <10.12g


在确认有多余空间的情况下,使用 lvextend 命令的 -L 选项扩展逻辑卷LV的大小(命令 - 为缩容,+ 为扩容)

> lvextend -L +800M /dev/datavg/lv1
  Size of logical volume datavg/lv1 changed from 900.00 MiB (225 extents) to 1.66 GiB (425 extents).
  Logical volume datavg/lv1 successfully resized.
> lvextend -L +1024M /dev/datavg/lv1
  Size of logical volume datavg/lv1 changed from 1.66 GiB (425 extents) to 2.66 GiB (681 extents).
  Logical volume datavg/lv1 successfully resized.


查看大小

> lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <35.12g                                                 
  swap centos -wi-ao----  <3.88g                                                 
  lv1  datavg -wi-ao----   2.66g


通过 df -h 查看发现并没有增大

> df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G   16K  1.9G    1% /dev/shm
tmpfs                    1.9G   12M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   36G  9.4G   26G   27% /
/dev/sda1               1014M  195M  820M   20% /boot
vmhgfs-fuse              293G  144G  150G   49% /mnt/hgfs
tmpfs                    378M     0  378M    0% /run/user/1002
tmpfs                    378M     0  378M    0% /run/user/0
/dev/mapper/datavg-lv1   870M  2.3M  807M    1% /opt/lv1


这是因为文件系统也需要扩容。

  • ext4 文件系统扩容使用 resize2fs [逻辑卷名称] 挂载点
  • xfs 文件系统扩容使用 xfs_growfs 挂载点
> resize2fs /dev/datavg/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/datavg/lv1 is mounted on /opt/lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/datavg/lv1 is now 697344 blocks long.


再次查看扩容成功了

> resize2fs /dev/datavg/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/datavg/lv1 is mounted on /opt/lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/datavg/lv1 is now 697344 blocks long.


也可以使用 lvextend 命令的 -r 选项来使文件系统自动扩容

卷组(VG)动态扩容

卷组(VG)扩容

逻辑卷扩容时,若卷组中没有足够的存储空间,就需要增加卷组的容量。vgextend 命令可以将新的物理卷加入卷组。该过程首先创建物理卷,然后将物理卷加入卷组。

卷组的扩容相当简单,一般是 LVM 空间不够时,添加一块新硬盘时使用。

增加一块磁盘 /dev/sdc

> lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part
  ├─centos-root 253:0    0 35.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
├─datavg-lv1    253:2    0  2.7G  0 lvm  /opt/lv1
└─datavg-lv2    253:3    0    9G  0 lvm
sdc               8:32   0    1G  0 disk


扩容

> vgextend datavg /dev/sdc
  Physical volume "/dev/sdc" successfully created.
  Volume group "datavg" successfully extended
> pvs
  PV         VG     Fmt  Attr PSize    PFree
  /dev/sda2  centos lvm2 a--   <39.00g    4.00m
  /dev/sdb   datavg lvm2 a--   <20.00g   <8.34g
  /dev/sdc   datavg lvm2 a--  1020.00m 1020.00m
> vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <39.00g 4.00m
  datavg   2   2   0 wz--n-  20.99g 9.33g


卷组(VG)缩容

当硬盘空间不足时,就需要减少卷组占用的空间。如果删除的物理卷存有数据,需要先把数据移动到其他物理卷(保证有足够的空间存储数据)。pvmove 命令可以迁移物理卷的数据,在不指定目标卷的情况下,系统默认把数据迁移到临近的物理卷。例如,将 /dev/sdb 中的数据迁移出去,默认迁移到 /dev/sdc

迁移数据

> pvmove /dev/sdb


使用 vgreduce 命令从卷组中删除 /dev/sdc物理卷

> vgreduce datavg /dev/sdc
  Removed "/dev/sdc" from volume group "datavg"


LVM 快照应用环境

快照的主要作用是保留数据在某一刻的状态,磁盘快照文件和系统所对应的虚拟磁盘本身大小不一样,快照比原数据小很多。

LVM 提供逻辑卷快照功能,用户可以在某个时间点创建一个逻辑卷副本,它也占用卷组的存储空间,称为快照卷,快照卷与原始的逻辑卷必须在同一个卷组。快照卷是一种特殊的逻辑卷,它可以挂载在设备上。lvcreate 命令可以创建一个快照,-s 参数指定逻辑卷,

> lvcreate -L 100M -n centos-snap -s /dev/centos/root
  Logical volume "centos-snap" created.


使用 lvscan 命令查看新创建的快照卷。

> lvscan
  ACTIVE            '/dev/centos/swap' [<3.88 GiB] inherit
  ACTIVE   Original '/dev/centos/root' [<35.12 GiB] inherit
  ACTIVE   Snapshot '/dev/centos/centos-snap' [100.00 MiB] inherit


/mnt 目录下创建一个挂载点 centos-snap,将快照卷挂载在上面,并设置为只读,以免破坏快照中的数据。

> lvscan
  ACTIVE            '/dev/centos/swap' [<3.88 GiB] inherit
  ACTIVE   Original '/dev/centos/root' [<35.12 GiB] inherit
  ACTIVE   Snapshot '/dev/centos/centos-snap' [100.00 MiB] inherit


/mnt 目录下创建一个挂载点 centos-snap,将快照卷挂载在上面,并设置为只读,以免破坏快照卷中的数据。

> mkdir /mnt/centos-snap
> mount -o ro /dev/centos/centos-snap /mnt/centos-snap


查看原来的数据

> ls /mnt/centos-snap


删除 LVM

删除 LVM 步骤:

  1. umount 卸载
  2. 删除 /etc/fstab 文件下的永久挂载
  3. lvremove 移除逻辑卷(LV)
  4. vgremove 移除卷组(VG)
  5. pvremove 移除物理卷(PV)

下面只展示命令,具体细节可自行执行删除。

> umount /opt/lv1
> vim /etc/fstab
> lvremove /dev/datavg/lv1
Do you really want to remove active logical volume datavg/lv1? [y/n]: y
  Logical volume "lv1" successfully removed
> vgremove datavg
> pvremove /dev/sdb


参考

相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
目录
相关文章
|
2月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
554 4
|
1月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
33 1
|
2月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
55 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
38 0
|
3月前
|
存储 监控 Linux
|
6月前
|
Linux
linux(二十八)磁盘管理类命令df、du和free查看磁盘和目录空间占用
linux(二十八)磁盘管理类命令df、du和free查看磁盘和目录空间占用
138 0
|
6月前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
309 10
|
6月前
|
IDE Linux Shell
linux查看硬盘是否挂载--和磁盘相关命令
linux查看硬盘是否挂载--和磁盘相关命令
217 0
|
6月前
|
运维 Linux
Linux系统调优详解(五)——磁盘IO状态查看命令
Linux系统调优详解(五)——磁盘IO状态查看命令
139 5