首先,我是一名 Web 开发人员,我的服务器经验在于为 Web 服务器设置 FreeBSD 服务器。
我正在为一位摄影师做一个项目,我被雇来开发一个新的在线照片订购系统 - 用户当然可以查看他们的照片 :) 他们有大量的存储需求,因此我们购买了 HP G6 和 8x1TB SATA HDD。我们的计划是安装 VMWare ESX 4.0,运行多个虚拟机;FreeBSD 8 用于 Web 服务器和一些 Windows 服务器。已经完成了。然后将一个大存储安装到 BSD,并通过 Samba 将其共享到 WinServers。
RAID 设置了 2x 1TB 阵列来处理虚拟机。其余的设置为 3 个 2x1TB 来处理照片数据。因此照片数据为 2.73TB(RAID 为 1+0)。
现在,如果我们在 ESX 中添加一个数据存储并添加 3 个 LUN,我们可以获得 2.74TB 的数据存储。但我不知道如何将此数据存储直接添加到虚拟机。只有 BSD VM 需要访问它。
唯一的方法是创建一个虚拟磁盘,最大容量为 2TB(8MB 块大小)。这是因为我们保存虚拟磁盘的数据存储的最大文件大小为 2TB。然后将其作为硬盘添加到 BSD VM。
在虚拟机的“添加硬盘”窗格中,我看到了原始磁盘管理选项。我认为这是直接访问数据存储或 RAID。唯一的问题是它变灰了!
我可以直接从 BSD 访问数据存储吗?无需创建和添加虚拟磁盘。
答案1
这是对直接存储访问选项的一个很好的总结:
http://professionalvmware.com/2009/08/vmdirectpath-paravirtual-scsi-vsphere-vm-options-and-you/
另一个选择是使用客户操作系统逻辑卷或突袭将多个 vmdk 文件合并成一个大卷。
答案2
原始设备映射需要硬件兼容的 RAID 卡才能运行,因此您唯一的选择是在驱动器上创建磁盘映像。
另外,您选择 3 个逻辑驱动器有什么特别的原因吗?您可以使用 6 个驱动器组成 RAID1(或 RAID1+0),它将在所有磁盘上进行镜像/条带化。
您在标题中提到了 ESX,但您实际上指的是 ESXi 吗?如果您确实有 ESX,那么有一个此处的解决方法- 但使用时需自行承担风险
答案3
数据存储受 LVM 每个区段 2TB 的限制,每个数据存储最多可以有 32 个这样的数据存储,最大数据存储为 64TB。VMDK 每个限制为 2TB,但可以在 VM 内绑定(具体细节取决于操作系统)。我们尽量不这样做,但偶尔有一两个非常稳定。对于 >4TB VM 卷,我们测试通过 iSCSI 或 NFS 等从 VM 传出到 NetApps 或类似系统。
答案4
我们最终创建了 3 个 2x 1TB 阵列 (Raid 1)。然后创建 3 个数据存储,每个 LUN 1 个 - 您可以将全部 3 个 LUN 添加到 1 个数据存储。
为每个数据存储添加了 3 个 0.9TB 的虚拟磁盘。将 3 个虚拟磁盘作为 3 个独立硬盘添加到 FreeBSD VM。
在 freebsd 中,我们现在有硬盘 /dev/da0**,这是操作系统、交换、/home 所在的初始硬盘。然后我们有 3 个硬盘 /dev/da1、/dev/da2、/dev/da3
# zpool create storage /dev/da1 /dev/da2 /dev/3
现在我们有 2.7TB 的存储,我们可以在上面存储数据!
此外,我们还设置了 Samba 来在网络上共享 /storage,以便 win-boxes 可以访问数据。