ZFS 学习(转载)
ZFS硬件和软件要求及建议
尝试使用 ZFS 软件之前,请确保查看了以下硬件和软件要求及建议:
运行 Solaris 10 6/06 发行版或更高版本的 SPARCTM 或 x86 系统。
最小磁盘空间为 128 MB。用于存储池所需的最小磁盘空间量约为 64 MB。
目前,建议用于安装 Solaris 系统的最小内存量为 512 MB。但为了获得更好的 ZFS 性能,建议至少使用 1 GB 或更多内存。
如果创建镜像磁盘配置,建议使用多个控制器。
创建基本 ZFS 文件系统
ZFS 管理在设计过程中考虑了简单性。ZFS 设计的目标之一是减少创建可用文件系统所需的命令数。创建新池的同时会创建一个新 ZFS 文件系统,并自动将其挂载。
以下示例说明如何通过一个命令同时创建名为 tank 的非冗余存储池和名为 tank 的 ZFS 文件系统。假定整个磁盘 /dev/dsk/c1t0d0 可供使用。
# zpool create tank c1t0d0
注 –
此命令将创建一个非冗余池。即使单个存储对象存在于硬件 RAID 阵列或软件卷管理器中,也建议不要将非冗余池配置用于生产环境。ZFS 只能检测这些配置中的错误。ZFS 可用冗余数据更正池配置中的错误。
新 ZFS 文件系统 tank 可根据需要使用 c1t0d0 中任意大小的磁盘空间,并会自动挂载在 /tank 中。
# mkfile 100m /tank/foo
# df -h /tank
Filesystem size used avail capacity Mounted on
tank 80G 100M 80G 1% /tank
在池内,可能需要创建其他文件系统。文件系统可提供管理点,用于管理同一池中不同的数据集。
以下示例说明如何在存储池 tank 中创建名为 fs 的文件系统。假定整个磁盘 /dev/dsk/c1t0d0 可供使用。
# zpool create tank mirror c1t0d0 c2t0d0
# zfs create tank/fs
新 ZFS 文件系统 tank/fs 可根据需要使用 c1t0d0 中任意大小的磁盘空间,并会自动挂载在 /tank/fs 中。
# mkfile 100m /tank/fs/foo
# df -h /tank/fs
Filesystem size used avail capacity Mounted on
tank/fs 80G 100M 80G 1% /tank/fs
在大多数情况下,您可能要创建并组织与您公司的需要相符的文件系统分层结构。
创建 ZFS 存储池
上一示例说明了 ZFS 的简单性。本章的其余部分将说明一个更复杂的示例,与您的环境中所遇到的情况相似。第一个任务是确定存储要求并创建存储池。该池描述了存储的物理特征,并且必须在创建任何文件系统之前创建。
如何确定 ZFS 存储池的存储要求
确定可用设备。
创建存储池之前,必须先确定用于存储数据的设备。这些设备必须是大小至少为 128 MB 的磁盘,并且不能由操作系统的其他部分使用。设备可以是预先格式化的磁盘上的单个片,也可以是 ZFS 格式化为单个大片的整个磁盘。
对于如何创建 ZFS 存储池中使用的存储示例,假定磁盘 /dev/dsk/c1t0d0 和 /dev/dsk/c1t1d0 全部都可供使用。
选择数据复制。
ZFS 支持多种类型的数据复制,这确定了池可以经受的硬件故障的类型。ZFS 支持非冗余(条带化)配置以及镜像和 RAID-Z(RAID-5 的变化形式)。
如何创建 ZFS 存储池中使用的存储示例使用了两个可用磁盘的基本镜像。
如何创建 ZFS 存储池
成为超级用户或承担具有适当 ZFS 权限配置文件的等效角色。
选择池名称。
池名称用于在使用 zpool 或 zfs 命令时标识存储池。大多数系统都只需一个池,因此只要满足ZFS 组件命名要求中所述的命名要求,即可选择您喜欢的任何名称。
创建池。
例如,创建名为 tank 的镜像池。
# zpool create tank mirror c1t0d0 c1t1d0
如果一个或多个设备包含其他文件系统或正在使用中,则该命令不能创建池。
查看结果。
使用 zpool list 命令可以确定是否已成功创建池。
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
tank 80G 137K 80G 0% ONLINE -
创建 ZFS 文件系统分层结构
创建用于存储数据的存储池之后,即可创建文件系统分层结构。分层结构是用于组织信息的简单但功能强大的机制。使用过文件系统的任何用户对分层结构也都很熟悉。
使用 ZFS 可将文件系统组织为任意分层结构,其中每个文件系统仅有一个父级。分层结构的根始终是池名称。ZFS 通过支持属性继承来利用此分层结构,以便可在整个文件系统树中快速轻松地设置公用属性。
如何确定 ZFS 文件系统分层结构
选择文件系统粒度。
ZFS 文件系统是管理的中心点。它们是轻量型的,很容易创建。适用的模型是每个用户或项目对应一个文件系统,因为此模型允许按用户或按项目控制属性、快照和备份。
如何创建 ZFS 文件系统中创建了两个 ZFS 文件系统 bonwick 和 billm。
对相似的文件系统进行分组。
使用 ZFS 可将文件系统组织为分层结构,以便可对相似的文件系统进行分组。此模型提供了一个用于控制属性和管理文件系统的管理中心点。应使用一个公用名称来创建相似的文件系统。
对于如何创建 ZFS 文件系统中的示例,两个文件系统都放置在名为 home 的文件系统下。
选择文件系统属性。
大多数文件系统特征都是通过使用简单属性来控制的。这些属性可以控制多种行为,包括文件系统的挂载位置、共享方式、是否使用压缩以及是否有任何生效的配额。
对于如何创建 ZFS 文件系统中的示例,所有起始目录都挂载在 /export/zfs/user 中,都通过使用 NFS 来共享并且都已启用压缩。此外,还对 bonwick 强制实施了 10 GB 的配额。
如何创建 ZFS 文件系统
成为超级用户或承担具有适当 ZFS 权限配置文件的等效角色。
创建所需的分层结构。
在本示例中,创建了一个可充当各文件系统的容器的文件系统。
# zfs create tank/home
然后,在池 tank 中的 home 文件系统下对各文件系统进行分组。
设置继承的属性。
建立文件系统分层结构之后,设置应在所有用户之间共享的任何属性:
# zfs set mountpoint=/export/zfs tank/home
# zfs set sharenfs=on tank/home
# zfs set compression=on tank/home
# zfs get compression tank/home
NAME PROPERTY VALUE SOURCE
tank/home compression on local
现在提供了一项新功能,通过该功能可在创建文件系统时设置文件系统属性。例如:
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home
创建各文件系统。
请注意,文件系统可能已创建,并可能已在 home 级别更改了属性。所有属性均可在使用文件系统的过程中动态进行更改。
# zfs create tank/home/bonwick
# zfs create tank/home/billm
这些文件系统从其父级继承属性设置,因此会自动挂载在 /export/zfs/user 中并且通过 NFS 共享。您无需编辑 /etc/vfstab 或 /etc/dfs/dfstab 文件。
设置文件系统特定的属性。
在本示例中,为用户 bonwick 指定了 10 GB 的配额。此属性可对该用户可以使用的空间量施加限制,而无需考虑池中的可用空间大小。
# zfs set quota=10G tank/home/bonwick
查看结果。
使用 zfs list 命令查看可用的文件系统信息:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 92.0K 67.0G 9.5K /tank
tank/home 24.0K 67.0G 8K /export/zfs
tank/home/billm 8K 67.0G 8K /export/zfs/billm
tank/home/bonwick 8K 10.0G 8K /export/zfs/bonwick
请注意,用户 bonwick 仅有 10 GB 的可用空间,而用户 billm 则可使用整个池 (67 GB)。
转载于:https://www.cnblogs.com/geagle/archive/2010/09/02/1816291.html
ZFS 学习(转载)相关推荐
- 学习转载:Linux命令--grep|正则表达式
转自:https://www.cnblogs.com/chenhuan001/p/6091229.html 感觉讲的很详细,瞬间懂了grep,正则. from: here 简介 grep (globa ...
- R中双表操作学习[转载]
转自:https://www.jianshu.com/p/a7af4f6e50c3 1.原始数据 以上是原有的一个,再生成一个新的: > gene_exp_tidy2 <- data.fr ...
- 片上总线Wishbone 学习—— 转载请注明出处:http://blog.csdn.net/ce123
片上总线Wishbone 学习(零)前言 声明:版权所有,欢迎转载! 转载请注明出处:http://blog.csdn.net/ce123 为了更加升入的理解片上系统,比如S3C2440等,今天开始学 ...
- 淘宝开放平台技术历程----学习转载
2019独角兽企业重金招聘Python工程师标准>>> Author:放翁 Date:2012/10/13 注:文中所有的技术点都可以在http://blog.csdn.net/ce ...
- 成年人需要学会持续性学习(转载)
不知道你有没有这种感觉,刚出社会的年轻人,感觉就像一匹脱离缰绳的野马,是很兴奋,有很多的想法,同时这个阶段是稚嫩的,因为初入职场,什么都不懂,总归需要别人带一带.但是有的甚至已到中年,我们常说中年不惑 ...
- 负二项分布学习[转载]
转自:https://wenku.baidu.com/view/b6518ea5112de2bd960590c69ec3d5bbfd0adaff.html 1.伯努利实验 2.二项分布 3.负二项分布 ...
- R之ddlpy函数学习[转载]
转自:https://www.cnblogs.com/aloiswei/p/6032513.html 1.函数 ddply(.data, .variables, .fun = NULL, ..., . ...
- 拉格朗日乘子法学习[转载]
转自:https://wenku.baidu.com/view/3815adfdfad6195f302ba6c0.html 1.约束条件下多变量的优化方法 2.等式约束下的拉格朗日乘子法 2.1等式约 ...
- arcgis server for .NET学习转载5
http://www.cnblogs.com/hll2008/archive/2008/08/18/1269810.html 目的: 1.arcgis server9.2 ADF的Callback机制 ...
最新文章
- 看动画轻松理解“递归”与“动态规划”
- 简单介绍实体类或对象序列化时,忽略为空属性的操作
- Spring rabbitmq消息机制--手动确认
- 浅析网站建设必要的专用软件
- 团队开发软件特点介绍
- 使用Exiv2读取图像属性的详细信息
- IBASE change and save - Middleware related
- rest_framework07:权限/频率/过滤组件/排序/异常处理封装Response对象
- c#winform演练 ktv项目 MediaPlay控件的暂停播放与停止
- mybatis 高级映射和spring整合之与Spring整合(6)
- idea设置字体不生效的问题
- TouchRetouch CR2 2.1.1 特别版 Mac 扣图修图软件
- 信用评分模型详解(上)之 评分卡模型
- asp.net会员卡管理系统VS开发sqlserver数据库web结构C#编程
- 8421码5421码2421码和余3码的区别
- 01 双重差分与三重差分分析法
- 【智能制造】生产异常情况的处理流程
- 手把手教你使用TensorFlow训练出自己的模型
- Linaro Android 4.4.2系统下载和使用(arndale octa board)
- 基于佳点集的改进麻雀搜索算法
热门文章
- vue中v-model和v-bind区别
- layui的table常用方法
- Mysql中key与index区别
- 2021牛客暑期多校训练营9,签到题HE
- 【NOIP2005】【Luogu1051】谁拿了最多奖学金
- NYOJ67 - 三角形面积
- jsp input输入实时校验长度并提示_HotCRC未公开发布的高版本穷举输入规则(V3.02)...
- Unity3D基础12:碰撞体
- bzoj 3356: [Usaco2004 Jan]禁闭围栏(扫描线+树状数组)
- 运行含中文的程序,打印名片