ZFS文件系统(8) -- SLOG
添加一个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 statuspool: tankstate: ONLINEscan: scrub repaired 0 in 1h8m with 0 errors on Sun Dec 2 01:08:26 2012
config:NAME STATE READ WRITE CKSUMpool ONLINE 0 0 0raidz1-0 ONLINE 0 0 0sdd ONLINE 0 0 0sde ONLINE 0 0 0Sdf ONLINE 0 0 0sdg ONLINE 0 0 0logsmirror-1 ONLINE 0 0 0ata-OCZ-REVODRIVE_OCZ-KNTU-part1 ONLINE 0 0 0ata-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 tankcapacity operations bandwidth
tank alloc free read write read write
------------------------------------------------ ----- ----- ----- ----- ----- -----
tank 839G 2.81T 76 0 1.86M 0raidz1 839G 2.81T 73 0 1.81M 0sdd - - 52 0 623K 0sde - - 47 0 620K 0sdf - - 50 0 623K 0sdg - - 47 0 620K 0
logs - - - - - -mirror 1.46M 3.72G 20 0 285K 0ata-OCZ-REVODRV_OCZ-KNTU-part1 - - 20 0 285K 0ata-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相关推荐
- Linux学习之文件系统zfs文件系统
ZFS(Zettabyte File System)一个打破过去思维的文件系统,是 Sun Microsystems这家公司所开发出来的全新型态文件系统,因为License的问题所以目前只有在Sola ...
- windows文件服务器双机热备_遇到ZFS文件系统如此棘手的问题,这种办法简单又高效!...
一.ZFS文件系统 ZFS是一款128bit文件系统,总容量是现有64bit文件系统的1.84x10^19倍,其支持的单个存储卷容量达到16EiB(2^64byte,即 16x1024x1024TB) ...
- linux zfs功能,linux – 有没有办法一次设置多个ZFS文件系统属性?
我的正常ZFS文件系统构建过程可能类似于:zpool create vol1 -o autoexpand=on -o autoreplace=on mirror nvme0n1 nvme1n1 -f ...
- Torvalds 拒绝接受 ZFS 文件系统
Linux的发明者和主要开发者Linus Torvalds近日公开反对ZFS文件系统.作出这番表态的时机不容忽视,因为ZFS只是最近才第一次正式实现在一款主要的发行版中.这个发行版就是Ubuntu 1 ...
- 【服务器数据恢复】EMC存储Zfs文件系统下raid5数据恢复案例
服务器存储数据恢复环境: 某公司一台EMC存储,12块硬盘组成raid5,2块热备盘: Zfs文件系统. 服务器存储故障: 硬盘故障导致存储崩溃. 服务器存储数据恢复过程: 1.对故障存储所有硬盘进行 ...
- 终于有人把 ZFS 文件系统讲明白了
本文主要介绍高级文件系统 ZFS,将讨论它的来源.它是什么以及为什么它在技术人员和企业中如此受欢迎. 注意: 本文多次提到 ZFS ,当谈到 ZFS 功能和安装时,其实说的是 OpenZFS.自从 O ...
- 【服务器数据恢复】Zfs文件系统误删除数据的数据恢复案例
服务器故障: 一台zfs文件系统服务器,运维人员误操作删了服务器上的数据,用户联系到我们数据恢复中心要求恢复数据. 服务器数据恢复过程: 1.服务器数据恢复工程师对故障服务器所有硬盘进行扇区级镜像备份 ...
- zfs 文件服务器,ZFS 文件系统
挂载 ZFS 文件系统 本节介绍了 ZFS 如何挂载文件系统. 管理 ZFS 挂载点 缺省情况下,ZFS 文件系统在创建时自动挂载.可以确定文件系统的特定挂载点行为,如本节所述. 另外,也可以在创建时 ...
- linux内核zfs,Linux使用ZFS文件系统
Linux使用ZFS文件系统 来源:it168网站 ZFS(Zettabyte File System)作为一个全新的文件系统,全面抛弃传统File System + Volume Manager + ...
- ZFS文件系统数据恢复的方法
ZFS文件系统数据恢复的方法 前言 通常处理方法 网上的资料介绍还有个尝试的选项: 恢复数据的方法 Python的实现: 解析元数据: 恢复文件: 前言 ZFS是一个非常稳定可靠的文件系统,但是还是有 ...
最新文章
- 2021年大数据ELK(二十四):安装Kibana
- video标签支持获取rtsp流么_Flask教程(二十二)在浏览器中播放rtsp实时流
- 不要指望未来科学的发展会改变元素周期表的形式
- 转:AOP 的利器:ASM 3.0 介绍
- bootstrap怎么在一个页面渲染多个表格_推荐一个前端框架
- 诺基亚手机运行linux,Ubuntu携手诺基亚Linux进军手机操作系统将改变市场
- unc0ver 发布新版本支持 iOS 13.3 越狱
- c语言josn序列化和反序列化,Flutter 中 JSON 的序列化和反序列化
- java 人脸识别jar包_java版天网人脸识别系统,获取视频流人脸识识别推送服务器展示...
- 设置loadrunner中每个mdrv.exe进程中包含的vuser个数
- 大整数乘法——分治算法的时间复杂度
- Unity for Windows: III–Publishing your unity game to Windows Phone Store
- RAID 技术全解 – RAID0、RAID1、RAID5、RAID10
- 沉淀 2017,记录不平凡的一年!
- 408操作系统考研笔记!超级详细!23最新考纲
- 2019测试指南-web应用程序安全测试(二)指纹Web应用程序
- 【我的Android进阶之旅】Configuration 'compile' is obsolete and has been replaced with 'implementation' and
- 嗖嗖移动业务大厅小项目
- mb是做1还是0_德国爱他美奶粉0-6月选择,给宝宝喝pre段还是1段奶粉?
- uA741运算放大器电路基本原理