飞牛FnNAS扩容数据盘的方法
硬盘模式说明:
Basic模式
特点:Basic模式是一种基本的存储模式,适用于只有单块硬盘或不需要复杂数据冗余保护的场景。
磁盘阵列:在Basic模式下,存储空间直接基于单块硬盘创建,不进行任何磁盘阵列(RAID)配置。
性能:由于不涉及数据冗余和校验,Basic模式通常具有较高的读写性能。
数据安全性:相对较低,因为一旦硬盘发生故障,数据将无法恢复。
Linear模式
特点:Linear模式类似于条带化存储,它将数据分散存储在多块硬盘上,以提高读写性能。但需要注意的是,Linear模式并不提供数据冗余保护。它主要是将多个磁盘按顺序连接起来,形成一个连续的存储空间。这种模式下是不支持动态调整大小或添加新磁盘来扩展容量。
磁盘阵列:在Linear模式下,存储空间基于多块硬盘创建,数据被分散存储在这些硬盘上。
性能:由于数据分散存储,Linear模式通常具有较高的读写性能,特别是在多块硬盘并行工作的情况下。
数据安全性:同样较低,因为一旦其中一块硬盘发生故障,整个存储空间的数据都可能受到影响。 总结
选择建议:如果追求较高的读写性能且对数据安全性要求不高(例如,只用于临时存储或备份数据),可以选择Linear模式。如果希望提高数据安全性(例如,用于重要数据的长期存储),则应该考虑使用其他提供数据冗余保护的RAID模式(如RAID1、RAID5等)。
一:硬盘使用Basic模式扩容
只有创建时硬盘使用Basic模式才能扩容
已创建的可以在存储空间查看模式
1.esxi系统中增加磁盘容量(原盘大小)
将硬盘2的容量增加到1024G并保存(需要重启后才能显示正确的磁盘空间)
保存后重启飞牛NAS系统
飞牛中显示的存储空间为:
2.在linux系统中增加硬盘容量
1. 使用 fdisk -l (扩容前) 检查分区表
使用 fdisk -l (扩容后) 检查分区表
2. 扩容linux分区
fdisk /dev/sdb
依次输入以下命令
d 删除分区
n 新建分区(回车默认即可),提示输入Y/N时输入N
t 修改分区类型,输入 42 (分区类型为linux RAID类型)
w 保存
3. 查询RAID 虚拟设备的名称
fdisk -l
4. 查询RAID 类型
mdadm -D /dev/md127
5. 扩容Linux RAID阵列
如果是raid1模式可以用此方法扩容
mdadm --grow /dev/md127 --size=max
6. 扩展pv大小
pvresize -v /dev/md127
7. 扩容lvm逻辑卷
此处输入 lvresize -l /d 时按tab键,使用自动补全功能填充UUID,然后改为如下形式的
lvresize -l +100%FREE /dev/trim_{UUID}/0
8. 检查文件系统大小,图中挂载点为vol1
df -H
9. 扩展文件系统大小
btrfs filesystem resize max /vol1
注意,这里的vol1要替换成飞牛文件系统中存储空间对应的名称,我这里是vol1
10. 完成扩容
执行完以上命令后在飞牛在查询如下:
命令解释:
第四步:mdadm -D /dev/md127
- mdadm:Linux 下管理软件 RAID(冗余独立磁盘阵列)的工具。
- -D 或 --detail:显示指定 RAID 阵列的详细信息。
- /dev/md127:要查询的 RAID 阵列设备名称。
第五步:mdadm --grow /dev/md127 --size=max
- mdadm:Linux 下管理软件 RAID(冗余独立磁盘阵列)的工具。
- –grow:用于调整 RAID 阵列的大小或配置。 /dev/md127:需要调整大小的 RAID 阵列设备名称。
- –size=max:将 RAID 阵列的大小调整为底层磁盘允许的最大值。
第六步:pvresize -v /dev/md127
- pvresize:用于调整 LVM(逻辑卷管理器)中物理卷(PV)的大小,使其与底层块设备(这里是 /dev/md127,通常是一个
- RAID 阵列)的实际大小匹配。
- -v:详细模式,会在操作过程中显示详细输出。 /dev/md127:需要调整大小的物理卷(PV),位于 /dev/md127 设备上(通常是一个软件 RAID 阵列)。
在LVM中PV,LV,VG的关系
在LVM(逻辑卷管理)中,PV(Physical Volume,物理卷)、LV(Logical Volume,逻辑卷)和VG(Volume Group,卷组)是三个核心组件,它们共同作用以提供灵活、动态的存储管理。
以下是关于PV和LV的详细解释:
PV(Physical Volume,物理卷)
作用
- 底层存储提供者:PV是LVM的物理存储基础,通常是硬盘分区、整个硬盘或RAID阵列。在LVM中,PV代表实际的物理存储设备。
- 存储单元划分:PV被划分为固定大小的数据块,称为物理扩展盘区(Physical Extent,PE)。PE是LVM中分配存储空间的最小单位。
特点
- 初始化:在使用前,需要将物理设备初始化为PV,使用pvcreate命令。
- 可扩展性:可以随时将新的物理设备初始化为PV,并添加到VG中。
类比
- 将PV类比为“砖块”:PV是构建存储空间的“砖块”,每个砖块(PV)为整体存储结构提供基础。
VG(Volume Group,卷组)
作用
- 存储池整合:VG是由一个或多个PV组成的逻辑存储池,整合多个PV的存储空间,形成一个统一的资源池。
- 空间分配:VG管理其包含的所有PV,以PE为单位分配存储空间给逻辑卷(LV)。
特点
- 动态扩展:可以向VG中添加新的PV,从而扩展VG的总容量。
- 灵活性:支持不同容量、类型的PV混合使用,例如将机械硬盘和固态硬盘组合在一个VG中。
类比
- 将VG类比为“仓库”:VG是存储空间的“仓库”,它将多个“砖块”(PV)堆叠在一起,形成一个大的存储区域。
LV(Logical Volume,逻辑卷)
作用
- 用户存储接口:LV是从VG中分配的逻辑分区,是用户实际使用的存储单元。LV可以被格式化为不同的文件系统,并挂载到系统中。
- 动态调整:LV的大小可以根据需要进行扩展或缩减(尽管缩减操作需谨慎)。
特点
- 灵活性:LV的大小和数量可以根据需求动态调整,无需重新分区或格式化底层存储设备。
- 文件系统支持:LV可以支持多种文件系统,如ext4、xfs等。
类比
- 将LV类比为“房间”:LV是“仓库”(VG)中的“房间”,用户可以在“房间”内存放数据,并根据需要调整“房间”的大小。
PV、VG、LV的协同工作
1.创建PV:将物理存储设备初始化为PV。
2. 创建VG:将一个或多个PV组合成VG,形成一个大的存储池。
3. 创建LV:从VG中分配存储空间,创建LV。
4. 使用LV:将LV格式化为文件系统,并挂载到系统中,供用户或应用程序使用。
其它命令:
1.pvdisplay 检查pv
2.vgdisplay 检查vg
3.lvdisplay 检查lv
二:硬盘使用Linear模式扩容
使用linear模式无法动态扩容
1. 查询RAID 类型
mdadm -D /dev/md127
2. 扩容
直接使用 mdadm --grow /dev/md127 --size=max 扩容会报错,如下图:
原因分析
Linear模式特性:Linear模式是一种简单的RAID级别,它将多个磁盘按顺序连接起来,形成一个连续的存储空间。这种模式不支持动态调整大小或添加新磁盘来扩展容量。
不过,你仍可以通过以下步骤间接实现扩容目的:
- 备份数据:首先确保对现有数据进行完整备份。因为接下来的操作可能会导致数据丢失。
- 停止阵列:使用mdadm --stop /dev/md127命令停止当前的RAID阵列。请确认没有程序正在使用此阵列上的文件系统,以免造成数据损坏。
- 移除设备:从RAID配置中移除相关的硬盘设备。这可以通过mdadm --remove /dev/md127 /dev/sdX(将/dev/sdX替换为实际使用的设备名)来完成。
- 重新创建阵列:使用更大的磁盘空间重新创建RAID阵列。如果要添加新硬盘以增加容量,请确保它们已被正确识别。然后,根据你的需要选择适当的RAID级别(例如RAID 0, 1, 5等),并使用mdadm --create命令创建新的阵列。注意,不要使用Linear模式,选择一个支持扩容的模式。
示例命令可能如下所示:
mdadm --create /dev/md127 --level=1 --raid-devices=2 /dev/sdX /dev/sdY
其中/dev/sdX和/dev/sdY是参与RAID的新旧硬盘。
- 恢复数据:将之前备份的数据恢复到新的RAID阵列中。
- 调整文件系统大小:如果文件系统支持在线扩容(如ext4、xfs等),可以使用相应工具(如resize2fs或xfs_growfs)来扩展文件系统以充分利用新增加的空间。