云计算第七章储存管理高级课程
1文件系统详解
EXT3/4文件系统
简介
类型 索引index文件系统 索引 就是目录 字典的前十几页
系统限制
EXT3 文件系统最大16TB
EXT4 文件系统最大16TB
XFS 文件系统最大100TB
图示
名词
inode
记录文件的属性(文件的元数据metadata)
元数据 文件的属性 大小权限属主 属组 连接数 快数量 快的编号
一个文件占用一个inode,同时记录此文件数据所在的block numbber
inode大小为128bytes
block
储存文件的实际数据
实际储存文件的内容 若文件较大 会占用多个block
block大小为默认为4k
superblock
1block与inode的总理
2 未使用与已使用的block与inod的数量
示例1 inode
创造一个文件,观察inode信息
ll -l -i 文件名
示例2 block
问题1 分区中 文件的数量和什么有关系
1 观察某个分区中的inode节点数
df -i
[root@localhost ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 228622 463 228159 1% /dev
tmpfs 232878 1 232877 1% /dev/shm
tmpfs 232878 1040 231838 1% /run
tmpfs 232878 16 232862 1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848 156605 8754243 2% /
/dev/sda1 524288 341 523947 1% /boot
tmpfs 232878 23 232855 1% /run/user/0
/dev/sdb1 65536 11 65525 1% /mnt/disk1
/dev/mapper/vg1-lv2 575488 14 575474 1% /mnt/lv2
touch /mnt/disk1/1.txt
df -i | grep sde1 大小是12
rm -rf *.txt
touch /mnt/disk1/file(1…65527)
大小是65526 会显示65527没有空间
数数量
ls -l | wc -l 65527
touch aaa.txt 没有空间
问题2 当分区空间大小消耗完毕 还能否新增文件
可以写数据 vim
dd if=/dev/zero of=/mnt/disk1/aaa.txt bs=1M count=1000
watch -n0.5 ’df -ht | grep sde1‘
cho 11111 >> aaa.txt 会提示没有空间
2文件链接
1符号链接
名词解释 symbolic link /软链接
示例
1创建一个文件并输入内容
echo 111 > /file1
cat /file1
2创建一个软链接
ln -s /file1 /root/桌面/file11
3观察软链接
ls -l /file1 类型-
ls -l /root/桌面/file11 类型是l
4观察软链接文件的inode 是新的 内容是6就是原文件的绝对路径
echo 123 >> /file1
5查看两个文件内容一致
cat file1 会和桌面内容一样
6删除源文件软链接闪烁不可用
rm -rf /file1
ll /root/桌面/file11
总结
软连接像快捷方式,可以对文件和目录做软链接
软连接记录的只是源文件的 绝对路径
软链接失去源文件不可用
2硬链接
1创建同分区硬链接成功,创建不同分区硬链接失败
echo 222 > /file2
ln /file2 /file2-h1
[root@localhost disk1]# ls -l /file2 /file2-h1
-rw-r--r--. 2 root root 4 11月 2 16:30 /file2
-rw-r--r--. 2 root root 4 11月 2 16:30 /file2-h1
ln file2 /home/file2-h2 加-s 就是软链接
[root@localhost disk1]# ls -l /file2 /file2-h2
-rw-r--r--. 3 root root 4 11月 2 16:30 /file2
-rw-r--r--. 3 root root 4 11月 2 16:30 /file2-h2
[root@localhost disk1]# ll /file2 /file2-h1 /file2-h2
-rw-r--r--. 3 root root 4 11月 2 16:30 /file2
-rw-r--r--. 3 root root 4 11月 2 16:30 /file2-h1
-rw-r--r--. 3 root root 4 11月 2 16:30 /file2-h2
[root@localhost disk1]# cat /file2
222
[root@localhost disk1]# rm *rf /file2
rm: 无法删除"*rf": 没有那个文件或目录
rm:是否删除普通文件 "/file2"?^[[A^[[D^[[D^[[D^C
[root@localhost disk1]# rm -rf /file2
[root@localhost disk1]# ll /file2 /file2-h1 /file2-h2
ls: 无法访问/file2: 没有那个文件或目录
-rw-r--r--. 2 root root 4 11月 2 16:30 /file2-h1
-rw-r--r--. 2 root root 4 11月 2 16:30 /file2-h2
[root@localhost disk1]#
[root@localhost disk1]# cat /file2-h1 /file2-h2
222
222
//将文件已硬链接方式,发送到其他分区结果是
不能跨区
2硬链接的inode号相同,但并不占用block,使用di -k观察硬链接数量无电话
ln /file2 /file2-h1
[root@localhost disk1]# ls -l /file2 /file2-h1
-rw-r--r--. 2 root root 4 11月 2 16:30 /file2
-rw-r--r--. 2 root root 4 11月 2 16:30 /file2-h1
ln file2 /home/file2-h2 加-s 就是软链接
[root@localhost disk1]# ls -l /file2 /file2-h2
-rw-r–r–. 3 root root 4 11月 2 16:30 /file2
-rw-r–r–. 3 root root 4 11月 2 16:30 /file2-h2
3不允许将硬链接指向目录
ln /home/mnt
总结
硬链接只能针对文件做,不能对目录做
硬链接只能在同分区做
3RAID(了解)
简介
RAID 廉价磁盘沉鱼阵列
作用 容错 提升读写速率
类型
RAID0 条带集 2快磁盘以上 读写速率快 100%*n 但不容错
RAID1 镜像集 2快磁盘 容量50% 读写速率一样
RAID5 带奇偶校验条 带集 3快磁盘以上 利用率(n-1)/n 读写速率快 容错
1不同场景RAID 的使用
硬RAID0 需要RAID0卡 有自己的cpu处理速度快 有电池和无电池
软RAID0 通过操作系统实现 比如Windows,Linux
2 软RAID 示例
1准备4快硬盘
三个数据盘 一个热备盘
ll /dev/sd*
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 10月 31 20:16 /dev/sda
brw-rw----. 1 root disk 8, 1 10月 31 20:16 /dev/sda1
brw-rw----. 1 root disk 8, 2 10月 31 20:16 /dev/sda2
brw-rw----. 1 root disk 8, 16 10月 31 20:16 /dev/sdb
brw-rw----. 1 root disk 8, 32 10月 31 20:16 /dev/sdc
brw-rw----. 1 root disk 8, 48 10月 31 20:16 /dev/sdd
brw-rw----. 1 root disk 8, 64 10月 31 20:16 /dev/sde
brw-rw----. 1 root disk 8, 80 10月 31 20:16 /dev/sdf
brw-rw----. 1 root disk 8, 96 10月 31 20:16 /dev/sdg
brw-rw----. 1 root disk 8, 112 10月 31 20:16 /dev/sdh
brw-rw----. 1 root disk 8, 128 10月 31 20:16 /dev/sdi
2创建RAID
yum -y install mdadm // 确保命令可用
-C 创建RAID /dev/md0 第一个RAID设备 -l5 RAID5
-n RAID成员的数量 -x 热备磁盘的数量 可用空间2G
[root@localhost ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
3格式化挂载
格式化
mkfs.ext4 /dev/md0
mkdir /mnt/raid5
mount /dev/md0 /mnt/raid5
cp -rf /etc /mnt/raid5/etc1
4查看RAID信息
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 894M 0 894M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.4G 13G 26% /
/dev/sda1 xfs 1014M 185M 830M 19% /boot
tmpfs tmpfs 182M 44K 182M 1% /run/user/0
/dev/md0 ext4 3.9G 62M 3.6G 2% /mnt/raid5
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Nov 2 19:03:02 2023
Raid Level : raid5
Array Size : 4188160 (3.99 GiB 4.29 GB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu Nov 2 19:07:53 2023
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 : 5ca6edc5:acb5f0b3:4e3a64fd:c1b84fef
Events : 18
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
3 8 64 - spare /dev/sde
5模拟一块硬盘坏了并移除
持续查看
watch -n 0.5 ‘mdadm -D /dev/md0 | tail | tail -10’
强制干掉
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb -r /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
mdadm: hot removed /dev/sdb from /dev/md0
查看数据
[root@localhost ~]# ls /mnt/raid5/
etc1 lost+found
6设置RAID开机生效
参考