Proxmox VE组软RAID0教程
【一】前言
本期教程为实战干货,可放心食用
软RAID是什么
软RAID(软件RAID)是一种在操作系统级别实现的RAID(冗余磁盘阵列)技术。与硬件RAID不同,软RAID不需要特殊的RAID控制器卡,而是依赖于操作系统的软件来管理和控制RAID阵列。
软RAID的工作原理是使用操作系统的软件来处理数据的条带化、冗余、恢复等功能,而不是依赖于硬件RAID卡。以下是软RAID的一些关键特点和工作原理:
操作系统级别:软RAID是在操作系统级别实现的,因此它依赖于操作系统的驱动程序和软件来管理磁盘阵列。这意味着您可以在不同的硬件平台上使用软RAID,而不需要特定的RAID控制器。
灵活性:软RAID通常提供更大的灵活性,因为它可以在各种不同类型和大小的硬盘之间创建RAID阵列。这使得在需要扩展存储容量或更换硬盘时更加容易。
成本效益:软RAID通常比硬件RAID便宜,因为它不需要额外的硬件RAID卡。
性能:软RAID的性能可能会受到操作系统性能的影响,尤其是在大负载情况下。硬件RAID通常在性能上有一定优势。
支持:软RAID通常由操作系统提供的RAID管理工具支持,例如Linux中的mdadm工具或Windows中的存储空间。这些工具使用户可以创建、管理和监控软RAID阵列。
冗余和恢复:软RAID可以提供数据冗余和恢复功能,例如RAID 1(镜像)和RAID 5(条带化和分布式奇偶校验)。
为什么要给Proxmox VE做软RAID
Proxmox VE(Virtual Environment)是一种开源的虚拟化管理平台,它基于KVM(Kernel-based Virtual Machine)和LXC(Linux Containers)技术,提供了创建、管理和监控虚拟机和容器的功能。
Proxmox VE的主要特点和功能包括:
虚拟机管理:支持创建和管理基于KVM的虚拟机,包括虚拟机的创建、克隆、迁移、快照和备份等操作。
容器管理:支持使用LXC技术创建和管理容器,容器可以更轻量级地运行应用程序,并提供更高的性能和资源利用率。
高可用性:Proxmox VE支持虚拟机和容器的高可用性配置,通过自动故障转移和自动恢复功能,确保在节点故障时保持应用的连续性。
网络和存储管理:提供灵活的网络和存储管理功能,支持创建虚拟网络和存储资源,并提供各种网络和存储配置选项。
集群管理:支持将多个Proxmox VE节点组成集群,实现资源池化和负载均衡,提供集中化的管理和监控。
Web管理界面:Proxmox VE提供基于Web的用户界面,用户可以通过Web浏览器访问和管理Proxmox VE集群,进行虚拟机和容器的管理和监控。
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中。
续
下文是本文的续写,主要解决读者问题以及扩展操作方法
作者发现常规的fstab挂载方式当存储设备离线会导致PVE无法启动,可参考下列文章进行数据盘挂载
评论区