某台服务器的磁盘管理需要自己动手处理,找了一些资料也踩了一些坑,在这里记录一下,先介绍一下LVM和RAID这两个东西。在计算机系统中,为了提高存储系统的性能、可用性和容量,许多技术被引入,其中包括LVM(Logical Volume Manager)和RAID(Redundant Array of Independent Disks)。
LVM(Logical Volume Manager)逻辑卷管理,通过封装一套逻辑层来管理磁盘空间,使用逻辑卷和逻辑卷管理可以更加轻松的管理磁盘空间,如果LVM托管的文件系统需要更多的空间,可以将其卷组中可用的空间直接分配给逻辑卷已达到扩容的目的。
这块硬盘是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, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。通过将多个硬盘驱动器组合在一起来提高性能、冗余性和容量的技术。RAID使用多种级别,每个级别提供不同的特性和权衡。
RAID0的思想是把多个廉价的磁盘组成阵列来提升性能,也称为条带模式(striped),即把连续的数据分散到多个磁盘上存取,总线在读取数据的时候可以并行在多个磁盘上读取数据,理论上总线性能>>磁盘性能的时候,这种方式可以达到磁盘个数倍的效果。
RAID1是一个全冗余的设计,也成为镜像模式,保证数据安全,适用于对数据安全要求高的场景下,至少应该使用2的倍数块磁盘来组RAID1,并且RAID1的容量会减半,并且如果使用两块不一样大小的磁盘,RAID1的容量是小的那块。RAID1每次写入数据的时候都会给镜像中写入同样的数据作为备份。
RAID分为软件RAID和硬件RAID
# 安装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级别的选择。