我在Linux机器上有3个相同的内部7200 RPM SATA硬盘驱动器。 我正在寻找一个存储设置,这将给我所有这一切:
不需要,但不错:
我在Linux上试过ZFS,但是限制是:
LVM2上的ext4看起来像一个选项,除了我不能分辨是否可以收缩,扩展和重新分配到新的RAIDtypes的逻辑卷(当然,我可以在一堆文件上试验LVM)。 据我所知,它没有任何好的东西,所以我想知道是否有更好的东西。 我曾经看过LVM的危险和警告,但是再一次,没有一个系统是完美的。
你要求太多 这些是不切实际的要求,尤其是考虑到你正在谈论三重低速消费磁盘。 你在计划什么?
在Linux和四个磁盘上使用ZFS 。 如果你正在谈论扩展,你可能有四个数据磁盘的空间。 你没有提到你的Linux发行版,但升级不是CentOS 6.x的问题。 镜子是可扩展的。 RAID-Z1 / 2/3集合根本不是。 设置压缩每个文件系统,并完成它。 您可以通过复制来重新平衡数据。 但是计划好一些,扩展问题不会是一个限制。 这为您提供压缩,快照,分层和数据完整性。 忘记在ZFS上重复数据删除。 你可能不需要它。 如果这样做,则应该计划所需的资源需求。
至于ZFS在Linux上的限制,您应该了解规划ZFS存储设置的基本知识 。 使用ZIL设备来增加写入IOPS。
有硬件RAID解决scheme,如HP智能arrays控制器线,这将允许在一组驱动器上的不同RAID保护…它在扩展期间自动重新平衡/重新分配数据。 减less是不可能的。 您可以将HP逻辑驱动器导出为ZFS的块设备,这样您就可以获得文件系统的好处,但也可以灵活使用底层硬件设备。 在以下示例中,zpools vol1和vol2由与HP RAID控制器输出中的logicaldrive 2和logicaldrive 3对应的单个设备组成:
ZFS池信息:
[root@ZFS-on-Linux ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT vol1 119G 48.2G 70.8G 40% 1.00x ONLINE - vol2 99.5G 42.6G 56.9G 42% 1.00x ONLINE -
HP RAID控制器输出:
Smart Array P400 in Slot 8 (sn: P61630G9SVN702) array A (SAS, Unused Space: 609621 MB) logicaldrive 1 (72.0 GB, RAID 1+0, OK) logicaldrive 2 (120.0 GB, RAID 1+0, OK) logicaldrive 3 (100.0 GB, RAID 5, OK) physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, OK) physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 146 GB, OK) physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 146 GB, OK) physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 146 GB, OK) physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 146 GB, OK) physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 146 GB, OK) physicaldrive 2I:1:7 (port 2I:box 1:bay 7, SAS, 146 GB, OK) physicaldrive 2I:1:8 (port 2I:box 1:bay 8, SAS, 146 GB, OK)
结合上面的两个,你得到了你的大部分要求。
这是你的愿望清单。
Linux md RAID( mdadm )+ LVM将为您带来大部分的需求,而且几乎没有任何好的东西。
您可以将磁盘分割成分区。 在不同的分区上执行不同级别的RAID。 将md RAID卷放入LVM卷组中,从VG创build逻辑卷。 在LV上放一个文件系统(如ext4)。 如果没有LVM,可以启动md RAID1。 因此,使用不带LVM的RAID1作为/ boot。 md RAID卷可以缩小和增长购买添加磁盘, LVM和ext4也是如此 。
LVM可以做快照。 但是它们不是本地的COW,所以如果快照使用相同的物理磁盘, 性能会受到影响。 它们最适合于备份时间点临时捕获,而不适用于像ZFS那样的无限制快照。
它可能看起来像这样:
sda1 + sdb1 + sdc1 = md0 RAID1 sda2 + sdb2 + sdc2 = md1 RAID10 (yes, you can do odd numbered RAID10) sda3 + sdb3 + sdc3 = md2 RAID5 sda4 + sdb4 + sdc4 = md3 RAID0 md0 = no LVM, format as ext4, mount as /boot md1 = LVM, divide into two LVs Format one LV as ext4, mount as / (root) Use other LV for swap md2 = LVM, create one LV make the LV is smaller than the VG, to leave space for snapshots Format the LV as ext4, mount as /data md3 = LVM, one LV taking the whole VG Format as ext4, mounts as /stuff_i_want_to_lose