Articles of ZFS

服务zfs卷时,Samba“严格分配”的正确选项是什么?

服务zfs卷时,Samba“严格分配”的正确选项是什么? 该文件说: 这是一个布尔值,用于控制服务器中磁盘空间分配的处理。 如果将其设置为yes,则服务器将从文件扩展到Windows时实际未强制实际磁盘存储块的UNIX行为更改为实际强制磁盘系统在创build或扩展文件时分配实际存储块的行为给定的大小。 在UNIX术语中,这意味着Samba将停止创build稀疏文件。 此选项实际上是为支持快速分配大量块(如基于扩展名的文件系统)的文件系统而devise的。 在不支持范围的文件系统上(最值得注意的是ext3)可以使Samba变慢。 当你处理大文件时 100MB的文件系统没有扩展,甚至可能遇到客户端遇到超时问题。 当你有一个基于扩展名的文件系统时,我们可能会利用不可写的扩展,这使得Samba可以非常快地分配大量的空间,并且不会看到严格分配导致的超时问题。 在严格分配使用情况下,如果您使用配额,您还可以从配额信息中获得更好的效果。 激活此设置的另一个优点是它将有助于减less文件碎片。 为了给您一个关于在哪些文件系统上使用这个设置的信息,现在可能是一个很好的select:Linux上的XFS,ext4,btrfs,ocfs2和AIX上的JFS2支持不可写的扩展。 在不支持它的文件系统上,预分配可能是一个代价昂贵的操作,在创build大文件时,您将看到性能降低和风险让客户端超时的风险。 例子是ext3,ZFS,HFS +和其他大多数,所以请注意是否在这些文件系统上激活这个设置。 默认值:strict allocate = no 那么,如果我有strict allocate = yes ,Samba不会做预分配,这在ZFS上没有性能优势吗?

单个希捷FireCuda 2.5 SMR光盘上消失的ZFS池的奥秘

这个真的让我挠了挠头。 首先, 数据安全地备份,虽然我已经失去了数小时的迁移工作。 但是发生的事情的结果让我感到担忧。 我正在使用2.5英寸SATA背板的旧服务器上迁移备份arrays,1TB光盘太小,所以我已经开始使用希捷FireCuda 2.5“2TB光盘(它们都是SSHD和SMR)切换到2TB光盘 – 我的第一眼在SMR光盘。 在这一过程中,ZFS池已经消失无踪了。 这个arrays上的存储是备份。 旧的设置是Linux MD RAID-1,而我正在更换光盘时将迁移到ZFS镜像。 要replace的第一张光盘是/ dev / sdc。 我正在使用ZFS设备的整个光盘(即/ dev / sdc not / dev / sdc1)。 迁移过程是(1)备份三个外部光盘,(2)破坏RAID镜像,(3)删除一个1TB光盘,(4)安装第一个SSHD,(5)创buildZFS池,(6)复制数据,(7)validation它,(8)停止MDarrays,(9)replace第二个盘,然后(10)镜像池。 但我从来没有过去7.在重新启动服务器,(然后仍然是单一光盘)池消失了 ,我不能find它的痕迹,尽pipe写了800GB的数据。 zdb -l / dev / sdc返回: ——————————————– LABEL 0 ——————————————– failed to unpack label 0 ——————————————– LABEL 1 ——————————————– failed to unpack label 1 ——————————————– LABEL […]

ZFS:usedbydataset值在一个zpool上非常大

我有一个有8个zpools的500T ZFS服务器。 整体使用情况相当温和。 但是,我注意到其中一个zpools的usedbydataset值大到24.2T 。 这个zpool上的实际用户数据大约是4T 。 其他的zpools有相当适中的值。 见下文: $ zfs list|egrep '(^jbodp4 |^NAME)' NAME USED AVAIL REFER MOUNTPOINT jbodp4 28.0T 20.0T 24.2T /zfs/4 $ zfs list|egrep '^jbodp4\/' jbodp4/user1 219K 5.00T 219K /zfs/4/user1 jbodp4/user2 144G 4.86T 144G /zfs/4/user2 jbodp4/user3 4.87G 5.00T 4.87G /zfs/4/user3 jbodp4/user4 3.69T 1.31T 3.69T /zfs/4/user4 $ zfs get all|egrep '(^jbodp[0-9] |^intp[0-9] )' […]

Ubuntu中的zfs-fuse – ARCcaching?

我只是设置了一个运行Maverick的文件服务器,并创build了2个2TB驱动器的镜像zpool。 在我以前使用ZFS的经验中,它将使用所有可用内存从驱动器caching…但现在我看到服务器上的内存使用量大约为400MB。 这告诉我,ZFS ARCcaching不起作用。 这在zfs-fuse中不被支持吗? 如果没有,是否有办法创build一个2GB的RAM磁盘,并将其用于ZFScaching?

COMSTAR和ZFS zvol提供突发的写入模式

我刚刚build立了一个小型的NAS / SAN盒子,并正在做一些testing。 configuration是: 2GB内存 两个Opteron 265s Iwill DK8N 5x500GB SATA驱动器(1个备用,剩余镜像)= 1TB可用空间 Emulex LPC10000DC NexentaCore 3.0.2 我testing的第一件事是COMSTAR在光纤通道上的性能。 我创build了一个700g的zvol,并将其暴露在COMSTAR上。 写caching已启用。 我的FC启动器是一个带有Q-Logic QLA2340卡的Windows 7盒子。 除了写入速度,一切都很好。 出于某种原因,我只能看到〜30MB / s,而使用IOMeter我可以达到90MB / s的读取速度。 做了一些狩猎,我跑了一个zpool iostat命令,看到以下模式: $ zpool iostat tank 1 tank 88.2G 840G 0 5.47K 0 43.4M tank 88.2G 840G 0 16.1K 0 128M tank 88.4G 840G 1 6.69K 8.93K […]

在smartos上托pipeiscsi

我正在试图回到unix游戏中,我们已经开始了一些存储项目。 我们很乐意使用joyents smartos(基于illumos)。 使用它是一个真正的喜悦(设置VMS等),但我不能让iscsi工作。 我很想简单地共享一个zfs设备作为iscsi连接点,但不能得到它的工作。 我也不能让smb或nfs工作,但这些属性至less存在,我相信他们会工作。 我可以find的文件似乎有点老式的solaris,新的solaris,照片的东西等一些地方,这是可以理解的,因为它是这样一个新的版本,虽然。 有人有指点吗? 我已经尝试过了 zfs set shareiscsi=on zones/name 导致“未知财产”。 而且它还没有在zfs属性中列出。 我也试过了 sbdadm create-lu /dev/zvol/rdsk/zones/ 但是这会导致 sbdadm: unknown error itadm也不可用,不包含iscsi的服务列在“svcs”中。 任何帮助是极大的赞赏。

XenServer和ZFS通过NFS

我正尝试将NFS共享连接到XenCenter。 NFS服务器是一个ZFSGuru发行版(使用FreeBSD)。 zfs卷是这样输出的: /sbin/zfs set sharenfs="on" temppool/share 根据“showmount”,它是可用的: showmount -e /temppool/share Everyone 但是,当我尝试使用XenServer连接到它(因此它可以用作VHD的存储)时,出现以下错误: Internal error:Failure("Storage_access failed with: SR_BACKEND_FAILURE_73: [; NFS mount error[opterr=mount failed with return code 32]; ]") 任何人有一个想法? 更新: 这是来自NFS服务器上的日志: 9月3日16:23:10 zfsguru mountd [962]:从192.168.10.217挂载不存在的path/ temppool / share / 7c8d3f2f-e0e0-5263-ccad-1cd32a4139cf 9月3日16:23:10 zfsguru mountd [962]:mount请求从192.168.10.217拒绝/ temppool / share / 7c8d3f2f-e0e0-5263-ccad-1cd32a4139cf Sep 3 16:23:11 zfsguru mountd [962]:从192.168.10.217挂载不存在的path/ […]

recursion安装ZFS文件系统?

我意识到这更多的是一个初学者的问题,但手册,谷歌和FreeBSD手册没有提供任何解决scheme。 我在一个8.2稳定的FreeBSD上使用ZFS版本28,我的问题如下:当我安装一个ZFS文件系统(zfs mount)时,文件系统按预期方式挂载,但是不挂载子文件系统。 有一个内置的方式来recursion挂载一个zfs文件系统,它的孩子? 在此先感谢您的帮助。 flexy

崩溃后,ZFS池是空的

我在Linux 3.6.11上使用Linux 0.6.0rc11上的ZFS。 我有一个有三个子池的大型ZFS池: zpool1 zpool1/backups zpool1/graphite zpool1/log_backups 机器昨天晚上重新启动,没有明显的原因。 我被分页后,得到一个壳已经备份。 我运行了zfs mount -a来重新装入池。 zpool1/log_backups有数据,但是zpool1/graphite和zpool1/backups是完全空的, df报告这些分区没有使用空间。 不幸的是,我没有设置快照,所以这是不行的。 我试过出口和重新import,但没有改变。 我还可以尝试其他什么? 什么数据恢复选项存在ZFS? 我已经看到了一些通过fs数据结构挖掘的脚本,但是在这一点上它们都比我想要的更糟糕,并且可能具有破坏性。

带有非对称vdevs的zfs

假设我有一个由三个磁盘(或vdevs)创build的raidz。 $ fallocate -l 64m /tmp/one $ fallocate -l 64m /tmp/two $ fallocate -l 64m /tmp/three $ sudo zpool create test raidz /tmp/one /tmp/two /tmp/three $ sudo zpool status test pool: test state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 /tmp/one ONLINE […]