Linux系统配置及服务管理-07-文件系统及RAID

文件系统详解

EXT4文件系统

EXT4是第四代扩展文件系统(Fourth extended filesystem)

类型:索引(index ) 文件系统

系统限制:

  • Ext3: 文件系统最大16TB
  • Ext4: 文件系统最大16TB
  • XFS : 文件系统最大100TB.

名词

inode
  • inode:索引节点

  • 记录文件的属性(文件的元数据metadata)

  • 元数据:如文件的属性,大小,权限,属主,属组,连接数,块数量,块的编号

  • 一个文件占用一个inode,同时记录此文件数据所在的block numbber

  • inode大小 为 128 bytes

block
  • 存储文件的实际数据
  • 实际存储文件的内容,若文件较大,会占用多个block
  • block大小 为默认为4K
superblock
  • 1 block 与 inode 的总量
  • 2 未使用与已使用的 inode / block 数量
block group

块组

示例1:inode(index node 索引节点)

创造一个文件,观察inode信息。
ll -i 文件名
在这里插入图片描述
stat 文件名

示例2:block(块 文件内容)

新分区中,文件的数量和inode节点数有关系

  • 1 观察某个分区中的inode节点数
    df -i
    在这里插入图片描述

  • 2 创建一个文件
    touch xx.txt

  • 3 再次观察inode节点数
    df -i
    在这里插入图片描述
    可以看到IUsed增加了1,即inode数使用增加1个

  • 4 创造大量文件。观察inode使用情况
    进入上图中的/dev/sdb5的目录/mnt/user/0
    touch file{1..30000}
    最后报错touch: cannot touch ‘file30000’: No space left on device
    在这里插入图片描述
    在这里插入图片描述
    实际空间占用情况

可以看到该分区的inode已经全被占用,因此无法在该分区新建文件了,但是实际空间只用了2.2M,此时如果向创建的文件中写数据,是可以写进去的,这是因为block决定了文件存储的空间

实际工作中,如果某个磁盘分区无法新建文件,提示No space,但是通过df -hT看到磁盘空间还很多时,要考虑是不是inode用尽了

结论:inode决定了文件系统中文件的数量,block决定了文件存储的空间
当分区空间大小消耗完毕,也无法创建新的文件

  • 5 写满磁盘分区,然后测试新建文件
    rm -rf /mnt/disk5 删掉刚才新建的文件
    向目标分区写入大量数据,填满
    dd if=/dev/zero of=/mnt/disk5/1.txt bs=1k count=10000000
    在这里插入图片描述
    查看目标分区容量,已满
    df -hT

    创造新文件失败

得出结论,磁盘空间的限制根据inode和block两方面

XFS一种高性能的日志文件系统

文件链接

一、符号链接/软连接

symbolic link 软链接

示例

  • 1 创建一个文件,并输入内容

[root@localhost ~]# echo 111 > /file1

  • 2 创建一个软链接

ln -s /file1 /home/file11
-s 软链接

  • 3 观察软链接

ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1

  • 4 观察软链接文件

ll /file1 /home/file11

-rw-r--r-- 1 root root 4 Dec 20 17:57 /file1
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
  • 5 查看两个文件,内容一致。
[root@localhost ~]# cat /file1 
111
 [root@localhost ~]# cat /home/file11 
111
  • 6 删除源文件,软链接闪烁,不可用。
[root@localhost ~]# rm -rf /file1 
[root@localhost ~]# ll /home/file11 
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1

总结

  • 软链接像快捷方式,可以对文件和目录做软链接
  • 软链接记录的只是源文件的路径
  • 源文件删除或移动位置后,软链接失效

二、硬链接

  • 1 创建同分区硬链接成功,创建不同分区硬链接失败。
[root@localhost ~]# echo 222 > /file2
[root@localhost ~]# ln /file2 /file2-h1
[root@localhost ~]# ln /file2 /home/file2-h2	
//将文件以硬链接方式,发送到其他分区。结果是错误
ln: failed to create hard link ‘/home/file2-h2’ => ‘/file2’: Invalid cross-device link
  • 2 硬链接删除源文件,依然可以用
[root@localhost ~]#rm -rf /file2
[root@localhost ~]#cat  /file2-h1
222
  • 3 不允许将硬链接指向目录
[root@qianfeng home]# ln /home/ /mnt
ln: “/home/”: 不允许将硬链接指向目录
  • 4 硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件
    在这里插入图片描述
    inode二者相同,不会占用inode数量,但是软链接是会占用的

  • 总结
    - 硬链接只能针对文件做。不能对目录做。
    - 硬链接只能在同分区做。

RAID

RAID:廉价磁盘冗余阵列(Redundant Array of Independent Disks)
作 用:容错、提升读写速率

类型

RAID0

RAID0 条带集 2块磁盘以上, 读写速率快 100%*N,但不容错
在这里插入图片描述

RAID1

在这里插入图片描述
RAID1 镜像卷, 2块磁盘, 容量50% ,读写速率一般,核心特点:备份容错
两块磁盘假设1T容器,只能用500G。

RAID5

在这里插入图片描述
RAID5 带奇偶校验条带集 3块磁盘以上
利用率 (n-1)/n 读写速率快,容错

一、不同场景RAID的使用

硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池。
在这里插入图片描述

软RAID: 通过操作系统实现,比如Windows、Linux

二、软RAID示例

  • 1 准备4块1G的硬盘
    ll /dev/sd*

在这里插入图片描述
RAID5 :(3块数据盘) + (1块热备硬盘)

  • 2 创建RAID
yum install -y mdadm
mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}

参数说明:
-C:创建RAID
/dev/md0: 第一个RAID设备
-l5: RAID5
-n: RAID成员的数量
-x: 热备磁盘的数量

  • 3.格式化,挂载
mkfs.ext4 /dev/md0
mkdir /mnt/raid5
mount /dev/md0 /mnt/raid5
cp -rf /etc /mnt/raid5/etc1
  • 4.查看RAID信息

mdadm -D /dev/md0 -D 查看详细信息
在这里插入图片描述

  • 5 模拟一块硬盘损坏,并移除
    终端一:
    watch -n 0.5 'mdadm -D /dev/md0 | tail' #watch持续查看
    终端二:
    mdadm /dev/md0 -f /dev/sdb -r /dev/sdb
    模拟坏了并移除
    -f --fail
    -r --remove
    移除之前
    在这里插入图片描述
    移除之后
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值