前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >uos-server-20-1060e 文件系统LVM逻辑卷管理

uos-server-20-1060e 文件系统LVM逻辑卷管理

作者头像
Kevin song
发布2024-03-02 10:22:39
1890
发布2024-03-02 10:22:39
举报

LVM 逻辑卷管理介绍

LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,在Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,扩容文件系统,LVM将若干个磁盘分区连接为一个整块的卷(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。

逻辑卷管理概念

  1. 物理存储介质(The physical media) LVM存储介质,可以是硬盘分区、整个硬盘、raid阵列或SAN硬盘。设备必须初始化为LVM物理卷,才能与LVM结合使用。
  2. 物理卷(PV, Physical Volume) 指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷可以用硬盘分区,也可以用硬盘本身。
  3. 卷组(VG, Volume Group) 类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
  4. 逻辑卷(LV, Logical Volume) 类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
  5. 物理块(PE, Physical Extent) 每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小可配置,默认为4MB。所有物理卷(PV)由大小等同的基本单元PE组成。
  6. 逻辑块LE(Logical Extent) 逻辑卷LV中可以分配的最小存储单元,在同一卷组VG中LE的大小和PE是相同的,并且一一相对。

LVM常用命令

功能

PV管理命令

VG管理命令

LV管理命令

scan 扫描

pvscan

vgscan

lvscan

create 创建

pvcreate

vgcreate

lvcreate

display 显示

pvdisplay

vgdisplay

lvdisplay

remove 移除

pvremove

vgremove

lvremove

extend 扩展

vgextend

lvextend

reduce 减少

vgreduce

lvreduce

LVM模型

XFS和EXT4文件系统类型对比

XFS是一种高性能的文件系统,创建了一个XFS文件系统,可以添加更多的存储空间来扩展它但无法收缩文件系统来释放空间。XFS在处理大文件时表现得更好,能够更高效地管理大尺寸的数据。通常在并行I/O操作中表现优秀,它的设计能够很好地处理多线程和大容量存储需求。XFS的日志机制支持快速的崩溃恢复。

ext4文件系统支持扩展和缩容,可根据需要调整其容量,增加或减少ext4文件系统的大小。ext4文件系统在小文件处理和日常使用的桌面系统上表现良好,文件系统的数据块管理上非常成熟。提供良好的总体性能,并且是经过广泛测试和优化的。支持在线缩容,提供灵活性。

在选择文件系统时,对于数据库、大数据处理和大型文件存储,XFS更加合适。对于普通的桌面使用和小型应用服务器,ext4通常是一个可靠的选择。

操作系统文件系统设计

在部署操作系统时应采用系统盘和数据盘分离模式,固定操作系统大小规格,通常操作系统为100G,数据盘根据业务需求定义磁盘存储大小规格(200G,500G),系统盘和数据盘都采用逻辑盘卷管理,便于磁盘灵活扩容;

系统分区划分

分区名称

分区大小

备注

/boot(必选)

500M

/(必选)

剩下的全部给根分区

根分区可包含其他分区,根分区必选

swap(可选)

内存大小的 2 倍,不超过64G

/home(可选)

根据实际需要划分

/var/log (可选)

根据实际需要划分

文件系统扩容场景

  1. 在线扩容根分区,根分区100G,新增一块20G硬盘,将根分区扩容至120G
  2. 新增系统数据盘,创建PV,VG,LV,挂载文件系统

分区扩容

(1)查看磁盘设备

代码语言:javascript
复制
lsblk -p

(2)创建PV、VG

代码语言:javascript
复制
pvcreate  /dev/nvme0n2
vgs
vgextend /dev/nvme0n2

(3)扩容LV

查看LV Path

代码语言:javascript
复制
lvdisplay

扩容LV硬盘100%大小

代码语言:javascript
复制
lvextend /dev/uos/root /dev/nvme0n2

LV扩容命令格式

代码语言:javascript
复制
lvextend -L +SIZE lv_device

原有大小扩容至10G

代码语言:javascript
复制
lvextend  -L 10G  lv_device

原有基础上增加10G

代码语言:javascript
复制
lvextend  -L +10G  lv_device

(4)刷新文件系统容量

xfs文件系统

代码语言:javascript
复制
xfs_growfs /dev/uos/root

ext文件系统

代码语言:javascript
复制
resize2fs  /dev/uos/root

系统数据盘挂载

(1)查看磁盘设备

代码语言:javascript
复制
lsblk 或 lsblk -p

(2)创建文件系统分区

修改分区类型,分配整个磁盘可省略此步骤

代码语言:javascript
复制
fdisk /dev/sdb

(3)创建磁盘逻辑卷

创建PV

代码语言:javascript
复制
pvcreate /dev/sdb1

创建VG

代码语言:javascript
复制
vgcreate datavg /dev/sdb1

创建逻辑卷组LV

命令格式

代码语言:javascript
复制
lvcreate –L SIZE –n LV_NAME VG_NAME

lv_data 大小剩余空间100%

代码语言:javascript
复制
lvcreate -l 100%FREE -n lv_data datavg

指定lv_data大小5G

代码语言:javascript
复制
lvcreate -L 5G -n lv_data datavg

查看LV

代码语言:javascript
复制
pvs

(4)格式化文件系统分区

xfs 文件系统

代码语言:javascript
复制
mkfs.xfs /dev/mapper/datavg-lv_data

ext 文件系统

代码语言:javascript
复制
mkfs.ext4 /dev/mapper/datavg-lv_data

(5)目录挂载

创建挂载目录

代码语言:javascript
复制
mkdir /imedical

挂载LV

代码语言:javascript
复制
mount /dev/mapper/datavg-lv_data  /imedical

(6)查看文件系统挂载

代码语言:javascript
复制
df -hT

(7)设置开机自动挂载

查看lvm uuid

代码语言:javascript
复制
blkid /dev/mapper/datavg-lv_data

写入fstab 文件

代码语言:javascript
复制
echo "UUID=bfe948bd-482e-4abd-a164-df9dfd4b1710 /imedical xfs defaults 0 0" >>/etc/fstab

验证文件系统挂载

代码语言:javascript
复制
mount -a

统信服务器操作系统【LVM手动分区】操作说明

https://faq.uniontech.com/sever/operation/814d

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档