我正在尝试在网络上的独立节点上创建 RAID 6。我必须在这个 RAID 6 上进一步实现 LVM。我在http://www.mylinuxplace.com/building-raid-over-network-share/。我对 smb、samba 和循环设备的概念不太清楚:
- NAS 和 SMB 有什么区别?
- 如果我使用具有虚拟机的块设备/节点,是否需要创建循环设备?
答案1
我不是专家,但我自己也想知道以太网上的 RAID,我可以给你我的经验。 LVM over RAID,在网络上有详细记录,因为您没有任何问题,所以我不会详细讨论这个主题
NAS 和 Smb (CIFS) 之间的区别,区别就像瓶子和酒之间的区别: NAS :网络附加存储(链接到网络的存储设备)基本上它是提供一些服务的服务器;非常粗略地说,服务可以是 SMB/CIFS(Windows 共享)、NFS(Linux 共享)或 AFP(Apple 共享) 简短的回答是“一台 NAS 设备可以提供基于 SMB 协议的共享服务”
“循环设备的必要性”:您可以使用任何设备(至少是存储设备)创建任何软件RAID(mdadm),包括硬盘、LVM的逻辑分区、U盘、网络磁盘。请务必了解共享文件node1.img(来自您的链接)是一个文件而不是设备。由于此文件用作容器,因此您需要创建循环设备。
简短的回答:当创建加密的“主目录”挂载时可以管理容器(使用循环选项),RAID 软件只能管理设备(而不是文件或容器),这就是需要设备循环的原因。
您的结论将是基于 RAID6 的 LVM,但您的主要项目是基于网络的 RAID。您的链接的解决方案是 cluster 1:device(HD)->filesystem->file->software(NFS or SMB)--->-(network)->---[master]:software(NFS or SMB) ->设备循环->软件raid(然后使用你的raid阵列)
我尝试了一种使用 open-iscsi 的低层共享解决方案:再一次,我对 RAID 的经验包括使用 USB 驱动器的 RAID(我对此并不感到自豪)和通过网络的 RAID(对此不满意)如果我确实了解您的信息项目,您的网络上至少有 4 台机器: - 您确实有至少 4 个提供“可用空间”的集群(对于 RAID6) - 您确实有“1 个主机” 我经历的解决方案是使用低层共享解决方案:
通过 iSCSI 目标“在每个集群上共享设备”:https://wiki.archlinux.org/index.php/ISCSI_Target
通过 iSCSI 启动器“访问所有共享设备”,这会在主服务器上创建一个设备(您可以像本地一样访问网络磁盘,包括创建分区):https://wiki.archlinux.org/index.php/ISCSI_Initiator
在 Initiator 机器上,我创建了 RAID 阵列,然后在其上执行我想要的所有操作;包括LVM、股票等...
iSCSI 的优点:
它允许通过网络进行 RAID
iSCSI 允许短暂网络关闭
iSCSI 的缺点:
iSCSI 一次只能由一个启动器访问,起搏器的高可用性非常困难,
iSCSI并不难,但设置起来并不容易,
你知道什么是RAID吗?当 RAID 阵列的一台设备关闭时,它会变成“故障”,这意味着当一个集群关闭(例如重新启动或断开连接)时,RAID 阵列会变得“降级”;因此,您需要删除有故障的设备,关闭 iSCSI 实例,重新启动您的 iSCSI 实例,读取您的设备并重新同步您的 RAID 阵列,
性能差:网络10/100/1000是对RAID的读/写访问的限制...这是一个低限制(我没有发布我的测试,但网络交换机是窄点),
对于 4 个集群来说,这是“穷人的 SAN”,对于主服务器来说是 NAS(带有 RAID/LVM/Share)。我使用这个解决方案大约一年了,直到我决定将 4 个磁盘放入一台计算机中。
根据我的经验,iSCSI 比 NFS 更高效(并且比 SMB/CIFS 高效得多),主要问题不是如何共享存储容量,而是如何管理硬件故障(计算机重新启动、硬盘故障、网络故障)。
PS:我尝试了其他低层解决方案,例如 vblade,但性能非常差。 PPS:我目前正在寻找 MooseFS www.moosefs.org/about-mfs.html MooseFS 有点低于 RAID5(就可用空间而言),但可以很好地管理硬件故障。