系统限制:
ext3: 文件系统最大16TB
ext4: 文件系统最大16TB
xfs : 文件系统最大100TB
名词:
inode:索引节点
记录文件的属性,一个文件占用一个inode,同时记录此文件数据所在的块编号,inode大小为 128 bytes
block:块
存储文件的实际数据,若文件较大,会占用多个block。block大小为默认4k
superblock:超级块
block与inode的总量,未使用和以使用的数量
block group:块组
文件系统将磁盘分为若干组,以这一组来管理磁盘空间,这一组就叫做块组。可以更方便的管理磁盘
软链接
symbolic link
创建一个文件并输入内容
[root@localhost ~]# echo 111 > /file1
创建一个软链接
[root@localhost ~]# ln -s /file1 /home/file11 (-s) 软连接
观察软链接文件
[root@localhost ~]# ll /file1 /home/file11
-rw-r--r--. 1 root root 4 8月 3 19:29 /file1
lrwxrwxrwx. 1 root root 6 8月 3 19:30 /home/file11 -> /file1
查看两个文件,内容一致
[root@localhost ~]# cat /file1 /home/file11
111
111
删除源文件,软链接闪烁,不可用
[root@localhost ~]# rm -rf /file1
[root@localhost ~]# ll /home/file11
lrwxrwxrwx. 1 root root 6 8月 3 19:30 /home/file11 -> /file1
软链接像快捷方式,可以对文件和目录做软链接。软连接记录的只是源文件的绝对路径,链接失去源文件不可用
硬链接
创建同分区硬链接成功,创建不同分区硬链接失败。
[root@localhost ~]# echo 111 > file1
[root@localhost ~]# ln file1 /home/lile1
root@localhost ~]# ln file1 /mnt/disk1
ln: 无法创建硬链接"/mnt/disk1/file1" => "file1": 无效的跨设备连接
删除源文件,硬链接依然可用
[root@localhost ~]# rm -rf /file1
[root@localhost ~]# cat /home/lile1
111
不允许将硬链接指向目录
[root@localhost ~]# ln /home /mnt/
ln: "/home": 不允许将硬链接指向目录
硬链接只能针对文件做,不能对目录做,也只能在同分区做
磁盘阵列
RAID:廉价磁盘冗余阵列,
作用:容错,提升读写速率
类型:
RAID0:RAID0 2块磁盘以上,读写速率快 100%*N,但不容错
RAID1:RAID1 镜像集2块磁盘,容量50%,读写速率一般,容错
RAID5:RAID5带奇偶校验条带集,三块磁盘以上,利用率(N-1)/n 读写速率快,容错
不同场景RAID的使用
硬RAID:需要RAID卡,有自己的CPU,处理速度快,有电池和无电池。
软RAID:通过操作系统实现,比如Windows,linux
软RAID示例
准备四块硬盘(三块数据盘+一块热备硬盘)
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 8月 3 08:33 /dev/sda
brw-rw----. 1 root disk 8, 1 8月 3 08:33 /dev/sda1
brw-rw----. 1 root disk 8, 2 8月 3 08:33 /dev/sdb
brw-rw----. 1 root disk 8, 16 8月 3 08:33 /dev/sdc
brw-rw----. 1 root disk 8, 17 8月 3 08:33 /dev/sdd
brw-rw----. 1 root disk 8, 17 8月 3 08:33 /dev/sde
创建RAID
[root@localhost ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}
-C 创建RAID
/dev/md0 第一个RAID设备
-l5 RAID5
-n RAID成员的数量
-x热备磁盘的数量
格式化,挂载
[root@localhost ~]# mkfs.ext4 /dev/md0
[root@localhost ~]# mkdir /mnt/raid5
[root@localhost ~]# mount /dev/md0 /mnt/raid5
模拟一块硬盘损坏,并移除
[root@localhost ~]# mdadm /dev/md0 -f /dev/sde -r /dev/sed
-f : fail (损坏)
-r :remove (移除)