ZFS文件系统(8) -- SLOG
来源:互联网 发布:手机数据上网慢怎么办 编辑:程序博客网 时间:2024/06/07 01:56
添加一个SLOG
有些磁盘不存在以磁盘一致的方式重新启动Linux内核,因此,有时候引导磁盘可能是/dev/sda,而下一次可能就是/dev/sdb了,对于主存储池,这倒不是什么问题,因为ZFS可以基于元数据重建VDEVS,但是对于L2ARC和SLOG这些没有元数据存在的设备,难道还是要通过/dev/sdx的方式来添加?或许下一次启动,你就不能确定那一次才是需要配置为SLOG的设备,因此我们需要使用/dev/disk/by-id/*这样的名字来确定磁盘,如果你这样做,你的SLOG可能不能加入到存储池中,这可能会影响一些需要依赖SLOG的应用程序的性能。
在一个现有的zpool中添加SLOG并不困难,要创建一个最佳的实践的镜像SLOG,下面的例子我会遵循最佳的实践。假设我的存储池已经有了4个盘片,以及一个OCZ Revodrive SSD提供2个60G的磁盘驱动系统,我会在SSD上各分出一个5GB的分区,然后生成镜像SLOG。如何添加一个SLOG到存储池中,首先通过GNU parted来创建一个分区,然后加入固态硬盘,该设备在/dev/disk/by-id/下指向/dev/sda和/dev/sdb,命令如下:
# parted /dev/sda mklabel gpt mkpart primary zfs 0 5G# parted /dev/sdb mklabel gpt mkpart primary zfs 0 5G# zpool add tank log mirror \/dev/disk/by-id/ata-OCZ-REVODRIVE_OCZ-69ZO5475MT43KNTU-part1 \/dev/disk/by-id/ata-OCZ-REVODRIVE_OCZ-9724MG8BII8G3255-part1# zpool status pool: tank state: ONLINE scan: scrub repaired 0 in 1h8m with 0 errors on Sun Dec 2 01:08:26 2012config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 sdd ONLINE 0 0 0 sde ONLINE 0 0 0 Sdf ONLINE 0 0 0 sdg ONLINE 0 0 0 logs mirror-1 ONLINE 0 0 0 ata-OCZ-REVODRIVE_OCZ-KNTU-part1 ONLINE 0 0 0 ata-OCZ-REVODRIVE_OCZ-3255-part1 ONLINE 0 0 0
SLOG 平均寿命
由于你可能会使用一般级别的SSD在你的Linux服务器上搭建SLOG,我们需要模拟一个对SSD磨损和破快的密集型读写场景,当然,这很大程度上和不同的SSD制造商有关,不过我们可以做一个一般性的设置。
首先,ZFS拥有先进的损耗均衡算法,这将会在每一个芯片上均衡的磨损。现实就是,没有什么比一个垃圾收集的支持更加重要,没有必要需要TRIM的支持。ZFS能够均衡磨损的主要原因就是他是写时拷贝文件系统。
其次,各种驱动器是通过不同的纳米工艺制作,纳米工艺越小,你的SSD寿命就越短,一个例子,Intel320是25纳米的MLC300GB SSD,大约为5000P/E周期,如果采用磨损均衡算法,也就是可以你的SSD大概5000倍,这将可以产生150万GB的写入数据总量,或1500TB,假设我的ZIL保持3MB/s的速度写入,大概就是95TB每年的速度,那么这个设备的寿命大约15年。
然而,Intel335是20纳米的MLC240GB SSD,大约是3000P/E周期,这意味着你可以写你整个SSD的3000倍,这将产生720TB的数据总量,如果采用3MB/s的速度,这将小于之前的1/2的寿命,Intel320只有7年的寿命,请注意这些东西。
现在,如果你现在使用电池供电的DRAM驱动器,那么他的损耗均衡就不是一个问题了,你服务器的DIMMs可能会更加持久。10k+ SAS和FC驱动器也很类似。
容量
一个简短的说明,你可能不需要太大的ZIL,比如我就只有4GB的空间来当作我的ZIL,他几乎就不占用1M或2M的空间。我把我所有的虚拟机管理进程开启,也让系统升级,同时让他们做大量的工作,只看到ZIL最高时才使用了100M的空间,我不能想象什么样的工作需要占用1GB的空间,更不用说是4GB的分区,这里有一条命令可以查看您ZIL空间的大小。
# zpool iostat -v tank capacity operations bandwidthtank alloc free read write read write------------------------------------------------ ----- ----- ----- ----- ----- -----tank 839G 2.81T 76 0 1.86M 0 raidz1 839G 2.81T 73 0 1.81M 0 sdd - - 52 0 623K 0 sde - - 47 0 620K 0 sdf - - 50 0 623K 0 sdg - - 47 0 620K 0logs - - - - - - mirror 1.46M 3.72G 20 0 285K 0 ata-OCZ-REVODRV_OCZ-KNTU-part1 - - 20 0 285K 0 ata-OCZ-REVODRV_OCZ-3255-part1 - - 20 0 285K 0------------------------------------------------ ----- ----- ----- ----- ----- -----
结论
一个快速的SLOG会给那些需要低延迟的应用程序非常高的效益,非常适合那些对时间敏感的程序,如数据库等,不过,加入SLOG会增加一定的成本,以电池供电的DRAM芯片就非常的昂贵,通常2500美元/8GB的DDR3,而400GB的MLC SSD也需要话费100美元,一个600GB的15k SAS需要花费200美元,再者,容量对于SLOG来说真的不是问题,效率才是问题,我会使用SSD实现更快的IOPS(每秒进行读写(I/O)操作的次数),容量比较小的。除非你相对他进行分区,然后共享一个驱动器。这是一个伟大的想法,我会在下一章节说明L2ARC。- ZFS文件系统(8) -- SLOG
- ZFS文件系统(1)
- ZFS文件系统(2)
- ZFS文件系统(3)
- ZFS文件系统(4)
- ZFS文件系统(7) -- ZIL
- ZFS文件系统
- ZFS文件系统
- ZFS 文件系统
- ZFS文件系统
- ZFS文件系统
- zfs文件系统
- ZFS文件系统(6) -- 自我恢复RAID
- 【转载】ZFS文件系统
- ZFS 文件系统研究
- ZFS文件系统基本使用
- ZFS文件系统介绍
- 终极文件系统-ZFS
- 常用设计模式概览
- 单例传值 南哥教的
- JAVA文件操作基础
- vmware 虚拟机删除磁盘带来的问题
- ubuntu 12.04使用gedit打开txt文件中文乱码的处理方法
- ZFS文件系统(8) -- SLOG
- opengl绘制线
- 浏览器复制功能。
- &#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?
- 树状数组,小结_(优雅的数据结构)
- 用data-xxx自定义的属性名最好全部小写
- Postfix搭建邮件服务器
- jquery插件汇总
- GSL直方图Histogram 1