文章目录

  • 一、文件系统详解
    • 1、名词解释
    • 2、示例
  • 二、文件链接:
    • 1、软连接
    • 2、硬链接
    • 3、面试题
  • 三、RAID
    • 1、RAID 分类
      • (1)RAID 0
      • (2)RAID 1
      • (3)RAID 5
    • 2、软RAID示例

一、文件系统详解

1、名词解释

inode(索引节点):
一个文件占用一个inode,同时记录此文件数据所在的block numbber。inode大小 为 128 bytes
block:
存储文件的实际数据。实际存储文件的内容,若文件较大,会占用多个block。block大小 为默认为4K
superblock:
1 block 与 inode 的总量; 2未使用与已使用的 inode / block 数量;
block group:
块组

2、示例

前提:拥有一个分区(以/dev/sdf1为例)
1.用df -i查看inode节点数

[root@localhost ~]# df -i
文件系统                  Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs                 478410     495  477915       1% /dev
tmpfs                    482667       1  482666       1% /dev/shm
tmpfs                    482667    1611  481056       1% /run
tmpfs                    482667      16  482651       1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848  156090 8754758       2% /
/dev/sda1                524288     341  523947       1% /boot
tmpfs                    482667       6  482661       1% /run/user/42
tmpfs                    482667      18  482649       1% /run/user/0
/dev/sr0                      0       0       0        - /run/media/root/CentOS 7 x86_64
/dev/sdf1                 25688      11   25677       1% /mnt/sdf1

2.在/mnt/sdf1/中创建一个file.txt文件

[root@localhost ~]# touch /mnt/sdf1/file.txt

3.再使用df -i查看,发现已用由11变为12

[root@localhost ~]# df -i
文件系统                  Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs                 478410     495  477915       1% /dev
tmpfs                    482667       1  482666       1% /dev/shm
tmpfs                    482667    1611  481056       1% /run
tmpfs                    482667      16  482651       1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848  156090 8754758       2% /
/dev/sda1                524288     341  523947       1% /boot
tmpfs                    482667       6  482661       1% /run/user/42
tmpfs                    482667      18  482649       1% /run/user/0
/dev/sr0                      0       0       0        - /run/media/root/CentOS 7 x86_64
/dev/sdf1                 25688      12   25676       1% /mnt/sdf1

4 创造大量文件。观察inode使用情况。touch file{1…30000}

[root@localhost ~]# touch /mnt/sdf1/file{1..30000}
touch: 无法创建"/mnt/sdf1/file25677": 设备上没有空间
touch: 无法创建"/mnt/sdf1/file25678": 设备上没有空间
touch: 无法创建"/mnt/sdf1/file25679": 设备上没有空间
touch: 无法创建"/mnt/sdf1/file25680": 设备上没有空间
略

5.结论:inode决定了文件系统中文件的数量。
6.之后向目标分区写入大量数据,填满

[root@localhost ~]#dd   if=/dev/zero     of=/mnt/sdf1/file.txt    bs=1k    count=100000(分区为100M大小)

7.结论:block决定了文件存储的空间。

二、文件链接:

1、软连接

除了硬链接以外,还有一种特殊情况文件。A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(softlink)或者"符号链接(symbolic link)。

这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:“No such file ordirectory”。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。

1.创建一个文件,并输入内容。

[root@localhost ~]# echo 111 > /file1

2.建一个软连接。

[root@localhost ~]# ln -s /file1 /home/file11  //-s  软连接

3.观察软连接

[root@localhost ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1

4.观察软连接文件

[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

5.查看两个文件,内容一致。

[root@localhost ~]# cat /file1
111
[root@localhost ~]# cat /home/file11
111

6.删除源文件,软连接闪烁,不可用。

[root@localhost ~]# rm -rf /file1
[root@localhost ~]# ll /home/file11
lrwxrwxrwx 1 root root 6 Dec 20 17:58 /home/file11 -> /file1

总结:

  1. 软连接像快捷方式,可以对文件和目录做软连接。
  2. 软连接记录的只是源文件的路径。
  3. 软连接失去源文件不可用。

2、硬链接

一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。
这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hardlink)。

[root@youngfit.com ~]# echo 222 > /file2
[root@youngfit.com ~]# ll -i /file2                 #-i:显示inode编号
34045994 -rw-r--r-- 1 root root 4 Dec 29 20:52 file2
[root@youngfit.com ~]# ln /file2 /file2-h1
[root@youngfit.com ~]# ll -i /file2 /file2-h1       #查看inode号
34045994 -rw-r--r-- 2 root root 4 7月  30 22:25 /file2
34045994 -rw-r--r-- 2 root root 4 7月  30 22:25 /file2-h1[root@youngfit.com ~]# rm -rf /file2                #删除源文件
[root@youngfit.com ~]# ll -i /file2-h1              #查看链接文件
34045994 -rw-r--r--. 3 root root 4 Nov  9 15:01 /file2-h1
查看:
[root@youngfit.com ~]# cat /file2-h1
222

运行上面这条命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中有一项叫做"链接数",记录指向该inode的文件名总数,这时就会增加1。

反过来,删除一个文件名,就会使得inode节点中的"链接数"减1。当这个值减到0,表明没有文件名指向这个inode,系统就会回收这个inode号码,以及其所对应block区域。

注:

  1. 硬链接不能跨文件系统
  2. 不支持目录做硬链接

3、面试题

软链接和硬链接的区别:

  • 软链接可以跨文件系统,硬链接不可以;
  • 软链接可以对目录进行连接,硬链接不可以;
  • 删除源文件之后,软链接失效,硬链接无影响;
  • 两种链接都可以通过命令 ln 来创建;
  • ln 默认创建的是硬链接;
  • 使用 -s 参数可以创建软链接。

三、RAID

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。
注意:所有服务器在安装操作系统之前必须先做raid【常识】

1、RAID 分类

(1)RAID 0

单独的一个磁盘可以被认为是一个RAID 0 阵列。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有容错功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

读写速率快 100%N,但不容错

(2)RAID 1

RAID 1至少要有两个(只有两个)硬盘才能组成,因此也称为镜像(Mirroring)方式。这种硬盘模式的安全性是非常高的,RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。
利用率50%,容错最高

(3)RAID 5

RAID 5 和RAID 3极为相似,都是数据分条,奇偶校验产生冗余。但是,它不采用一个固定的硬盘来存储奇偶校验值,所有数据和校验值都分布在所有硬盘上。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。因此RAID5是RAID级别中最常见的一个类型。
利用率 (n-1)/n 读写速率快,容错较好
1+1=2 其中某一个损坏,另外两个磁盘可以反推出损坏盘的数据

2、软RAID示例

1.准备4块硬盘。

[root@localhost ~]# ll /dev/sd*  //RAID5 :(3块数据盘) + (1块热备硬盘)

2.创建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

3.格式化,挂载

[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

4.查看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 persistentUpdate 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
Cunk 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@localhost ~]# watch -n 0.5 'mdadm -D /dev/md0 | tail' //watch持续查看
终端二:
[root@localhost ~]# mdadm /dev/md0 -f /dev/sde -r /dev/sde
//模拟坏了并移除-f --fail-r --remove

Linux系统配置及服务管理_第07章_存储管理2相关推荐

  1. Linux系统配置及服务管理_第10章_计划任务日志管理

    一.计划任务 简介: 作用:计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据. 分类: 一次性调度执行 at 循环调度执行 cron 1.一次性调度执行 at (1)安装 yum -y ...

  2. 云计算基础之Linux系统配置及服务管理 第01章_系统部署

    第01章_系统部署 一.GNU/Linux 的历史 一)自由软件之父 理查德·斯托曼(Richard M. Stallman) 1984 GNU Copyleft OpenSource Free GP ...

  3. Linux系统配置及服务管理_02章_文件和用户管理

    文章目录 一.文件管理命令 Linux目录结构 1.1.创建文件 1.2. 创建目录 1.3. 复制 1.4.移动 1.5.删除 1.6.查看文件 1.7.修改文件内容 1.8.文件类型 二.用户管理 ...

  4. linux文件管理服务,linux系统配置及服务管理_文件管理

    一.linux目录结构 windows:以多根的方式组织文件如 C\ D\ E\ Linux:以单根的方式组织文件 \ 图示: 1.目录介绍:bin普通用户使用命令 /bin/ls,/bin/date ...

  5. Linux系统配置及服务管理_第03章用户管理

    大家好,我是霸王卸甲,昨天因为工作上的事情,忘记更了,今天上午补上昨天的文章,每周周六周日停更两天. 1.用户/组基本概念: ①概念:Users and groups: . Every process ...

  6. Linux系统配置及服务管理-06-存储管理

    基本分区 磁盘简介 磁盘/硬盘/disk是一个东西,不同于内存的是容量比较大. 类型 从工作原理区分 机械 机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接 ...

  7. Linux系统配置及服务管理-网络管理实战1

    一.OSI简介 简介 1.OSI Open System Interconnection 开放系统互联模型 2.开放式系统互联 国际标准化组织(ISO)制定 定义了不同计算机互联的标准 设计和描述,计 ...

  8. Linux系统配置及服务管理--文件管理

    Linux目录结构 WINDOWS/LINUX目录对比 Windows: 以多根的方式组织文件 C:\ D:\ E: Linux: 以单根的方式组织文件 / 简介 /目录结构: FSH (Filesy ...

  9. 云计算 Linux系统配置及服务管理 (一)系统部署

    一.GNU/Linux 的历史 • 1.自由软件之父 • Richard M. Stallman 1984 GNU Copyleft OpenSource Free GPL既然是历史,就让它成为历史吧 ...

最新文章

  1. android自定义尺子收集demo
  2. python语法速成方法_30分钟学完Python基础语法
  3. 我丢,去面试初级Java开发岗位,被问到泛型?
  4. JBoss BRMS 5.3 –添加了业务活动监视(BAM)报告
  5. 如何在读研读博的道路上迅速失败?
  6. 【项目管理】虚拟团队
  7. Git Stash解释:如何在Git中临时存储本地更改
  8. Google、Baidu
  9. 几何画板椭圆九种画法_几何画板怎么制作椭圆定义演示动画?
  10. 内存映射文件mmap
  11. 什么是客户旅程分析(customer journey mapping)
  12. PS把图片切成九宫格
  13. 草图大师怎么取消组件关联_sketchup取消隐藏(草图大师里取消全部隐藏快捷键)...
  14. gnuradio+b210实现FM收音机
  15. c++ 递归算法求全排列
  16. c语言栈训练题目:括号匹配
  17. 手把手教你用Python自制拼图小游戏
  18. A/B-Test简介
  19. android去掉tablayout指示器自带的下划线
  20. ubuntu16.04的HDMI没有输出不能外接显示器

热门文章

  1. 对字符串进行信道编码C语言,【单选题】PCM编码主要用于实现模拟信号数字化,它属于( ) A. 信道编码 B. 纠错编码 C. 信源编码 D. 压缩编码...
  2. 关于盛大热血传奇(传奇2)!!!
  3. 重装系统教程(适合小白)
  4. 组装一台台式计算机的流程,如何组装电脑?组装电脑的操作流程!
  5. 大连理工计算机应用基础作业,2014秋大连理工大学《计算机应用基础》在线测试1...
  6. java socket / IM / Message / chat / liaotian / xmpp
  7. 小芳同学的错题总结(十四)
  8. 盘点一些网站的反爬虫机制
  9. 钢材缺陷检测系统-ui界面
  10. 计算机毕业设计SSM大学生社团管理系统【附源码数据库】