Proxmox VE组软RAID0教程

【一】前言

本期教程为实战干货,可放心食用

软RAID是什么

软RAID(软件RAID)是一种在操作系统级别实现的RAID(冗余磁盘阵列)技术。与硬件RAID不同,软RAID不需要特殊的RAID控制器卡,而是依赖于操作系统的软件来管理和控制RAID阵列。

软RAID的工作原理是使用操作系统的软件来处理数据的条带化、冗余、恢复等功能,而不是依赖于硬件RAID卡。以下是软RAID的一些关键特点和工作原理:

  1. 操作系统级别:软RAID是在操作系统级别实现的,因此它依赖于操作系统的驱动程序和软件来管理磁盘阵列。这意味着您可以在不同的硬件平台上使用软RAID,而不需要特定的RAID控制器。

  2. 灵活性:软RAID通常提供更大的灵活性,因为它可以在各种不同类型和大小的硬盘之间创建RAID阵列。这使得在需要扩展存储容量或更换硬盘时更加容易。

  3. 成本效益:软RAID通常比硬件RAID便宜,因为它不需要额外的硬件RAID卡。

  4. 性能:软RAID的性能可能会受到操作系统性能的影响,尤其是在大负载情况下。硬件RAID通常在性能上有一定优势。

  5. 支持:软RAID通常由操作系统提供的RAID管理工具支持,例如Linux中的mdadm工具或Windows中的存储空间。这些工具使用户可以创建、管理和监控软RAID阵列。

  6. 冗余和恢复:软RAID可以提供数据冗余和恢复功能,例如RAID 1(镜像)和RAID 5(条带化和分布式奇偶校验)。

为什么要给Proxmox VE做软RAID

Proxmox VE(Virtual Environment)是一种开源的虚拟化管理平台,它基于KVM(Kernel-based Virtual Machine)和LXC(Linux Containers)技术,提供了创建、管理和监控虚拟机和容器的功能。

Proxmox VE的主要特点和功能包括:

  1. 虚拟机管理:支持创建和管理基于KVM的虚拟机,包括虚拟机的创建、克隆、迁移、快照和备份等操作。

  2. 容器管理:支持使用LXC技术创建和管理容器,容器可以更轻量级地运行应用程序,并提供更高的性能和资源利用率。

  3. 高可用性:Proxmox VE支持虚拟机和容器的高可用性配置,通过自动故障转移和自动恢复功能,确保在节点故障时保持应用的连续性。

  4. 网络和存储管理:提供灵活的网络和存储管理功能,支持创建虚拟网络和存储资源,并提供各种网络和存储配置选项。

  5. 集群管理:支持将多个Proxmox VE节点组成集群,实现资源池化和负载均衡,提供集中化的管理和监控。

  6. Web管理界面:Proxmox VE提供基于Web的用户界面,用户可以通过Web浏览器访问和管理Proxmox VE集群,进行虚拟机和容器的管理和监控。

  7. API支持:Proxmox VE提供RESTful API接口,允许用户通过API进行自动化和集成,实现与其他系统的交互和管理。

Proxmox VE是一个功能丰富、稳定可靠的虚拟化解决方案,适用于企业和个人使用。它的开源性质使得用户可以自由使用和定制,同时也有商业支持选项提供更高级的功能和服务。

Proxmox VE运行多个虚拟机非常的吃硬盘的并发性能,硬盘的性能极大程度的影响了Proxmox VE的发挥,基于硬件的阵列在环境的影响下多数情况下并不是很理想。列如RAID卡驱动的问题,对于Linux是一大困扰。如果有专用的服务器,提供RAID卡、SAS盘以及直观的服务器面板及时监测阵列状态那自然是更好的选择。

【二】准备工作

环境介绍

我虚拟了一个Proxmox VE(以下简称PVE)环境还原真实场景,演示操作步骤,我为它提供了下列配置

  • CPU :4个线程

  • 内存:4096MB

  • 系统盘:100G(一块)

  • 数据盘:50G (三块)

下述教程将使用三块50G的硬盘组建为一个150G的RAID设备,用于存放虚拟机,作为PVE的数据盘。
PVE系统的安装教程我就不过多介绍了,下面开始教程。

【三】实战教程

查看硬盘设备

首先,使用终端软件连接到PVE,并使用root用户登录

查看存在的磁盘及分区

lsblk

可以看到,无论在终端还是在网页端,都是存在三个硬盘设备"/dev/sdb" "/dev/sdc" "/dev/sdd"

我现在的磁盘是最干净的状态,无需经行过多操作,如果磁盘存在分区请按照下述命令进行删除,没有请跳过。觉得麻烦也可以在安装硬盘之前就抹除掉其中的分区。

删除硬盘分区

P·S· 建议将硬盘所有分区删除后再装机组阵列,如果硬盘存在物理卷、逻辑卷还要命令使用删除它们才能在PVE的Web界面擦除硬盘,否则PVE会报错。

这里只讲述了硬盘中不存在逻辑卷,只有分区的清空方法,如果硬盘中有逻辑卷,可以进入PE环境中擦除硬盘。

根据上面的命令,查看到了硬盘设备,假设 "/dev/sdb" 这个设备存在分区,使用fdisk命令进入磁盘交互界面删除分区。

fdisk /dev/sdb

进入交互界面之后

  • 按"p"查看分区表,分区表会有一个数字ID

  • 按"d"删除分区,输入数字ID即可

  • 按"w"结束操作,保存返回

养成良好习惯,退出磁盘交互式界面之后再运行一次"lsblk"查看硬盘是否清除干净。

创建RAID设备

创建之前先更新软件仓库,避免无法安装需要的工具

更新之前可以参考PVE换源的文章,更换国内源,update速度和install速度更快

apt update && apt upgrade -y

然后安装创建RAID磁盘、编辑挂载文件所需的软件

apt install mdadm vim -y

使用mdadm管理RAID软件进行RAID阵列的创建

mdadm 
--create /dev/md/raid0 
--chunk=64 
--level=0 
--raid-devices=3 /dev/sdb /dev/sdc /dev/sdd 

参数详细讲解

  • "--create" 创建RAID设备

  • "/dev/md/raid0" md是RAID设备的固定存放目录,raid0是自定义的raid设备名称。

  • "--chunk=64" 选项指定条带单元的大小,这里设置为 64KB。条带单元是数据在 RAID 阵列中的存储单元

  • "--level=0" 使用 --level 选项指定 RAID 的级别,这里设置为 0,表示创建一个 RAID 0阵列。

  • "--raid-devices=3" 使用 --raid-devices 选项指定 RAID 阵列中的设备数量,这里设置为 3,表示使用三个设备。

  • "/dev/sdb /dev/sdc /dev/sdd" 指定要用于创建 RAID 阵列的设备,这里使用的硬盘是/dev/sdb、/dev/sdc、/dev/sdd这三个设备。

创建过程会有一个确认提示,输入“y”回车即可
当最后提示了raid设备的存放位置,就表示raid设备创建成功了,就可以创建卷使用了。

创逻辑建卷

根据刚才创建的RAID设备路径,执行以下命令创建名为raid_vg的卷组,有successfully字样即为创建成功

vgcreate raid_vg /dev/md/raid0

raid_vg卷组的所有空间用于创建raid_lv逻辑卷

lvcreate -l 100%FREE -n raid_lv raid_vg

raid_lv逻辑卷创建ext4分区表

mkfs.ext4 /dev/raid_vg/raid_lv

逻辑卷创建完成,创建了ext4文件系统

挂载逻辑卷到目录

创建/disk/raid目录

mkdir /disk/raid

设置开机自动挂载raid_lv逻辑卷到/disk/raid目录

/etc/fstab文件添加挂载点

echo /dev/raid_vg/raid_lv /disk/raid ext4 defaults 0 0 >> /etc/fstab

然后让/etc/fstab文件立即生效

mount -a

添加目录作为PVE存储空间

进入PVE网页控制面板

ID可以随便输入,目录就输入刚才将逻辑卷挂载到的目录。然后就可以使用这个存储空间创建虚拟机了,虚拟机实际是存放在三个硬盘组成的RAID0中。