一、文件系统详解
EXT4文件系统是第四代扩展文件系统
类型:索引文件系统(index)
系统限制:
Ext3:文件系统最大16TB
Ext4:文件系统最大16TB
XFS:文件系统最大100TB,(是一种高性能的日志文件系统)
图示:
名词
Inode:
- 记录文件的属性(文件的元数据(metadata)
- 元数据
- 文件的属性,大小,权限,属主,属组,块数量,块的编号
- 一个文件占用一个inode,同时记录此文件数据所在的block numbber.
- inode大小为 128 bytes
Block:
- 记录文件的属性,存储文件的实际数据
- 实际存储文件的内容,若文件较大,会占用多个block。
- Block大小为4K
Superblock
- block 与 inode 的数量
- 未使用与已使用的inode / block 数量;
示例1: inode
创造一个文件,观察inode信息
ll -i 文件名
示例2:block
问题1:分区中,文件的数量和什么有关系
- 观察某个分区中的inode节点数
Df -i
2.创建一个文件
Touch 文件名
3.再次观察inode节点数
df -i
4.创造大量文件,观察inode使用情况。
touch file{1..300}
5.在另一个sheel,观察inode变化情况。
Watch -n 2 ‘df -i’
6.请问最后,还能否创建新的文件呢?
inode决定了文件系统中文件的数量。
7.但是,能否向已存在的文件中写入内容呢?
是,因为block决定了文件存储的空间。
问题2:当分区空间大小消耗完毕,还能否新增文件?
- 向目标分区写入大量数据,填满
dd if=/dev/zero of=/disk1/5.txt bs=36k count=4500
2.查看目标分区容量,已满
df -hT
3.创造新文件
touch
4.得出结论,磁盘空间的限制根据inode和block两方面
二、文件链接
名词解释 symbolic link
示例:
- 创建一个文件,并输入内容
[root@qianfeng ~]# echo 111 >/file1
2.创建一个软连接
3.[root@qianfeng ~]# ln -s /file1 /home/file11
4.观察软连接
[root@qianfeng ~]#ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
5.观察软连接文件
[root@qianfeng ~]# 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
6.查看两个文件,内容一致
[root@qianfeng ~]# cat /file1
111
[root@qianfeng ~]# cat /home/file11
111
7.删除源文件,软连接闪烁,不可用
[root@qianfeng ~]# rm -rf /file1
[root@qianfeng ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
软连接是对文件和目录做软连接,记录的只是源文件的绝对路径,失去源文件不可用。
三、RAID
RAID:廉价磁盘冗余阵列
作用:容错、提升读写速率
RAID0:RAID0条带集 2块磁盘以上,读写速率快 100%*N,但不容错
RAID1:RAID1 镜像集 2块磁盘,容量50%,读写速率一般,容错
RAID5: RAID5 带奇偶校验条带集 3块磁盘以上,利用率(n-1)/n 读写速率快,容错。
1. 准备4块硬盘
[root@qianfeng ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 48 Jan 13 16:07 /dev/sdd
brw-rw---- 1 root disk 8, 64 Jan 13 16:07 /dev/sde
brw-rw---- 1 root disk 8, 80 Jan 13 16:07 /dev/sdf
brw-rw---- 1 root disk 8, 80 Jan 13 16:07 /dev/sdg
RAID5 :(3块数据盘) + (1块热备硬盘)
2. 创建RAID
[root@qianfeng ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g}
-C 创建RAID
/dev/md0 第一个RAID设备
-l5 RAID5
-n RAID成员的数量
-x 热备磁盘的数量
可用空间2G
[root@qianfeng ~]# yum -y install mdadm //确保mdadm命令可用
3. 格式化,挂载
[root@qianfeng ~]# mkfs.ext4 /dev/md0
[root@qianfeng ~]# mkdir /mnt/raid5
[root@qianfeng ~]# mount /dev/md0 /mnt/raid5
[root@qianfeng ~]# cp -rf /etc /mnt/raid5/etc1
4. 查看RAID信息
[root@qianfeng ~]# mdadm -D /dev/md0 //-D 查看详细信息
/dev/md0:
Version : 1.2
Creation Time : Mon Jan 13 16:28:47 2016
Raid Level : raid5 //raid类型
Array Size : 2095104 (2046.34 MiB 2145.39 MB)
Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)
Raid Devices : 3 //组中设备的数量
Total Devices : 4 //总设备数
Persistence : Superblock is persistent
Update Time : Mon Jan 13 16:34:51 2016
State : clean //状态,卫生的,哈哈
Active Devices : 3 //活跃3个
Working Devices : 4 //4个在工作
Failed Devices : 0 //坏了1就危险了,2个就完蛋了
Spare Devices : 1 //热备的1个。
Layout : left-symmetric
Chunk Size : 512K //校验码大小
Number Major Minor RaidDevice State
0 8 48 0 active sync /dev/sdd //同步
1 8 64 1 active sync /dev/sde //同步
4 8 80 2 active sync /dev/sdf //同步
3 8 96 - spare /dev/sdg
5. 模拟一块硬盘损坏,并移除
终端一:
[root@qianfeng ~]# watch -n 0.5 'mdadm -D /dev/md0 | tail' //watch持续查看
终端二:
[root@qianfeng ~]# mdadm /dev/md0 -f /dev/sde -r /dev/sde
//模拟坏了并移除
-f --fail
-r --remove
谢谢您的阅读!!