我有一台 Linux 服务器,其中有四块 2 TB 的硬盘,采用 RAID 排列。然后,将此阵列添加到卷组,并从中创建一个逻辑卷。此逻辑卷通过 Samba 共享给 Windows 计算机。
我将购买四个 3 TB 的驱动器,并希望将它们添加到组合中,以便 Windows 只能看到一个要安装的共享/驱动器。
示例四块 2 TB 驱动器 RAID 5(作为示例)为我提供了一个通过 SAMBA 在 Windows 中安装的单个 6 TB 驱动器卷。我们将该共享/LV 称为 2tbshare。然后将数据放在 2tbshare 上并填满整个共享。
购买了 4 个新的 3 TB 硬盘。我原本想通过 RAID 将它们添加进去。2 TB + 2 TB + 2 TB + 2 TB + 3 TB + 3 TB + 3 TB + 3 TB(以 RAID5 为例),但这会在每个 3 TB 硬盘上浪费 1 TB,从而导致 14 TB 阵列。
我可以创建两个 RAID 阵列。1 个 2 TB 驱动器的 RAID 阵列和 1 个 3 TB 驱动器的 RAID 阵列。但是我该如何组合它们呢?我是否应该将两个 RAID 阵列添加到单个卷组中,然后从卷组中创建逻辑卷 2tbshare?如果其中一个驱动器发生故障会发生什么?
或者我是否只将 2 TB 和 3 TB 驱动器保留为 JBOD,并将它们全部添加到单个卷组中。然后从该卷组创建逻辑卷?该卷组的总大小是多少?
最好的方法是什么?
答案1
我假设你正在使用管理或类似 RAID 管理。只要被突袭的驱动器显示为每个阵列的块设备,这实际上并不重要。假设:您现有的被突袭的 2TB 驱动器是 /dev/md0,而您新被突袭的 3TB 驱动器是 /dev/md1。
我的建议是不要重新创建驱动器。将它们分开,作为 RAID5 的 md0(2TB 2TB ...)和 RAID5 的 md1(3TB 3TB ...)。这样您就不会浪费磁盘空间,不需要重建任何阵列,也不会丢失任何数据。(意外仍然可能发生,您应该先备份您的数据!)。
然后只需:
1) 首先使用以下命令卸载共享umount
2) 在新阵列上创建物理卷:pvcreate /dev/md1
3) 使用新的 raid 驱动器扩展现有卷组: 4) 调整现有逻辑卷的大小: 5) 调整 LV 下方的文件系统大小: 6) 使用以下命令重新挂载共享 (vg0 = 卷组的名称。lv0 = 逻辑卷的名称。)vgextend -v vg0 /dev/md1
lvresize -L NewSize /dev/mapper/vg0-lv0
resize2fs /dev/mapper/vg0-lv0
mount
您应该拥有 6 TB + 9 TB = 15 TB 总容量。
来源:我刚刚在虚拟机中测试了所有这些命令。