计算机丢失acl,RAID 和acl

一、RAID(Redundant Array of Tnexpensive Disks)廉价磁盘冗余阵列,将多个硬盘按照一定次序组合起来,在操作系统上仍以一个硬盘存在使用

RAID有多个级别,下面分别介绍:

liner 模式:是串行的磁盘阵列,没有读写能力的提升。

如 想用100G的盘存放数据,而只有两个60G的硬盘,则将2块在liner模式硬盘串行起来,先把第一块硬盘存满后,才会存入第二块硬盘。

0 :多个等大的硬盘并行排列,将数据分成固定大小的块(chunk),分别存入磁盘,读取性能好,但没有冗余能力,因此,若是一个磁盘坏掉,则不可用。可用空间是 size*n(个数)

1 :需要组合至少2块硬盘,在这里做镜像使用。

将数据分成固定大小的chunk,分别在两块硬盘上存储,也就是说硬盘2 是硬盘1 的镜像。读取性能好,因为要将数据写两次在硬盘上,所以写入性能与之有一块硬盘一样。

有冗余,当其中一块硬盘坏掉时,仍可以使用。但空间浪费大,可用率是1/2

4 : 需要组合至少3块硬盘,其中一块用来存放剩下两块存放数据的循环冗余校验。允许有一块可以坏掉。读取写入性能有提高,可以冗余

若是硬盘1 坏掉,则可根据硬盘2 和校验盘来恢复1的数据;同理可恢复2 的数据;若校验盘坏掉,只用使用1、2再重新生成校验码。

即使如此,在一个硬盘坏掉时,读取写入操作前要先进行计算,给其余磁盘带来巨大压力。

5 :组织最少3块硬盘,与4 一样,不同的是这三块盘是循环来存放校验码,而不是只用一个盘存放。允许坏一个盘,有冗余。

可用空间为 [(n-1)/n]*size

6 :组合至少4块盘,可以坏掉2个盘(用2个盘存放校验码),可用空间也是 [(n-1)/n]*size

10 :组合至少4块盘,分别用两块硬盘组合raid 1,再将两个raid 1 组合成一个raid 0,允许两个raid 1 分别坏一个盘。空间利用率是1/2。

1、实现机制

hardware 实现: 使用BIOS里的raid 芯片或PCI插槽 或HOST/ADAPTER 主机适配器,不同的主机适配器用不同的接口。

生产环境中,使用的都是硬raid。

现今 raid 都被叫做独立冗余磁盘阵列。

software 实现:通常是内核的一个模块,实现raid  的分区、划分、组合等机制。软raid 使用一般不怎么靠谱。但在虚拟机里面都是用软raid 模拟。

#mdadm 使用户与内核交互,编辑规则,进行管理。

mdadm模式:

Assemble: 装配模式。将已停掉的或移动来的软raid设备,在本机上装配,重新使用。

Create :创建模式。用于创建新的软raid设备。

Follow or Moniter : 监控模式。

Grow : 增长模式。

Manage: 管理模式。(如某个硬盘坏了,则将其移除并加载一个新的硬盘)

mdadm 选项:

-A : 在装配模式下

-C : 在创建模式下

-F : 在监视模式下

-G : 在增长模式下

-D :监控某个raid设备的详细信息

--add(添加),--fail(破坏) ,--remove(移除) ,--detail(详细信息) 则自动识别为管理模式下。

-a yes : 若创建的raid 不存在,则自动创建

-v : 显示详细信息

-s : 扫描

-n :用于指定创建raid设备有几个磁盘设备(不包括空闲盘)

-x : 用于指定空闲盘的个数(对 raid无用,对监控模式也无用)。

-c : 指定chunk 片的大小,默认为64k

-l : 指定创建raid设备的级别。liner ,0 ,1,4,5,6,10等

2、软raid的实现

(1)创建:mdadm -C /dev/md1 -l 0 -n 2 -a yes /dev/sdc6 /dev/sdc7

(2) 格式化:mke2fs -j /dev/md1

(3) 挂载: mount /dev/md1 /mnt

用 cat /proc/mdstat 查看raid设备

3、 停用设备:

停用时应该先卸载,再停用

mdadm -S 停用设备

4、若想raid设备有效,并且不用手动重新创建,则把设备信息写入 /etc/mdadm.conf 文件

mdadm -D -s >> /etc/mdadm.conf

若想raid设备/dev/md1开机自动挂载,则写入/etc/fstab文件中。

mke2fs -j -b 2048 -E strid=32 /dev/md1

指明block块大小为2k,明确说明chunk/block=32,即 chunk为64k.

二、文件系统的访问控制列表FACL

文件系统挂载时,默认不支持acl功能(操作系统默认是支持acl的)。

1、如何让文件系统挂载后支持acl?

(1) :mount -o acl /dev/md1 /mydata

(2): tune2fs -o acl /dev/md1,这样一来,在挂载时便不用指定 -o acl 选项了。

2、

getfacl : 获取某个文件的访问控制列表,后跟文件名

setfacl : 设置ACL

-m :设定访问控制列表

setfacl -m u:USERNAME:mode(权限) FILENAME 设定用户对文件的acl

setfacl -m G:GROUPNAME:mode(权限) FILENAME  设定组对用户的acl

-x : 取消acl

setfacl -x u:USERNAME FILENAME   取消用户对文件的acl

setfacl -x g:GROUPNAME FILENAME  取消组对文件的acl

3、  acl的生效次序:如centos 对 redhat.file 文件的acl生效次序

(1):查看centos 是否为redhat.file的属主,若是,则以属主权限生效

(2):查看centos 自己的acl,是否有对文件的权限,若有,则以自己的acl生效

(3):查看centos 是否为redhat.file的属组,若是,则以属组权限生效

(4):查看关于组的acl,centos是否为acl组,若是则以acl组权限生效

(5):查看其它

4、setfacl -m d:u:centos:rw- /redhat.dir d,指明的是centos 对/redhat.dir目录的默认权限,通常只有在此目录下创建新文件时,centos才会对其生效

但凡文件,默认继承时会把执行权限去掉

若目录有rwx,其下文件默认继承时仍没有执行权限

5、 setfacl -m u:centos:rwx /redhat.dir 此时文件不会继承目录的权限

setfacl -R -m u:centos:rwx /redhat.dir 这样文件就会继承目录的权限了

6、即便某个目录有多个访问控制列表,用tar归档文件时,默认不会保存文件的acl,再展开时就不存在了。

而用 tar --acl 归档,就可以保存文件的acl了。

好了,已经很晚了,就不多说了,以后继续聊。

曾经蹉跎而过的光阴,已经无法挽回;所剩下的就是除了偶尔的缅怀,更多的是忘记。

我更相信时间,可以证明一切可以或者不可以的可能!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值