【Linux运维】LVM和RAID学习及实践

发布时间:2024年01月13日

背景

某台服务器的磁盘管理需要自己动手处理,找了一些资料也踩了一些坑,在这里记录一下,先介绍一下LVM和RAID这两个东西。在计算机系统中,为了提高存储系统的性能、可用性和容量,许多技术被引入,其中包括LVM(Logical Volume Manager)和RAID(Redundant Array of Independent Disks)。

LVM简介

LVM(Logical Volume Manager)逻辑卷管理,通过封装一套逻辑层来管理磁盘空间,使用逻辑卷和逻辑卷管理可以更加轻松的管理磁盘空间,如果LVM托管的文件系统需要更多的空间,可以将其卷组中可用的空间直接分配给逻辑卷已达到扩容的目的。
LVM介绍.png

  • 物理设备(Disk A,B):提供逻辑卷实际的存储地址。
  • 物理卷(Physical Volume 1,2,3):对磁盘进行分区后,通过pvcreate为其添加标签,使其可以与LVM结合使用。
  • 卷组(Volume Group 1,2):包含多个物理卷的池,VG的大小是池内所有物理卷的总和,通过vgcreate创建。
  • 逻辑卷(Logical mVolume):从卷组中分配空间给每一个逻辑卷,通过像使用分区一样给用户使用,通过lvcreate创建。

新加硬盘的操作

这块硬盘是4T的所以不能用传统MBR分区(2T),所以用gdisk分区
gdisk /dev/sdg
# 分区后需要选择分区格式
t      Change a single partition's type code. You enter the type code using a two-byte hexadecimal number, as described earlier. You may also enter a GUID directly, if you have one and  gdisk doesn't know it
选择Linux LVM类型

pvcreate /dev/sdg1             # 创建物理卷
vgcreate vg_cros_hdd /dev/sdg1 # 创建卷组,包含物理卷sdg1
lvcreate -n jilixin -L 500G vg_cros_hdd # 创建逻辑卷
mkfs -t ext4 /dev/vg_cros_hdd/jilixin   # 初始化文件系统
mkdir /mnt/jlx  # 创建挂载目录
mount /dev/vg_cros_hdd/jilixin /mnt/jlx

RAID-磁盘阵列

RAID:独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。通过将多个硬盘驱动器组合在一起来提高性能、冗余性和容量的技术。RAID使用多种级别,每个级别提供不同的特性和权衡。

应用场景

  • 提高性能: RAID 0和RAID 5通常用于提高读/写性能。
  • 提供冗余性: RAID 1、RAID 5和RAID 6用于提供数据冗余,增加系统的可用性。

RAID0

RAID0的思想是把多个廉价的磁盘组成阵列来提升性能,也称为条带模式(striped),即把连续的数据分散到多个磁盘上存取,总线在读取数据的时候可以并行在多个磁盘上读取数据,理论上总线性能>>磁盘性能的时候,这种方式可以达到磁盘个数倍的效果。
RAID0.png

RAID1

RAID1是一个全冗余的设计,也成为镜像模式,保证数据安全,适用于对数据安全要求高的场景下,至少应该使用2的倍数块磁盘来组RAID1,并且RAID1的容量会减半,并且如果使用两块不一样大小的磁盘,RAID1的容量是小的那块。RAID1每次写入数据的时候都会给镜像中写入同样的数据作为备份。
RAID0.png

其他结构RAID

制作RAID

RAID分为软件RAID和硬件RAID

  • 硬件RAID :服务器上必须配备有RAID卡来实现硬件RAID,直接使用物理插拔的方式配置硬盘,然后在服务器RAID配置中选用合适的RAID
  • 软件RAID :零成本的RAID制作方式,如下,将使用mdadm软件包来制作,介绍在本机实践的RAID 0
# 安装mdadm软件包
apt install update
apt-get install install mdadm -y

# 创建raid分区
fdisk /dev/sdf
# 分区完成时选择分区类型
t
fd
w
# 两个磁盘都需要进行同样的分区 sdf sdg
# 创建raid0
mdadm -C /dev/md0 -l raid0 -n 2 /dev/sd[f-g]1
# 初始化文件系统
mkfs -ext4 /dev/md0
# 创建挂载点进行挂载
mkdir /mnt/raid0
mount /dev/md0 /mnt/raid0

小结

将LVM和RAID结合使用,可以提供更灵活、可靠的存储解决方案。我们可以创建RAID数组,然后在其上使用LVM创建逻辑卷,实现动态调整大小、数据迁移以及RAID级别的选择。

文章来源:https://blog.csdn.net/legendaryhaha/article/details/135577460
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。