文件系统
EXT4文件系统
1.简介
现代文件系统(例如Ext4和XFS等)具有多种附加特性,不仅扩展了文件系统的应用场景,而且使得文件系统的容错性(例如日志特性)和性能得到很大的提高,主要类型是索引(index)文件系统,
EXT4:是第四代扩展文件系统(Fourth extended filesystem)
XFS:一种高性能的日志文件系统
- 文件系统限制
Ext3: 文件系统最大16TB
Ext4: 文件系统最大16TB
XFS : 文件系统最大100TB.
- inode :索引节点
记录文件的属性(文件的元数据metadata),
元数据:文件的属性,大小,权限,属主,属组,连接数,块数量,块的编号
一个文件占用一个inode,同时记录此文件数据所在的block numbber。
inode大小 为 128 bytes - block(块): 存储文件的实际数据,实际存储文件的内容,若文件较大,会占用多个block,block大小 为默认为4K.
- superblock(超级块):block 与 inode 的总量;未使用与已使用的 inode / block 数量;
- block group(块组) :Ext4文件系统将磁盘空间划分为若干组,以这一组为单位管理磁盘空间
2.示例
- 示例1:inode(index node 索引节点)
[root@localhost disk1]# touch 1.txt
[root@localhost disk1]# ll -i
总用量 16
12 -rw-r--r--. 1 root root 0 8月 3 20:43 1.txt
11 drwx------. 2 root root 16384 8月 3 20:32 lost+found
[root@localhost disk1]#
- 示例2:block
[root@localhost disk1]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 120209 455 119754 1% /dev
tmpfs 124468 1 124467 1% /dev/shm
tmpfs 124468 1051 123417 1% /run
tmpfs 124468 16 124452 1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848 156496 8754352 2% /
/dev/sda1 524288 340 523948 1% /boot
tmpfs 124468 20 124448 1% /run/user/0
/dev/sr0 0 0 0 - /run/media/root/CentOS 7 x86_64
/dev/sdb1 65536 **12** 65524 1% /mnt/disk1
/dev/sdb2 65536 11 65525 1% /mnt/disk2
/dev/sdb3 65536 11 65525 1% /mnt/disk3
/dev/sdb5 65536 11 65525 1% /mnt/disk5
/dev/sdb6 128016 11 128005 1% /mnt/disk6
/dev/sdb7 128016 11 128005 1% /mnt/disk7
[root@localhost disk1]# touch 2.txt
[root@localhost disk1]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 120209 455 119754 1% /dev
tmpfs 124468 1 124467 1% /dev/shm
tmpfs 124468 1051 123417 1% /run
tmpfs 124468 16 124452 1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848 156496 8754352 2% /
/dev/sda1 524288 340 523948 1% /boot
tmpfs 124468 20 124448 1% /run/user/0
/dev/sr0 0 0 0 - /run/media/root/CentOS 7 x86_64
/dev/sdb1 65536 **13** 65523 1% /mnt/disk1
/dev/sdb2 65536 11 65525 1% /mnt/disk2
/dev/sdb3 65536 11 65525 1% /mnt/disk3
/dev/sdb5 65536 11 65525 1% /mnt/disk5
/dev/sdb6 128016 11 128005 1% /mnt/disk6
/dev/sdb7 128016 11 128005 1% /mnt/disk7
重新建立了一个新文件 星号处inode节点数从12变成了13
inode决定了文件系统中文件的数量,block决定了文件存储的空间。
磁盘空间的限制根据inode和block两方面
文件链接
软连接(symbolic link)
-
软连接像快捷方式,可以对文件和目录做软连接,软连接记录的只是源文件的绝对路径,软连接失去源文件不可用。
-
示例
创建文件 输入内容
[root@localhost ~]# echo 111 > /file1
创建软链接
ln -s
[root@localhost ~]# ln -s /file1 /home/file11
观察软连接
扫描二维码关注公众号,回复:
11563566 查看本文章
[root@localhost~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
观察软链接文件
[root@localhost ~]# 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
查看文件内容
[root@localhost ~]# cat /file1
111
[root@localhost~]# cat /home/file11
111
文件内容一致
删除源文件
[root@localhost ~]# rm -rf /file1
[root@localhost ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
会发现软链接一直闪烁 ,表示为不可用
硬链接
-
硬链接相当于是为一个存在的文件创建一个指针
不能为目录创建硬链接,只能为文件创建
只有同一个文件系统中的文件之间才能创建硬链接,只能同分区操作 -
示例
创建硬链接
[root@qianfeng ~]# echo 222 > /file2
[root@qianfeng ~]# ln /file2 /file2-h1
[root@qianfeng ~]# ln /file2 /home/file2-h2
ln: failed to create hard link ‘/home/file2-h2’ => ‘/file2’: Invalid cross-device link
//将文件已硬链接方式,发送到其他分区,显示结果是错误的
创建同分区硬链接成功,创建不同分区硬链接失败
[root@localhost ~]#rm -rf /file2
[root@localhost ~]#cat /file2-h1
222
硬链接删除源文件,依然可以用
[root@localhost home]# ln /home/ /mnt
ln: “/home/”: 不允许将硬链接指向目录
不允许将硬链接指向目录
RAID
简介作用
- RAID:廉价磁盘冗余阵列(Redundant Array of Independent Disks)
- 作 用:容错、提升读写速率
RAID的类型
- RAID0
RAID0 条带集 2块磁盘以上, 读写速率快 100%*N,但不容错 - RAID1
RAID1 镜像集 2块磁盘, 容量50% ,读写速率一般,容错 - RAID5
RAID5 带奇偶校验条带集 3块磁盘以上,
利用率 (n-1)/n 读写速率快,容错 - 不同场景RAID的使用
硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池。
软RAID: 通过操作系统实现,比如Windows、Linux
- 示例
准备四块硬盘
RAID5 :(3块数据盘) + (1块热备硬盘)
[root@localhost ~]# 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
创建RAID
[root@localhost ~]# 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@localhost ~]# yum -y install mdadm
//确保mdadm命令可用
格式化,挂载
[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
查看RAID信息
[root@localhost ~]# 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
模拟一块硬盘损坏,并移除
终端一:
[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