首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏存储内核技术交流

    ​ARM架构源码编译zfs

    源码编译 zfs编译过程 $ git clone https://github.com/openzfs/zfs.git && cd zfs && git checkout zfs-2.1.5 $ . root@ubuntu-dev /home/perrynzhou/zfs-2.1.5]$ modprobe -v zfs insmod /lib/modules/5.15.0-40-generic/kernel /kernel/zfs/zavl.ko insmod /lib/modules/5.15.0-40-generic/kernel/zfs/znvpair.ko insmod /lib/modules /lib/modules/5.15.0-40-generic/kernel/zfs/zzstd.ko insmod /lib/modules/5.15.0-40-generic/kernel/zfs /zunicode.ko insmod /lib/modules/5.15.0-40-generic/kernel/zfs/zfs.ko zfs验证 [root@ubuntu-dev /home/perrynzhou

    1.6K30编辑于 2022-08-17
  • 来自专栏大大的小蜗牛

    Ubuntu ZFS 原生全盘加密

    前言 Ubuntu 20.04 的安装镜像支持 ZFS 文件系统(从 19.10 就开始支持了): 但是如果选择此项安装时,默认就没有全盘加密功能了。 本文介绍如何安装 Ubuntu 到 ZFS 文件系统时使用原生加密。 可加密 Root Boot 等目录。 比 《Ubuntu ZFS 加密 Home 目录》 更优秀。 注意在 rpool 一行之前加入这些代码) Reference: https://linsomniac.gitlab.io/post/2020-04-09-ubuntu-2004-encrypted-zfs

    1.7K20编辑于 2022-12-20
  • 来自专栏大大的小蜗牛

    Ubuntu ZFS 加密 Home 目录

    前言 Ubuntu 20.04 的安装镜像支持 ZFS 文件系统: 本文是 安装后 加密 ZFS Home 目录的备忘教程。 另外有 安装前 加密 ZFS Root 文件系统的备忘教程。 链接:《Ubuntu ZFS 原生全盘加密》 步骤 1、安装时创建一个随意的临时账号,或者安装完成后,新建一个临时管理员用户,暂且把这个账号叫做:tempuser,并把它设置为自动登录,此账号必须为管理员账号 2、注销或重启后,登录 tempuser 账号,重新创建一个长期使用的用户,比如我的账号叫:eallion 3、查看 ZFS 数据集 sudo zfs list -r rpool 记录下你要用到的用户名的数据集名称 > 例如: sudo zfs set mountpoint=none rpool/USERDATA/eallion_c1doe6 如果这一步遇到错误,如:target is busy,需要自行排错。 9、让加密目录用上 ZFS 的自动快照功能,Grub 引导项中也能选择快照历史恢复系统。

    2.3K30编辑于 2022-12-20
  • 来自专栏存储内核技术交流

    聊聊zfs中的write

    zpool创建 // 创建一个zpool $ modprobe zfs $ zpool create -f -m /sample sample -o ashift=12 /dev/sdc $ zfs mount sample/fs1 zpool和zfs参数获取 // zfs pool默认的参数获取 $ zpool get all // zfs pool挂载文件系统的参数获取 $ zfs get 第一阶段open context阶段,是从zfs_write开始。 z_node代表zfs中的inode,zfs_uio_t 是偏移量和长度 // 函数是经过省略的部分。 = zfs_uio_resid(uio)) n -= tx_bytes - zfs_uio_resid(uio); if (zfs_uio_prefaultpages(MIN(n, max_blksz

    2.2K10编辑于 2022-08-17
  • 来自专栏存储内核技术交流

    聊聊ZFS中IO框架之基础篇

    ZFS中的ZIO的流程中最上层是zfs操作入口,zpl是ZFS中的posix层,dmu是zfs中数据转换单元,这个设计和内核的虚拟地址类似,arc是数据缓存层,zio是SPA模块中执行数据从缓存到具体的磁盘的 IO过程,这个也是zfs中比较复杂的部分 ZFS中定义了多种IO类型,每一种IO操作对应zio中的一个或者多个函数。 ZIO_TYPE_WRITE, ZIO_TYPE_FREE, ZIO_TYPE_CLAIM, ZIO_TYPE_IOCTL, ZIO_TYPE_TRIM, ZIO_TYPES } zio_type_t ZFS ZIO_TYPES; t++) { for (int q = 0; q < ZIO_TASKQ_TYPES; q++) { spa_taskqs_init(spa, t, q); } } } ZFS

    1K30编辑于 2023-02-26
  • 来自专栏人生得意须尽欢

    什么是 ZFS?它有什么特点?

    这意味着与其他文件系统不同,ZFS 可以创建跨越一系列驱动器或池的文件系统。不仅如此,还可以通过添加另一个驱动器将存储添加到池中。ZFS 将处理分区和格式化[10]。 快照 写时拷贝导致另一个 ZFS 功能:快照。ZFS 使用快照来跟踪文件系统中的更改。“快照包含文件系统的原始版本,实时文件系统包含自快照以来所做的任何更改,不使用额外的空间。 巨大的存储潜力 ZFS 在创建之初,就被设计为最后一代文件系统[15]。在大多数文件系统都是 64 位的时候,ZFS 创建者决定直接跳到 128 位以备未来验证。 最近,Ubuntu 19.10 引入了在根目录上开箱即用安装 ZFS 的功能。阅读有关在 Ubuntu 上使用 ZFS[20] 的更多信息。 如果有兴趣在 Linux 上尝试 ZFS,Linux 项目上的 ZFS 有许多教程。

    2.4K10发布于 2021-09-24
  • 来自专栏存储内核技术交流

    浅谈zfs中概念-part1

    x86_64 x86_64 x86_64 GNU/Linux $ zfs --version zfs-2.1.99-530_g269b5dadc zfs-kmod-2.1.99-530_g269b5dadc zfs中核心概念 vdevs(virtial devices):zfs的pool是由一组vdevs组成。 zfs的pool可以看成是一棵树,树的非叶子节点是逻辑虚拟设备,叶子节点是物理虚拟设备。逻辑虚拟设备在指向由一组物理虚拟设备,物理虚拟设备则是具体的物理磁盘。 中数据在内存和磁盘之间的传输的最小单位是block.blkptr_t结构是zfs用来描述数据块位置、校验。 zfs的读写的数据洗是需要从逻辑虚拟设备到物理虚拟设备的抓换,zfs内部如果数据块超过128K则需要1个数据块以及多个数据块指针。

    1.6K10编辑于 2022-08-17
  • 来自专栏数据库PG

    ZFS文件系统与Freenas介绍

    一、简介   1、什么是zfs文件系统     ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统 3、ZFS与其他文件系统有什么不同那? ZFS与以前的任何文件系统都有显着不同,因为ZFS不仅仅是文件系统。将传统上独立的卷管理器和文件系统角色结合在一起,为ZFS提供了独特的优势。 4、快照     写时复制使得 ZFS 有了另一个特性: 快照(snapshots)。ZFS 使用快照来跟踪文件系统中的更改。 一些较早的ZFS文档建议每种类型的RAIDZ都需要一定数量的磁盘,以实现最佳性能。 ZFS专为商用磁盘而设计,因此不需要RAID控制器。 虽然ZFS也可以与RAID控制器一起使用,但建议将控制器置于HBA模式,以便ZFS完全控制磁盘。 当存储池容量达到90%时,ZFS会从性能切换到基于空间的优化,这对性能有很大的影响。

    6.4K52发布于 2021-04-30
  • 来自专栏小洁叫你mysql

    【Docker】AUFS、BTRFS、ZFS、储存池详解

    Docker中 AUFS、BTRFS、ZFS、存储池的概念 讲解 1. ZFS ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。 ZFS的命名来源发想于"ZettabyteFile System"的首字母缩写。但 ZFS 本身并不具备任何的缩写意涵,只是作者想阐述做为一个具备高扩充容量文件系统且还有支持许多延伸功能的一个产品。 ZFS是基于存储池的,与典型的映射物理存储设备的传统文件系统不同,ZFS所有在存储池中的文件系统都可以使用存储池的资源。 1.3 什么是ZFS ZFS 文件系统是一个革命性的全新的文件系统,它从根本上改变了文件系统的管理方式,这个文件系统的特色和其带来的好处至今没有其他文件系统可以与之媲美,ZFS 被设计成强大的、可升级并易于管理的

    1.7K20编辑于 2023-10-10
  • 来自专栏存储内核技术交流

    深入理解ZFS文件系统基础

    RAIDZ vs RAID本质区别 传统RAID访问,如果出现坏块,上层应用也会读取到坏块 ZFS的RAIDZ访问,如果出现坏块,通过内部机制构造完整块给应用 ZFS存储池 设计用来管理物理设备 name/value的键值对存储 DMU:基于块基础上提供对象管理的抽象 ZIL:记录zfs的事务的日志抽象 ARC:ZFS基于内存的数据缓存 L2ARC:ZFS基于高速设备的二次数据缓存 SLOG:ZFS 的日志存储模块 ZIO:基于pipeline和事件驱动机制的ZFS IO调度器 MeataSlab:ZFS的块分配器 VDEV:基于多个磁盘设备并且为Stripe/Mirror/RaidZ多种存储模式的存储池管理和抽象 DSL:ZFS的数据集和快照管理的抽象 ZFS内部数据组织 ZFS中几乎存在的所有数据都是以对象的形式呈现,ZFS存储池是以树这种数据结构呈现,uberblock节点是对象的root,中间节点是元数据对象 内部结构关系 ZFS刷脏流程 从刷脏流程可以看出,数据是从Object Set Layer->Meta Object Set Layer ->uberblock

    2.9K10编辑于 2023-02-26
  • 来自专栏数据库相关

    ZFS文件系统和ext4空间占比

    scp到 zfs文件系统上,看到大约只占了15GB ? ?

    2.3K20发布于 2020-03-20
  • 来自专栏北亚数据恢复中心

    ZFS文件系统服务器无法读取修复案例

    一、服务器数据恢复环境部署介绍: 今天为大家介绍的数据恢复成功案例服务器型号为:ORACLE-SUN-ZFS7320。服务器内涉及硬盘32块,服务器操作采用的是Windows操作系统。 服务器数据恢复工程师对客户的故障服务器进行底层数据分析得到如下信息:故障服务器采用ZFS文件系统;所有磁盘被分为4个组,每组8块硬盘;热备盘全部启用。 四、服务器故障情况分析 在服务器ZFS文件系统中,池被称为ZPOOL。 五、重组ZPOOL,追踪数据入口 ZFS管理的存储池与常规存储不同,所有磁盘都由ZFS进行管理。常规RAID在存储数据时,只按照特定的规则组建池,不关心文件在子设备上的位置。 根据ZFS文件系统的数据存储结构顺利找到客户映射的LUN名称,进而找到其节点。

    2.5K40发布于 2020-11-04
  • 来自专栏数据恢复案例

    ZFS文件系统服务器无法读取修复案例

    一、服务器数据恢复环境部署介绍: 今天为大家介绍的数据恢复成功案例服务器型号为:ORACLE-SUN-ZFS7320。服务器内涉及硬盘32块,服务器操作采用的是Windows操作系统。 服务器数据恢复工程师对客户的故障服务器进行底层数据分析得到如下信息:故障服务器采用zfs文件系统;所有磁盘被分为4个组,每组8块硬盘;热备盘全部启用。 四、服务器故障情况分析 在服务器ZFS文件系统中,池被称为ZPOOL。 五、重组ZPOOL,追踪数据入口 ZFS管理的存储池与常规存储不同,所有磁盘都由ZFS进行管理。常规RAID在存储数据时,只按照特定的规则组建池,不关心文件在子设备上的位置。 根据ZFS文件系统的数据存储结构顺利找到客户映射的LUN名称,进而找到其节点。

    2.6K20发布于 2020-03-04
  • 来自专栏敏而好学

    关于Linux平台下的ZFS文件系统最新情况说明

        Linux平台下的ZFS文件系统分为两个,一个是在用户空间实现的ZFS,一个是通过内核模块实现的ZFS。      用户空间实现的ZFS已经好几年没人维护了,且不说稳定性,单是性能就无法在线上使用,相关开发人员已放弃。      那么Linux平台上ZFS到底可以使用吗?我认为可以尝试,毕竟源码都是一样的,可认为只是换了平台重新编译而已(当然也没那么简单)。      一个建议是,根分区还是用普通的文件系统,数据分区用ZFS,选用内核模块版本的ZFS,毕竟ZFS还是提供了很多好的特性,值得一用。 同时要注意,安装完内核版本的ZFS后,操作系统内核不能随意更新,否则容易引起内核兼容性问题,导致系统panic。

    1.7K10发布于 2020-02-11
  • 来自专栏Linux运维

    ZFS vs Btrfs:两大现代文件系统的核心特点与对比解析

    一、ZFS:稳定如岩石的企业级文件系统ZFS(ZettabyteFileSystem)由SunMicrosystems开发,以“稳定可靠、安全无敌”而著称。 许多大型企业和云厂商都在使用,FreeNAS/TrueNAS等系统更是把ZFS当成灵魂组件。ZFS的核心特点1.端到端校验(End-to-EndChecksum)所有数据与元数据都会有校验值。 2.写时复制(Copy-on-Write)ZFS永不覆盖原数据,所有写入都是全新的块。 ZFS重删功能很强,但对内存要求极高(不建议随便开启)。6.内存需求高但性能极强ZFS推荐至少8GB以上内存,越多越好。有“ZFS吃内存”的昵称,但换来的是稳定性和性能。 )轻量快捷创建速度极快,与ZFS类似,也几乎不占空间。

    2K10编辑于 2025-12-05
  • 来自专栏运维民工

    centos7从源码编译openzfs 2.1 rpm

    /archive/refs/tags/zfs-2.1.0.tar.gz tar zxf zfs-2.1.0.tar.gz . /configure make rpm 编译成功后,创建本地库并安装 cat > /etc/yum.repos.d/zfs-local.repo << EOF [zfs-local] name=ZFS Local baseurl=file:///var/lib/zfs.repo enabled=1 gpgcheck=0 EOF mkdir -p /var/lib/zfs.repo createrepo /var/lib/zfs.repo cp *.rpm /var/lib/zfs.repo/ createrepo --update /var/lib/zfs.repo yum --enablerepo =zfs-local install zfs /sbin/modprobe zfs lsmod | grep zfs

    94620编辑于 2022-06-30
  • 来自专栏存储内核技术交流

    源码编译Lustre-2.15.2

    ://github.com/openzfs/zfs.git && cd zfs && git checkout zfs-2.1.5 [root@Lustre-OS ~/Source/zfs]$ sh *.rpm [root@Lustre-OS ~/Source/zfs/zfs-rpm]$ yum localinstall -y kmod-zfs*.rpm zfs-2.1.5-1.el8.x86 _64.rpm m [root@Lustre-OS ~/Source/zfs/zfs-rpm]$ rpm -ivh zfs-2.1.5-1.el8.src.rpm // 确认下安装的包是否有遗漏 *,zfs-dracut-[0-9].*,kmod-zfs-[0-9].*,kmod-zfs-devel-[0-9]. .*.rpm // 内核加载zfs [root@Lustre-OS ~/Source/zfs/zfs-rpm]$ modprobe zfs 安装Lustre Server 编译阶段 /********

    2.7K30编辑于 2023-02-26
  • 来自专栏技术派

    在FreeNAS上配置FreeNAS以设置ZFS存储磁盘和创建NFS共享 - 第2部分

    启用控制台消息 控制台消息窗口 第2步:添加ZFS存储卷 5.要添加ZFS存储设备,请在Top 存储菜单定义ZFS卷。 要添加ZFS卷,选择ZFS卷管理器 。 在ZFS磁盘上定义Raid6 8.镜意味着克隆每个驱动器的同一副本具有更好的性能和数据保障。 在ZFS磁盘上定义镜像 9条中单个数据多个磁盘。 如果我们松散任何一个磁盘,我们将松动整个卷为无用的。 添加ZFS磁盘 11.添加卷后,你会得到如下图所示的卷列表。 ZFS存储磁盘 第3步:创建ZFS数据集 12. 数据集的体积,这是我们在上面的步骤已经创建内部创建的。 ZFS数据集权限 14.一旦ZFS为Unix共享创建的数据集,现在是时候为Windows创建数据集。 按照相同的说明如上所述,唯一的变化是,选择共享类型为“Windows”,而添加数据集。 第3步:共享ZFS数据集 15.要在Unix机器共享ZFS数据集,进入“ 共享 ”选项卡,从顶部菜单中,选择了Unix(NFS)类型。

    5.1K21发布于 2021-06-18
  • 来自专栏存储内核技术交流

    OpenZFS简介

    ZFS是什么? ZFS是最早sun公司设计用于Solaris系统的文件系统,在OpenSolaris和FreeBSD下的稳定性非常高。 相对于XFS文件系统,ZFS虽然是本地文件系统,但是集成了软件Raid(Raid0/Raid1/Raid Z1/Raid Z2/Raid Z3)、基于元数据的COW写任意位置的事务模型,自带Checksum 等保证数据完整性,同时提供高效的快照和复制功能,还有支持高速盘的SSD读写缓存、压缩、去重等特性 ZFS混合池架构概览 图片 ARC是DRAM内存中的Cache,主要用于元数据和数据的读缓存工程 L2ARC OpenZFS 功能分层概览 图片 Zvol(zfs volume),ZFS 提供的块设备方式,暴露一个块设备接口,类似与dataset(文件系统),zvol为block设备,可以被格式化,可以被iSCSI ZPL是ZFS中最复杂的一个子系统,也是作为ZFS文件系统最核心的部分 Transactional Object Layer,这个子系统提供一个事务对象的语义层,对对象的修改 不会因为掉电的原因导致事务的不一致

    2.8K31编辑于 2022-08-17
  • 来自专栏存储内核技术交流

    centos7源码编译和安装lustre

    /zfs.git && cd zfs && git checkout zfs-0.7.13 $ sh autogen.sh // 编译之前必须安装spl $ . && mv *.rpm zfs-rpm/ $ ls zfs-rpm/ -l total 31836 -rw-r--r--. 1 root root 872764 Sep 24 05:49 kmod-zfs *,zfs-dracut-[0-9].*,kmod-zfs-[0-9].*,kmod-zfs-devel-[0-9]. 1 zfs zavl 15236 1 zfs icp 270148 1 zfs zcommon 73440 1 zfs znvpair 89131 2 zfs,zcommon spl 102412 4 icp,zfs,zcommon

    2.4K30编辑于 2022-08-17
领券