Linux存储管理-存储管理高级课程

文件系统详解

EXT4文件系统

简介:

类型

		索引(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

创造一个文件,观察inode信息。
ll -i 文件名

示例2:block

问题1:分区中,文件的数量和什么有关系。

1 观察某个分区中的inode节点数
df    -i 
2 创建一个文件
touch  文件名
3 再次观察inode节点数
df    -i 
4 创造大量文件。观察inode使用情况
touch  file{1..30000}
5 在另一个SHEEL,观察inode变化情况。
watch -n 2 'df -i'
6 请问最后,还能否创建新文件呢?
结论:inode决定了文件系统中文件的数量。
7.但是,能否向已存在的文件中写入内容呢?答案是?
结论:block决定了文件存储的空间。

问题2:当分区空间大小消耗完毕,还能否新增文件?

1 向目标分区写入大量数据,填满
dd   if=/dev/zero     of=/disk1/5.txt    bs=1k    count=1000
2 查看目标分区容量,已满
df -hT
3 创造新文件
touch
4 得出结论,磁盘空间的限制根据inode和block两方面
请清理掉填满的分区。避免不必要的报错。

文件链接

符号链接

			名词解释
				 symbolic link /软链接
			示例
				1 创建一个文件,并输入内容。
					[root@qianfeng ~]# echo 111 > /file1
				2 创建一个软连接。
					[root@qianfeng ~]# ln -s /file1 /home/file11
				3 观察软连接
					[root@qianfeng ~]# ll /home/file11 
					lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
				4 观察软连接文件
					[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
				5 查看两个文件,内容一致。
					[root@qianfeng ~]# cat /file1 
					111
					[root@qianfeng ~]# cat /home/file11 
					111
				6 删除源文件,软连接闪烁,不可用。
					[root@qianfeng ~]# rm -rf /file1 
					[root@qianfeng ~]# ll /home/file11 
					lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1
			总结
				软连接像快捷方式,可以对文件和目录做软连接。
				软连接记录的只是源文件的绝对路径。
				软连接失去源文件不可用。

硬链接

			1 创建同分区硬链接成功,创建不同分区硬链接失败。
				[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
			2 硬链接删除源文件,依然可以用
				[root@qianfeng ~]#rm -rf /file2
				[root@qianfeng ~]#cat    /file2-h1
				222
			3 不允许将硬链接指向目录
				[root@qianfeng home]# ln /home/ /mnt
				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

软RAID示例

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
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值