本章节继续对存储管理进行讲解
EXT4文件系统讲解
简介
-
名词解释
EXT4是第四代扩展文件系统(Fourth extended filesystem)
XFS是一种高性能日志文件系统 -
类型
都属于索引(index)式文件系统 -
系统限制
EXT3:文件系统最大16TB
EXT4:文件系统最大16TB
XFS:文件系统最大100TB -
图示
-
名词
inode :索引节点 记录文件的属性(文件的元数据metadata),一个文件占用一个inode,同时记录文件数据所在的block number,inode大小为128bytes
元数据:文件的属性、大小、权限、属主、属组、连接数、块数量、块的编号。
block:存储文件的实际数据。实际存储文件的内容,若文件较大,会占用多个block。block的大小默认为4K。
superblock:1. block与inode的总量;2.未使用与已使用的inode/block数量。
block group:块组,组成文件系统
block bitmap:对应block的使用情况
文件链接
软连接
[root@localhost ~]# #软链接
您在 /var/spool/mail/root 中有新邮件
[root@localhost ~]# #创建一个文件并输入内容
[root@localhost ~]# echo "this is a symbolic link" > file001
[root@localhost ~]# ln -s file001 file001-link
[root@localhost ~]# cat file001 file001-link
this is a symbolic link
this is a symbolic link
[root@localhost ~]# ll file001 file001-link
-rw-r--r--. 1 root root 24 8月 7 20:37 file001
lrwxrwxrwx. 1 root root 7 8月 7 20:37 file001-link -> file001
[root@localhost ~]# rm -rf file001
[root@localhost ~]# ll file001-link
lrwxrwxrwx. 1 root root 7 8月 7 20:37 file001-link -> file001
- 总结
软连接像快捷方式,可以对文件和目录做软连接。软连接记录的只是源文件的绝对路径。软连接失去源文件不可用。
硬链接
[root@localhost ~]# echo "this is a link" > file002
[root@localhost ~]# ln file002 file002-link
[root@localhost ~]# cat file002 file002-link
this is a link
this is a link
[root@localhost ~]# ll file002 file002-link
-rw-r--r--. 2 root root 15 8月 7 20:40 file002
-rw-r--r--. 2 root root 15 8月 7 20:40 file002-link
[root@localhost ~]# rm -rf file002
#删除后不影响链接
[root@localhost ~]# cat file002-link
this is a link
[root@localhost ~]# ln /home /etc
ln: "/home": 不允许将硬链接指向目录
- 总结
硬链接删除源文件后还可以使用,不同分区硬链接无法创建,硬链接只能针对文件做,不能针对目录做。
RAID(了解)
简介
RAID:廉价磁盘冗余阵列(Redundant Array of Independent Disks)
作 用:容错、提升读写速率
类型:
- RAID0
RAID0 条带集 2块磁盘以上, 读写速率快 100%*N,但不容错 - RAID1
RAID1 镜像集 2块磁盘, 容量50% ,读写速率一般,容错 - RAID5
RAID5 带奇偶校验条带集 3块磁盘以上,利用率 (n-1)/n 读写速率快,容错。
- 总结
不同情况下的RAID的使用
- 硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池。
- 软RAID: 通过操作系统实现,比如Windows、Linux
以RAID5为例配置软RAID
准备四块硬盘,其中三块数据盘,一块热备硬盘。
#查看当前硬盘
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 8月 7 19:56 /dev/sda
brw-rw----. 1 root disk 8, 1 8月 7 19:56 /dev/sda1
brw-rw----. 1 root disk 8, 2 8月 7 19:56 /dev/sda2
brw-rw----. 1 root disk 8, 16 8月 7 20:19 /dev/sdb
brw-rw----. 1 root disk 8, 32 8月 7 20:08 /dev/sdc
brw-rw----. 1 root disk 8, 48 8月 7 20:08 /dev/sdd
brw-rw----. 1 root disk 8, 64 8月 7 20:08 /dev/sde
brw-rw----. 1 root disk 8, 80 8月 7 19:56 /dev/sdf
brw-rw----. 1 root disk 8, 96 8月 7 19:56 /dev/sdg
brw-rw----. 1 root disk 8, 112 8月 7 19:56 /dev/sdh
brw-rw----. 1 root disk 8, 128 8月 7 19:56 /dev/sdi
#创建RAID
[root@localhost ~]# mdadm -C /dev/md5 -l5 -n3 -x1 /dev/sd{f,g,h,i}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
-C 创建RAID
/dev/md0 第一个RAID设备
-l5 RAID5
-n RAID成员的数量
-x 热备磁盘的数量
可用空间2G
#格式化
[root@localhost ~]# mkfs.ext4 /dev/md5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
655360 inodes, 2618880 blocks
130944 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
#挂载
[root@localhost ~]# mkdir /mnt/raid05
[root@localhost ~]# mount /dev/md5 /mnt/raid05
[root@localhost ~]# cp -rf /etc /mnt/raid05/etc1 #向raid05硬盘内写入etc下的文件
[root@localhost ~]# #查看RAID信息
[root@localhost ~]# mdadm -D /dev/md5 #-D 查看详细信息
/dev/md5:
ersion : 1.2
Creation Time : Fri Aug 7 20:20:51 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: Fri Aug 7 20:25:10 2020
State: clean
Actice Device:3
Working Devices : 4
Faild Devices : 0
Spare Devices : 1
Layout :Left - symmetric
chunk Size: 512K
Consistency Policy:resync
Name:localhost.localdomain:5 (local to host localhost.localdomain)
UUID: 9c882979:b8d25133:82cdd7ef:ddbe3f7a
Events : 20
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
终端1:
[root@localhost ~]# watch -n 0.5 'mdadm -D /dev/md0 | tail'
#使用 watch持续查看 每隔0.5s
如图,我们可以看到共有四块硬盘,Number为3的硬盘为热备盘
新建终端二,模拟数据盘损坏并移除硬盘f:
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdf -r /dev/sdf
# -f --fail -r --remove
如图,终端1出现rebuild status,热备盘开始进行spare rebuliding
等Rebuild Status :68% complete加载到100%时,热备盘3状态变为 active sync 同步化。
此时,RAID5的实验结束。RAID5可以容错一块磁盘。并且数据不会丢失。