linux文件系统拓展属性

时间:2022-02-28 11:37:07

在研究GlusterFS中,发现GlusterFS使用了文件系统的Extended Attributes,中文可以称之为文件系统扩展属性。由于资料比较少,中文资料更少,因此把记录几点Extended Attributes的备忘,供参考学习。

EA的详细介绍,参考LinuxQuestion网站的介绍:
http://wiki.linuxquestions.org..s

大体的意思就是,EA是目前流行的POSIX系统中文件系统具有的一项特殊功能,可以给文件、文件夹添加额外的key/value的键对值,键和值都是字符串并且有一定长度的限制。

常用到的命令如下:setfattr、getfattr、attr。
setfattr可以设置EA,getfattr可以获取EA,attr是一个综合命令,可以设置、获取、删除、列举所有等操作。

注意,这个扩展属性不是我们常说的lsattr、chattr中对文件操作的属性,这里的EA是完全的自定义属性。

在使用EA中,我们自定义的属性名称最好使用上命名空间,如user、root、system等,比如Linux中ACL中使用的键值为:system.posix_acl_access

注意,在大多系统中,使用setfattr设置EA的时候,我们必须使用user作为命名空间前缀,否则会返回如下错误 setfattr xxx Operation not supported 的错误!

举例如下:
设置EA属性

setfattr -n user.foo -v bar test-file

获取EA属性

getfattr -n user.foo test-file

删除EA属性

setfattr -x user.foo test-file

列举所有EA属性

attr -lq test-file

注意,在列举出的属性中,没有显示默认的命名空间,所以你必须知道该属性命名空间,参加下面的方法获取全名属性。

列举所有EA属性

getfattr -d -m ".*"  test-file

至此,我们谈一下关于GlusterFS中经常遇到的一个问题,在添加或者替换某个brick的时候,经常会遇到如下错误提示:
a prefix of it is already part of a volume
常常让我们无法使用一个已有的目录作为brick,我们可以新建一个brick,还有一种做法就是删除掉这个目录的Extended Attribute(EA),这些EA是由Gluster添加的,命名空间是trusted。

for i in `attr -lq .`; do setfattr -x trusted.$i .; done

请参考:
使用GlusterFS做为Drupal文件存储的云服务

linux文件系统拓展属性的更多相关文章

  1. chattr lsattr linux file system attributes - linux 文件系统扩展属性

    我们使用 linux 文件系统扩展属性,能够对linux文件系统进行进一步保护:从而给文件 赋予一些额外的限制:在有些情况下,能够对我们的系统提供保护: chattr命令用来改变文件属性.这项指令可改 ...

  2. Linux 文件系统扩展属性【转】

    转自:https://blog.csdn.net/ganggexiongqi/article/details/7661024 扩展属性(xattrs)提供了一个机制用来将<键/值>对永久地 ...

  3. linux文件系统扩展属性

    翻译自man手册,水平有限,有错还望不吝指出.... 扩展属性是与文件和目录相关的name:value对,用来提供文件系统的一些附加功能,例如ACL.对文件或是目录拥有读权限的用户可以看到其扩展属性. ...

  4. Linux文件系统知识记录——ext2描述

    最近完成了一个编程作业,大致功能是给定一个文件名,给出该文件所在目录和其本身所占用的簇号等信息.笔者选用了Linux的ext系列文件系统作为实验对象,通过实验对ext2文件系统的存储和索引有了一个较为 ...

  5. Linux实战教学笔记08&colon;Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  6. linux文件系统体系结构 和 虚拟文件系统&lpar;VFS&rpar;

    图 1. Linux 文件系统组件的体系结构 用户空间包含一些应用程序(例如,文件系统的使用者)和 GNU C 库(glibc),它们为文件系统调用(打开.读取.写和关闭)提供用户接口.系统调用接口的 ...

  7. linux 文件系统简介

    linux文件系统简介   文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基 ...

  8. linux文件系统简介

    文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储结构.软链接 ...

  9. Linux文件系统 &lpar;Ubunt&rpar;

    Linux 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基本原理.文件存储 ...

随机推荐

  1. 突袭HTML5之WebGL 3D概述

    WebGL开启了网页3D渲染的新时代,它允许在canvas中直接渲染3D的内容,而不借助任何插件.WebGL同canvas 2D的API一样,都是通过脚本操纵对象,所以步骤也是基本相似:准备工作上下文 ...

  2. UI4&lowbar;UIToolBar

    // // AppDelegate.m // UI4_UIToolBar // // Created by zhangxueming on 15/7/6. // Copyright (c) 2015年 ...

  3. Python基础教程之List对象 转

    Python基础教程之List对象 时间:2014-01-19    来源:服务器之家    投稿:root   1.PyListObject对象typedef struct {    PyObjec ...

  4. 网络断开后重连downloadProvider继续下载问题调试分析

    最近在安卓4.4上遇到一个断开wifi后重新连接wifi, downloadProvider继续下载文件失败的问题.于是开始了解下载管理模块的断点续载功能:     1.首先,分析android lo ...

  5. C&num; DLL文件注册问题(涉及AxInterop&period;WMPLib&period;dll等)

    近日遇到问题,给客户安装软件涉及视频等音影播放,安装软件启动过程遇到这样问题: 分析报错原因: 没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG ...

  6. 对Java原子类AtomicInteger实现原理的一点总结

    java原子类不多,包路径位于:java.util.concurrent.atomic,大致有如下的类: java.util.concurrent.atomic.AtomicBoolean java. ...

  7. &lbrack;BZOJ1050&rsqb; &lbrack;HAOI2006&rsqb; 旅行comf &lpar;Kruskal&comma; LCT&rpar;

    Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...

  8. 如何使用Live CD来修复Grub &sol; Grub2

    Introduction 一般我会在计算机上装两个或者多个系统,例如,我在计算机上安装了Ubuntu.Windows 7.Windows 8.1.有一天我的Win8.1不能正常使用了,我想重新安装Wi ...

  9. DevExpress控件GridControl中的布局详解 【转】

    DevExpress控件GridControl中的布局详解 [转] 2012-10-24 13:27:28|  分类: devexpress |  标签:devexpress  |举报|字号 订阅   ...

  10. centos7更改时区

    1,linux系统更换时区 2,时间同步 1,linux系统更换时区 注:# timedatectl # 查看系统时间方面的各种状态 # timedatectl list-timezones # 列出 ...