免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6711 | 回复: 19
打印 上一主题 下一主题

[FreeBSD] FreeBSD10.1刚装了下,有个关于zfs分区信息的不明白... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-04-16 16:57 |只看该作者 |倒序浏览
FreeBSD10.1
有zfs自动配置了,这个很好,用着很方便.

不过这里创建zpool后为啥不给手工分区啊?这让我等强迫症患者如何是好.

另外看自动配置zfs,自动分区后的情况用以下两个命令查询怎么显示不一样?
  1. root@laptop:/usr # df -lha
  2. Filesystem            Size    Used   Avail Capacity  Mounted on
  3. zroot/ROOT/default    264G    467M    264G     0%    /
  4. devfs                 1.0K    1.0K      0B   100%    /dev
  5. zroot/tmp             264G    169K    264G     0%    /tmp
  6. zroot/usr/home        264G    198K    264G     0%    /usr/home
  7. zroot/usr/ports       264G    140K    264G     0%    /usr/ports
  8. zroot/usr/src         264G    653M    264G     0%    /usr/src
  9. zroot/var/crash       264G    140K    264G     0%    /var/crash
  10. zroot/var/log         264G    198K    264G     0%    /var/log
  11. zroot/var/mail        264G    140K    264G     0%    /var/mail
  12. zroot/var/tmp         264G    140K    264G     0%    /var/tmp
复制代码
  1. root@laptop:/usr # zfs list
  2. NAME                 USED  AVAIL  REFER  MOUNTPOINT
  3. zroot               1.10G   264G   140K  none
  4. zroot/ROOT           467M   264G   140K  none
  5. zroot/ROOT/default   467M   264G   467M  /
  6. zroot/tmp            169K   264G   169K  /tmp
  7. zroot/usr            653M   264G   140K  /usr
  8. zroot/usr/home       198K   264G   198K  /usr/home
  9. zroot/usr/ports      140K   264G   140K  /usr/ports
  10. zroot/usr/src        653M   264G   653M  /usr/src
  11. zroot/var            756K   264G   140K  /var
  12. zroot/var/crash      140K   264G   140K  /var/crash
  13. zroot/var/log        198K   264G   198K  /var/log
  14. zroot/var/mail       140K   264G   140K  /var/mail
  15. zroot/var/tmp        140K   264G   140K  /var/tmp
复制代码
上面的没有显示/usr和/var分区,下面的显示/usr和/var分区了.
到底/usr和/var是否单独分出来了?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2015-04-17 09:05 |只看该作者
你可以去oracle下载关于zfs的文档看看,有中文的
首先 zfs没有分区的概念,zfs管理硬盘的理念是:像使用内存一样使用硬盘,所以会有zpool
为了便于备份恢复等实现,zfs里有dataset的东西,你可以把这东西等同于以前的分区来理解,dataset是可以动态调整大小的
你上边的usr和var其实是二级dataset的递归创建,没有var哪里来的 var/crash var/log等等?

更详细的你去看文档吧

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
3 [报告]
发表于 2015-04-17 09:17 |只看该作者
zfs自动安装就是自动分区的意思,所以会给你手动调整的机会,如果跟我一样有强迫症,最好用手动模式,也可以做出zfs的。

至于没有显示/usr和/var的原因,可以看安装日志,我找了一小部分,注意红字部分的"canmount"选项,说明这两个仅仅是相当于“分区目录”存在,zfs中的usr仅仅方便管理的一个指示,因为完全可以使用其他的名字。这样做的好处是不会把zfs中的usr挂载到系统中去,/usr仍然是原始根系统(ROOT)的内容,否则会造成一定的混乱。

DEBUG: zfs_create_boot: Creating root pool...
DEBUG: zfs_create_boot: zpool create -o altroot=/mnt -O compress=lz4 -O atime=off -m none -f "zroot"   ada0p3.nop
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: Creating ZFS datasets...
DEBUG: zfs_create_boot: zfs create -o mountpoint=none "zroot/ROOT"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o mountpoint=/ "zroot/ROOT/default"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o mountpoint=/tmp -o exec=on -o setuid=off "zroot/tmp"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o mountpoint=/usr -o canmount=off "zroot/usr"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create  "zroot/usr/home"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o setuid=off "zroot/usr/ports"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create  "zroot/usr/src"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o mountpoint=/var -o canmount=off "zroot/var"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o exec=off -o setuid=off "zroot/var/crash"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o exec=off -o setuid=off "zroot/var/log"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o atime=on "zroot/var/mail"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: zfs create -o setuid=off "zroot/var/tmp"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: Modifying directory permissions...
DEBUG: zfs_create_boot: chmod 1777 "/tmp"
DEBUG: zfs_create_boot: retval=0 <no output>
DEBUG: zfs_create_boot: chmod 1777 "/var/tmp"

论坛徽章:
0
4 [报告]
发表于 2015-04-17 14:39 |只看该作者
本帖最后由 bleakwind 于 2015-04-17 14:50 编辑

root@laptop:~ # zfs get canmount
NAME                PROPERTY  VALUE     SOURCE
zroot               canmount  on        default
zroot/ROOT          canmount  on        default
zroot/ROOT/default  canmount  on        default
zroot/home          canmount  on        default
zroot/tmp           canmount  on        default
zroot/usr           canmount  off       local
zroot/usr/ports     canmount  on        default
zroot/usr/src       canmount  on        default
zroot/var           canmount  off       local
zroot/var/crash     canmount  on        default
zroot/var/log       canmount  on        default
zroot/var/mail      canmount  on        default
zroot/var/tmp       canmount  on        default



看oracle手册这里,canmount设置为off的时候是无法挂载的,只能设置挂载点,不能存储东西.

canmount 属性
如果 canmount 属性设置为 off,则不能使用 zfs mount 或 zfs mount -a 命令挂载文件系统。将此属性设置为 off 与将 mountpoint 属性设置为 none 的效果相似,区别在于数据集仍有一个可继承的正常 mountpoint 属性。例如,可将该属性设置为 off,为后代文件系统建立可继承属性,但父文件系统本身永远不会挂载,也无法供用户访问。在这种情况下,父文件系统将充当一个容器,这样便可以在容器中设置属性,但容器本身永远不可访问。

在以下示例中,创建了 userpool 并将其 canmount 属性设置为 off。将后代用户文件系统的挂载点设置为一个公共挂载点 /export/home。在父文件系统中设置的属性可由后代文件系统继承,但永远不会挂载父文件系统本身。


那/usr和/var是挂载到哪里的?

论坛徽章:
0
5 [报告]
发表于 2015-04-17 15:17 |只看该作者
lsstarboy 发表于 2015-04-17 09:17
zfs自动安装就是自动分区的意思,所以会给你手动调整的机会,如果跟我一样有强迫症,最好用手动模式,也可以 ...


1. 为什么zfs的/usr挂载到系统中会混乱?

2. 这么说系统中的/usr是挂载到根/下的?是属于/下的一个目录?

3. 是否zfs分区的理念就是: 重要的才会单独分出来,不重要的都是作为/的一个目录?

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
6 [报告]
发表于 2015-04-17 15:44 |只看该作者
回复 5# bleakwind


1、由于根“/”已经在zfs上面,这时解压后的基本系统中已经包含/var和/usr,再挂载一个/usr已经是多余了,并且会造成找不到原来的数据,并且还必须严格按照一定的顺序挂载,这是给自己后来维护找麻烦。当然,从技术上来说,/usr单独挂载是没问题的,但是现在的作者觉得没有必要这样做,你可以看一下/usr/libexec/bsdinstall/zfsboot,作者有几个简短的说明。

2、系统中本来就有/usr,是根下的一个目录,谁也没挂载。

3、不是重要的才单独分出来,是出于性能和安全考虑才分出来的那几个分区,比如log和crash要禁用执行权限;大多数分区要禁用setuid;ports和src没有特殊参数,但是实际上应该把size值调小一些,mail也需要atime等等。

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
7 [报告]
发表于 2015-04-17 15:46 |只看该作者
本帖最后由 lsstarboy 于 2015-04-17 15:48 编辑

回复 4# bleakwind


是/的一部分,base包里面就有的,不存在挂载的问题。

在Unix下,除了根目录外,每个目录都是可选挂载的,只有/一个挂载点也是允许的,并且其他的挂载点必须在/以下才行。

论坛徽章:
0
8 [报告]
发表于 2015-04-17 17:27 |只看该作者
明白了,多谢各位大虾...

这样理解不知道对不对?

1. zroot/usr只是个挂载点,方便给zroot/usr/ports用的,没有挂载到系统中,只是属于zfs的挂载策略

2. zroot/usr/ports是挂载到系统的,对应系统的/usr/ports

3. 系统中的/usr是属于根/下的一个目录


Filesystem            Size    Used   Avail Capacity  Mounted on
zroot/usr            653M   264G   140K  /usr
这里的挂载点/usr和系统的/usr目录不会产生冲突吗?

论坛徽章:
0
9 [报告]
发表于 2015-04-17 17:36 |只看该作者
lsstarboy 发表于 2015-04-17 15:44
回复 5# bleakwind


签名课件的手册无法识别编码 - 在浏览器默认编码不是gbk/gb2312情况下无法识别编码导致乱码.

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
10 [报告]
发表于 2015-04-17 18:28 |只看该作者
回复 8# bleakwind


    zroot/usr只是有可挂载的资质,但是你问的第三个问题,会跟原系统的/usr冲突,所以就加了不允许挂载的参数。虽然不允许挂载,但是它相当于一个目录,它的子目录zroot/usr/ports,zroot/usr/src等却是可以挂载的。其实完全可以直接用zroot/ports和zroot/src,zfs里面的东西,跟实际挂载到哪个地方没有直接、必然的关系。作者写为zroot/usr/ports,只是为了找一种字面上的对应关系,方便理解和问题查找而已。

你的第三个问题是对的,因为会引起混乱,所以就加了禁止挂载的参数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP