目录
文件系统详解
一.EXT4文件系统
简介
二.文件链接
三.RAID
一、不同场景RAID的使用
二、软RAID示例
名词解释:EXT4是第四代扩展文件系统(英语:Fourth extended filesystem)
类型:索引(index ) 文件系统
系统限制:Ext3: 文件系统最大16TB
Ext4: 文件系统最大16TB
XFS : 文件系统最大100TB
图示 :
名词
inode
记录文件的属性(文件的元数据metadata)
元数据
文件的属性,大小,权限,属主,属组,连接数,块数量,块的编号
一个文件占用一个inode,同时记录此文件数据所在的block numbber。
inode大小 为 128 bytes
block
存储文件的实际数据。
实际存储文件的内容,若文件较大,会占用多个block。
block大小 为默认为4K
superblock
1 block 与 inode 的总量;
2未使用与已使用的 inode / block 数量;
示例1:inode(index node 索引节点)
创造一个文件,观察inode信息。
ll -i 文件名
问题1:分区中,文件的数量和什么有关系。
1 观察某个分区中的inode节点数
df -i
2 创建一个文件
touch 文件名
3 再次观察inode节点数
df -i
可以看到我的磁盘sdb1 的indoe 已用12112 还可用118960
4 创造大量文件。观察inode使用情况
[root@localhost /]# touch /mnt/disk1/fffff{1..30000}
结论:inode决定了文件系统中文件的数量。
7.但是,能否向已存在的文件中写入内容呢?答案是可以
结论:block决定了文件存储的空间。
问题2:当分区空间大小消耗完毕,还能否新增文件?
1 向目标分区写入大量数据,填满
[root@localhost /]# dd if=/dev/zero of=/mnt/disk1/66.txt bs=1M count=2000
2 查看目标分区容量,已满
df -hT
4 得出结论,磁盘空间的限制根据inode和block两方面
请清理掉填满的分区。避免不必要的报错。
一、符号链接/软连接
词解释
symbolic link /软链接
示例
1 创建一个文件,并输入内容。
[root@lll ~]# echo 111 > /file1
2 创建一个软连接。
[root@lll ~]# ln -s /file1 /home/file11
3 观察软连接
[root@lll ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
4 观察软连接文件
[root@lll ~]# 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@lll ~]# cat /file1
111
[root@lll ~]# cat /home/file11
111
6 删除源文件,软连接闪烁,不可用。
[root@lll ~]# rm -rf /file1
[root@lll ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
总结
软连接像快捷方式,可以对文件和目录做软连接。
软连接记录的只是源文件的绝对路径。
软连接失去源文件不可用。
二、硬链接
1 创建同分区硬链接成功,创建不同分区硬链接失败。
[root@lll ~]# echo 222 > /file2
[root@lll ~]# ln /file2 /file2-h1
[root@lll ~]# ln /file2 /home/file2-h2
//将文件已硬链接方式,发送到其他分区。结果是?错误
ln: failed to create hard link ‘/home/file2-h2’ => ‘/file2’: Invalid cross-device link
2 硬链接删除源文件,依然可以用
[root@lll ~]#rm -rf /file2
[root@lll ~]#cat /file2-h1
222
//将文件已硬链接方式,发送到其他分区。结果是?错误
ln: failed to create hard link ‘/home/file2-h2’ => ‘/file2’: Invalid cross-device link
2 硬链接删除源文件,依然可以用
[root@lll ~]#rm -rf /file2
[root@lll ~]#cat /file2-h1
222
3 不允许将硬链接指向目录
[root@lll home]# ln /home/ /mnt
ln: “/home/”: 不允许将硬链接指向目录
总结
硬链接只能针对文件做。不能对目录做。
硬链接只能在同分区做。
简介:RAID:廉价磁盘冗余阵列(Redundant Array of Independent Disks)
作 用:容错、提升读写速率
类型:
RAID0 条带集 2块磁盘以上, 读写速率快 100%*N,但不容错
RAID1 镜像集 2块磁盘, 容量50% ,读写速率一般,容错
RAID5 带奇偶校验条带集 3块磁盘以上,
利用率 (n-1)/n 读写速率快,容错
硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池。
软RAID: 通过操作系统实现,比如Windows、Linux
1. 准备4块硬盘
查看:[root@localhost ~]# ll /dev/sd*
RAID5 :(3块数据盘) + (1块热备硬盘)
2. 创建RAID
[root@localhost ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{f,g,h,i}
3. 格式化,挂载
[root@localhost ~]# mkfs.ext4 /dev/md0 //格式化
[root@localhost ~]# mkdir /mnt/raid5 //创建挂载点
[root@localhost ~]# mount /dev/md0 /mnt/raid5 //挂载
[root@localhost ~]# cp -rf /etc /mnt/raid5/etc1 //把/etc的内容复制到 挂载点
4. 查看RAID信息
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Aug 4 18:30:00 2020
Raid Level : raid5
Array Size : 10475520 (9.99 GiB 10.73 GB)
Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Aug 4 18:40:08 2020
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 29cf5f77:282187d7:fd65420d:69edd106
Events : 22
Number Major Minor RaidDevice State
0 8 80 0 active sync /dev/sdf
1 8 96 1 active sync /dev/sdg
4 8 112 2 active sync /dev/sdh
3 8 128 - spare /dev/sdi
5. 模拟一块硬盘损坏,并移除
模拟一块硬盘损坏,并移除
[root@localhost ~]# watch -n 0.5 mdadm -D /dev/md0 | tail //watch持续查看
5. 模拟一块硬盘损坏,并移除
mdadm /dev/md0 -f /dev/sdf -r /dev/sdf
再次使用watch持续查看 发现sdf盘已经被移除