启动流程

  1. 一个系统需要运行至少要三部分:内核 库 程序
  2. 内核设计流派
    单内核设计:“中央集权制”,所有功能一个进程实现。 如Linux
    优点:效率高
    缺点:某一部分出现错误会影响整个内核
    微内核设计 :“联邦制” 每个功能都由子进程实现,才能真正执行线程模型。如 Windows,Solaris
    优点,某一部分出现错误不影响大局
    缺点,效率低

补充:

(1)驱动可以模块形式装入内核,驱动就是也可以称为模块

模块文件名与核心文件名后缀名字相同,里面存放各种模块和驱动程序

(2)系统启动时需要加载模块,然而模块在文件系统里,读取文件系统需要模块,所以

要ramdisk(centos5是模拟磁盘、centos6以上是模拟文件系统)在内存中找一个位置做为一个迷你文件系统用来存放读取文件系统所需要的的模块,加载文模块再进行根切换

(3)ramdisk:内核都有缓存机制,认为磁盘效率慢会拷贝一份到内存中,然而ramdisk本来就在内存中,所以centos5的模拟磁盘(initrd)改进到centos6的文件系统(initramfs)就不会出现拷贝问题

(4)

重置bios开机慢_数据


重置bios开机慢_插入图片_02


4 启动加载内核

4.1BIOS 功能与描述: BIOS 功能与描述 (1)POST是如何进行自检测的?

(BIOS是一个程序,是固化在主板的BIOS ROM芯片 里面的,它相当于硬件底层的一个操作系统,控制着硬件的工作。

BIOS中主要存放:自诊断程序:通过读取CMOS RAM中的内容识别硬件配置,并对其进行自检和初始化;CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中;系统自举装载程序:在自检成功后将磁盘相对0道0扇区上的引导程序装入内存,让其运行以装入DOS系统;)

主板在接通电源后,系统首先由(Power On Self Test,上电自检)程序来对内部各个设备进行检查。

在我们按下起动键(电源开关)时,系统的控制权就交由BIOS来完成,由于此时电压还不稳定,主板控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU初始化,同时等待电源发出的POWER GOOD信号(电源准备好信号)。当电源开始稳定供电后(当然从不稳定到稳定的过程也只是短暂的瞬间),芯片组便撤去RESET信号(如果是手动按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,这个地址在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。系统BIOS的启动代码首先要做的事情就是进行POST(Power On Self Test,加电自检),由于电脑的硬件设备很多(包括存储器、中断、扩展卡),因此要检测这些设备的工作状态是否正常。 这一过程是逐一进行的,BIOS厂商对每一个设备都给出了一个检测代码(称为POST CODE 即开机自我检测代码)

在完成POST自检后,BIOS将按照系统CMOS设置中的启动顺序搜寻软盘驱动器、硬盘驱动器、光驱、网络服务器等有效的启动驱动设备,读入操作系统的引导记录,然后将系统控制权移交给引导记录,由引导记录完成操作系统的启动。

4.2:MBR

重置bios开机慢_重置bios开机慢_03


GRUB第一步先找到设定的内核位置,(第一点五步 加载驱动(文件系统驱动))第二步加载内核

重置bios开机慢_重置bios开机慢_04

注释:硬件本身或bootloader能识别硬盘本身而不能识别文件系统,MBR剩余空间会有能找到当前文件系统的驱动的设定

MBR组成:一共512B

446B:主引导程序(引导程序有很多,linux中的引导程序是GRUB)

grub配置文件 /boot/grub/grub.conf

64B:分区表 每个分区需要14B所以主分区最多4个

2B:magic numbe 标记MBR是否有效

重置bios开机慢_插入图片_05


5.

重置bios开机慢_重置bios开机慢_06


重置bios开机慢_数据_07


补充:

SysV:启动服务起非常慢,串行进行,一个启动完另一个才能启动

Upstart:兼容SysV,可以串行启动

Systemd:自身就有解释器功能,启动进行不需要借助其他解释器

如果进行不用就不会启动,但是会发出一个假信号让服务器以为进行已经启动,直到此进

程第一次被用到时才会加载初始化

以上总结:

重置bios开机慢_重置bios开机慢_08

6.系统启动流程概述

(1)BIOS读取到内存中进行硬件自检

(2)如果没问题就根据BIOS设置先找移动U盘(如果坏了就不会再找下一个设备)没有再找硬盘的MBR,然后会把

MBR 的主引导程序grub加载到内存BIOS退出

(3) 然后grub通过配置根据分区表找到内核并加载

(4)内核装在驱动 加载第一个程序/sbin/init

(5)init OS初始化,执行runlevel(运行级别)相关程序

(6)runlevel 启动指定级别分服务

7.

init进程管理的服务都在 /etc/rc.d/init.d目录下有服务执行脚本,在 /etc/rc.d/下的rc[0-6]份别对应相应的运行级别中需要关闭和开启的服务脚本(都是/etc/rc.d/init.d的软连接,按照一定的排序方式命名)

重置bios开机慢_插入图片_09


重置bios开机慢_重置bios开机慢_10


重置bios开机慢_重置bios开机慢_11


重置bios开机慢_重置bios开机慢_12


重置bios开机慢_文件系统_13


重置bios开机慢_文件系统_14


/etc/rc.d/init.d中配置有软连接命名数字

第一个数字“-” 表示在那些级别下为start,- 表示默认所有级别下都为K(stop)

第二个数字 表示设置成S(start)文件时文件开头命名

第三个数字 表示设置成K(stop)文件时文件开头命名

重置bios开机慢_数据_15


8.

重置bios开机慢_插入图片_16


例:

添加开机启动:

先编辑启动脚本

vim /etc/rc.d/init.d/文件名

重置bios开机慢_重置bios开机慢_17


chkconfig --add 后就会自动把执行文件根据文件容创建软连接到相应级别下的目录

重置bios开机慢_重置bios开机慢_18



重置bios开机慢_重置bios开机慢_19


9.

重置bios开机慢_文件系统_20


10.

centos6

重置bios开机慢_文件系统_21


11

重置bios开机慢_重置bios开机慢_22

grub

补充:若果不适用逻辑卷等复杂文件系统结构,boot可以不用单独分区(新磁盘)的

1.grub版本:

grub 0.x:grub legacy (centos5和centos6)

grub 1.x :grub 2 (centos7 完全重写)

2 步骤

重置bios开机慢_数据_23


3.stage2的功能:

重置bios开机慢_重置bios开机慢_24


4. grub的命令行接口 c

重置bios开机慢_数据_25


help:获取帮助列表

help KEYWORD :详细帮助信息

find (hd#,#)/PATH/TO/SOMEFILE: 查找文件是否存在

root (hd#,#) 设置grub的根

kernel /PATH/TO/kernel_FILE :指明内核文件(先root 设置根)、额外许多参数

initrd / PATH/TO/INITRAMFS_FILE 设置为选定内核提供额外文件ramdisk(假根)

boot:引导启动选定的内核


重置bios开机慢_重置bios开机慢_26


重置bios开机慢_插入图片_27


5.

重置bios开机慢_文件系统_28


重置bios开机慢_数据_29


6.安装grub 和相关配置并启动(攒一个简单系统)

补充:安装grub命令 : grub-install --root-directory=根的具体路径 具体磁盘

(1)添加一块新盘 分区格式化挂在

(2)安装grub

重置bios开机慢_重置bios开机慢_30


(3)编写grub配置文件

vim /mnt/boot/grub/grub.conf

重置bios开机慢_数据_31


(4)把根文件系统必要的目录进行创建

重置bios开机慢_重置bios开机慢_32


(5)可以吧bash当init来用启动第一个进程。拷贝bash配置文件、执行文件,查看相关库文件并拷贝,并切换根测试

补充:ldd本身不是一个程序,而仅是一个shell脚本:ldd可以列出一个程序所需要得动态链接库(so)

chroot 切换根

重置bios开机慢_重置bios开机慢_33


(6)创建一个用Vm虚拟机,首先查看新加盘的位置,并选定这个新加磁盘,其他默认

重置bios开机慢_插入图片_34


重置bios开机慢_数据_35


(7)启动不了还需要给内核传递个selinux参数,或者早grub配置文件里指明(敲e键)

重置bios开机慢_重置bios开机慢_36

磁盘故障恢复

补充:

1.MBR被破坏,但未损坏分区表,系统未关机

修复方法

(1)重新安装grub:

grub-install --root-directory=/ /dev/sda

(2)进入grub命令恢复(前提必须有grub目录,相关包都有的情况下才能恢复)

重置bios开机慢_重置bios开机慢_37

1.root密码找回:
			   (1)进入单用户模式
			   				系统启动三秒内摁上下键
			   				![在这里插入图片描述]()
			   				回进入下图,然后e键
			   				![在这里插入图片描述]()
			   				选择第二项继续e键
			   				![在这里插入图片描述]()
			   				然后直接空格然后输入1
			   				![在这里插入图片描述]()
			   				回车	
			   				![在这里插入图片描述]()
			   				然后按下b进入单用户模式
			   				然后直接passwd root 修改密码
2 /dev/sda 中的整个MBR(512)模拟损坏修复:注意这个需要做备份才能恢复
				备份到另一个磁盘
				dd if=/dev/sda of=/bakup/mbr.bak  bs=512 count=1
			模拟损坏
			dd if=/dev/zero of=/dev/sda bs=512 count=1
			重启会出现
			![在这里插入图片描述]()
			(1)挂在启动光盘进入救援模式第三行rescue(救援)回车
		
			
			![在这里插入图片描述]()
				(2)或者挂载光盘后桥ESC键盘 输入命令进入
				![在这里插入图片描述]()
				
			其他都选yes 设置网络选择no
			![在这里插入图片描述]()
			选择continue:扫描根分区如果找到就把根分区自动挂载到 /mnt/sysimage 
			![在这里插入图片描述]()
			下图是没有找到根分区
			![在这里插入图片描述]()
			然后选择启动一个shell,选第一个回车
			![在这里插入图片描述]()
			然后出现下图内容,所看到的东西是光盘的东西
		![在这里插入图片描述]()
			然后查看磁盘分区,可以看到因为MBR分区表破坏掉了所以sda没有分区,而sdb有一个分区,我们把MBR备份了sdb一份所以可以直接复制回来完成恢复
			![在这里插入图片描述]()
			先建一个子目录挂在sdb 备份还原
			![在这里插入图片描述]()
			然后exit退出找到Reboot重启就回复了
			![在这里插入图片描述]()
3 MBR中分区表没有破坏但是grub损坏:这个没有做备份也可以恢复
	模拟破坏grub
	dd if=/dev/zero of=/dev/sba bs=446 count=1
	现象跟MBR损坏一样
	![在这里插入图片描述]()
	步骤跟MBR一样挂在启动光盘进入救援模式,但是在点击continue扫描的时候就能够找到根分区并自动挂载
	![在这里插入图片描述]()
	然后会提示发现界面
	![在这里插入图片描述]()
	回车 选择shell项 然后出现命令行,根据提示执行 chroot  /mnt/sysimage 挂在真正的根分区而不是光盘模拟的根了
	然后grub-install /dev/sda   通过命令进行重装grub启动程序 然后exit退出重启 
	![在这里插入图片描述]()

4 MBR中grub程序中的配置文件出现故障

模拟移除grub.conf配置文件

mv /boot/grub/grub.conf /tmp

现象

重置bios开机慢_插入图片_38


因为硬盘的grub在所以不会再去找光盘所以需要进入bois设置光盘启动顺序

虚拟机进入的话下图按钮然后选择最后一项,服务器的话根据提示按F2进入bois

开关按钮→打开电源室进入固件

重置bios开机慢_文件系统_39


选择CD-ROM启动然后按+号上移

重置bios开机慢_文件系统_40


F10退出保存

然后重启光盘引导进入救援模式

然后chroot /mnt/sysimage 挂在根分区

然后或者备份恢复或者手动重写grub.conf 配置文件

重置bios开机慢_数据_41


也可以直接敲命令安装grub

exit退出重启

4.1 补充:

UEFI:UEFI启动可以看作是Bios的升级版,功能更强大。被看作是有近20多年历史的BIOS的继任者,其优势在于可以提高电脑开机后,进入操作系统的启动速度。

更安全

启动灵活

支持容量更大:

由于传统BIOS的MBR限制他的分区数量与大小都是由限的,随着硬盘价格的不断走低和普及UEFI支持更大容量会越来越成为主流

重置bios开机慢_重置bios开机慢_42


GPT:

重置bios开机慢_数据_43

内核管理

1.内核由核心和模块组成,模块有三类:不启用、集成到内核、作为模块单独存放

重置bios开机慢_重置bios开机慢_44


重置bios开机慢_插入图片_45


模块相关命令

3.

重置bios开机慢_重置bios开机慢_46


4.

重置bios开机慢_重置bios开机慢_47


5.

重置bios开机慢_文件系统_48


6.生成的依赖关系文件在/boot/下的一个 *.map的的文件

重置bios开机慢_插入图片_49


7.与modprobe区别在于不能解决依赖关系,装在模块是必须要指明绝对路径需结合modinfo来用 ,卸载命令时可以不用指定路径

重置bios开机慢_插入图片_50


8.修改/proc临时有效

重置bios开机慢_插入图片_51


例:

重置bios开机慢_数据_52


补充:sysctl

-w 临时改变某个指定参数的值 ( 如:sysctl -w net.ipv4.ip_forward=1;另一种方法:echo 1 > /proc/sys/net/ipv4/ip_forward )

-a 显示所有的系统参数

-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

9.永久有效可以再配置文件 /etc/sysctl.conf 配置

补充:路由转发功能 :同一个机器不同网卡可以互相转发

查看方法

sysctl -a 查看所有内核参数

或者以下两种方法

重置bios开机慢_数据_53


然后 sysctl -p 立即生效

补充:回收缓存

重置bios开机慢_重置bios开机慢_54


补充:

重置bios开机慢_重置bios开机慢_55


10.

重置bios开机慢_插入图片_56


11.

重置bios开机慢_数据_57


12.内核编译

重置bios开机慢_重置bios开机慢_58


重置bios开机慢_插入图片_59


过程:

(1)下载解压内核到制定目录

(2)做内核软连接

(3)复制模板到内核文件目录(现有模板包含所有本机识别的硬件驱动模块)

(4)编译

【5】编译内核时间很长,为了关闭中断而不会中断进程可以介质screen(倭终端工具)

(6)安装模块

(7)安装

重置bios开机慢_数据_60


make install 可以实现:

重置bios开机慢_数据_61


补充:screen:

创建:直接screen 回车 会开启一个新的虚拟中端

剥离: ctrl +a,d

退出并关闭:exit

查看(创建的所有screen):screen -ls

切换: screen -r #

13.内核编译的步骤

重置bios开机慢_文件系统_62

重置bios开机慢_插入图片_63

例:

make ARCH=arm help

重置bios开机慢_插入图片_64

磁盘及文件系统管理详解

  1. 硬件都是由驱动程序进行驱动使用,内核中往往会包含现有比较常用的硬件的驱动,当然对于不常用或者新型硬件也是没有对应驱动程序的,就需授权给硬件生产商对自己硬件驱动程序的研发(所以硬件可能携带恶意程序,当然也有各种安全认证机制)
    1.2 硬件IO设备通知内核过程:
    每一个IO设备在系统启动后有一个IO端口(又叫IO设备地址:硬件层次)一共有16位表示(可以表示几万个位置),每个IO设备对应几个位置,每当IO产生硬件就会尝试出发cpu上的IO事件,然后CPU再出发内核获取其IO内容
    1.3 再linux上一切皆文件,对于IO设备也是一样,设备文件会关联至一个设备驱动程序,进而能够与对应设备进行通信,所以对于linux系统调用而言只需要把所有硬件接口当文件接口,打开文件写入会变得格外简单方便
    1.4 机械硬盘


    转速越快,读取或存储效率也就越高性能越好
    越外面的的磁道效率越好所以windos C盘总是E盘效率高很多
    1.5 机械硬盘与固态硬盘的区别:
    传统的机械硬盘(HDD):运行主要是靠机械驱动头,包括马达、盘片、磁头摇臂等必需的机械部件,它必须在快速旋转的磁盘上移动至访问位置,至少95%的时间都消耗在机械部件的动作上
    固态硬盘(SSD):SSD不同机械构造,用集成的电路代替了物理旋转磁盘,无需移动的部件,主要由主控与闪存芯片组成的SSD可以以更快速度和准确性访问驱动器到任何位置
    1.6 用户进程怎样读取硬盘
    进程发起系统调用,工作转给内核
    内核通过控制总线把数据从硬盘读入内存
    1.7 怎样从磁盘中找到数据读入内存
    cpu发起的逻辑指令通过驱动转换成对应设备的 控制机制(控制芯片)
    控制器:主板上链接硬盘的接口(需要协议传递信号)
    协议:双方都准守的传输规则,不同的线路协议不同、接口不同
  2. 磁盘存储有两部分,一个是存储表(没有数据)只是用来检索快速查找用,一个数被分为很多存储快来存储数据
    磁盘用时间久了或经常性的增删文件就会使文件存储快不连续出现文件碎片,读取速度会很慢
    磁盘删除是把存储表标记为空,而原有的数据不变,再有新的数据存入会直接覆盖,所以很多工具即使你删除了
    内容也 是可以回复的
  3. 磁盘根据逻辑快大小和硬盘大小分为一定的组,组结构如下:
    第一行 BootBlock 预留的,一台电脑装多个系统时使用 Blocakgroup 磁盘块
    第二行 分别是:超级快、快组信息、块位图、inode位图、inode表、块
  4. 软连接 再存储表里面存的是原文件的目录所以大小只是这个路径的描述大小
    权限都是777,所以权限跟软连接没啥关系,跟源文件的权限有关
    硬链接 直接指向原存储的文件,所以大小是原文件的大小
    下图 ll命令:数字表示本文件被硬链接的次数
  5. 设备文件
    创建命令:mknod [选项] 设备目录和名字 类型 主设备号 次设备号

    -m MODE

设备文件不占空间,只是在磁盘存储表中指向设备所在位置

重置bios开机慢_数据_65

  1. VFS:不同种类的文件系统会调用不同种类的端口,所以在端口的上层有一个了类似于库的VFS软件来统一管理这些端口,这样mkfs就能格式化创建多种文件系统,也使得linux支持众多文件系统
    6.1硬盘接口类型和接口速率及表示名称:
  2. 文件格式
    windos : FAT32、NTFS
    网络文件系统(网上邻居) CIFS
    光盘:ISO9660
    linux:ext2、ext3、ext4、xfs、jfs、reiserfs、swap、btrfs
    网络文件系统:nfs ocfs2 gfs2
    虚拟文件系统:VFS(消除底层不同文件系统的差异,统一成一种接口都可以被同一种工具管理。例 mkfs)
    unix: FFS,UFS,JFS2
    集群文件:GFS2、OCF2
    分布式文件系统:ceph,moosefs,mogilefs,GlusterFS, Lustre

补充:常见系统对比

7.1

重置bios开机慢_文件系统_66


7.2 查看现在系统所支持的文件类型(没标注 nodev 的说明是正在使用的文件系统)

重置bios开机慢_文件系统_67


7.3 查看内核中已经装在的模块

重置bios开机慢_文件系统_68


8.1 分区管理工具

重置bios开机慢_文件系统_69


创建分区

l = L作用相同都是查看支持的类型

重置bios开机慢_插入图片_70


8.2 查看内核能识别的分区表、重读分区表(partprobe)

重置bios开机慢_重置bios开机慢_71


8.2.1 partx -a 分区名字 :重新检测分区表(注意:centos6与7这个命令用法不同)

8.2.2 kpartx -a 分区名字:同partx -a

8.2.3 centos5 上没有这两个工具 可以用 partprobe

  1. ext2非日志文件系统
    exi3 日志文件系统,保存时先把文件保存在一个日志空间中,就算断电也能很快检索出损坏文件位置
  2. 查看当前内核支持哪些文件系统
  3. 重置bios开机慢_文件系统_72

  4. 创建文件系统
  5. 重置bios开机慢_插入图片_73

  6. -f 强制创建
    Filesystem label= 卷名
    OS type 系统类型
    Block size=4096 块大小
    inodes 数量 blocks 块数量
    5.00% 预留大小
    8 block groups 8个组
    每个组的块数量、偏移量、inodes数量
    Creating inode 日志
  7. 重置bios开机慢_数据_74

mke2fs -t {exit2|exit3|exit4	}

重置bios开机慢_文件系统_75


重置bios开机慢_数据_76


11.1.1 检查文件系统相关命令

重置bios开机慢_插入图片_77


11.1.2

重置bios开机慢_重置bios开机慢_78


-y:自动回答为yes

  1. 挂载

    -o:制定额外的挂在选项,也即制定文件系统启用的属性
    loop:挂载本地回环设备(iso镜像)
    async: 异步写入:内存中修改的内容过一会再存入磁盘, 优点:速度快 缺点,断电易丢失
    sync : 同步写入: 内存中修改的内容同时修改同时写入磁盘, 有点:断电不丢失 缺点,磁盘性能比内存差很多,进行操作时速度会非常慢
    atime/noatime :(包含目录)是否 每次写入都要更新时间戳 占IO
    diratime/nodiratime:是否每次写入都更新目录的访问时间戳
    auto/noauto : 是否支持自动挂载(默认自动挂载)
    exec/noexec 是否支持运行挂在分区中的程序运行
    dev/nodev: 是否支持在此文件系统上使用设备文件
    suid/nosuid:s权限
    user/nouser:是否允许普通用户挂在此设备
    acl/noacl : 是否启动控制访问列表(centos6上默认没启动,centos7上默认已经启动)
    remount 重新挂在
    ro:只读挂在
    rw:读写挂在

例:

重置bios开机慢_文件系统_79


13. fuser

重置bios开机慢_数据_80


14. 交换分区

(1)物理内存被分成好多片,每个进程运行时都会被虚拟出例如4G内存,存放数据时映射到物理内存中的一片区域(不连 续的)所以可以多个进程同时运行

(2)交换分区作用: 物理内存资源用完,会把物理内存中其中不经常用到的数据存放在硬盘所创建的交换分区中,等到用到时在读取到内存再把其他频率少的数据存放在交换分区中,这样就可以透支内存使用,提高服务器性能

(3)free -m 查看内存

重置bios开机慢_插入图片_81


其中buffers/chached 为缓冲区是为了提高服务器性能:安装读取效率由高到低 cpu计算器、cpu缓存、内存、交换分区,缓冲区是为了更好地衔接缓冲不同读取速率差异的,即使他们里面的数据删除也不会丢失数据,所以真正的使用的内存要 - 缓冲区大小 空闲内存是 + 缓冲区大小

(4)新建交换分区

fdisk /dev/sda

n 新建

t 调整分区类型

8 第八个分区

L 查看分区类型

82 swap分区类型

partprobe 通知内核重新读取

mkswap /dev/sda8

[-L] 设置卷标

swapon /dev/sda8 启用交换分区

-a 启用所有的定义在/etc/fstab文件中的交换分区设备

swapoff

15.

重置bios开机慢_数据_82


16. dd命令(复制)

(1)与cp的区别:

cp:是要把文件读到内存中复制这一整个文件

dd:直接复制文件的二进制,可以设定复制的字节数,可以不完整复制文件

(2)相关参数

if=数据来源

of=数据存储目标

bs=1 单位(以多大为一个单位)

count=2 复制几个单位

例:备份MBR

重置bios开机慢_数据_83


例模拟创建一个交换分区设备:

重置bios开机慢_数据_84


(3)其他参数

seek 跳过假的,但查看的话还是包含跳过去的空间大小,实际没有

重置bios开机慢_插入图片_85


17. /etc/fstab文件

重置bios开机慢_插入图片_86


如何让一个文件系统自动挂载的同时启动acl

(1)

重置bios开机慢_插入图片_87


(2)格式化的时候tune2fs

18.df

-h 单位换算

-i 查看inode使用情况

-P 不换行显示

btrfs文件系统

1.核心特性

重置bios开机慢_文件系统_88


2.文件系统创建:(其中-m为元数据存放方式 -d为数据存放方式)

重置bios开机慢_插入图片_89


例:

重置bios开机慢_插入图片_90


3.查看

可以用 blkid

也可以 btrfs filesystem

show 显示

–all-devices (显示所有,包括未挂载的)

sync 内存中的缓存数据保存到磁盘

df 查看已挂在的磁盘空间使用率

defagment 碎片整理

label 指明或显示卷标

resize 修改磁盘大小

例:

重置bios开机慢_数据_91


或调整为最大

重置bios开机慢_重置bios开机慢_92


然后查看

重置bios开机慢_文件系统_93


4.管理设备

btrfs device

add:添加设备

delete:移除设备(移除设备时会自动转存数据到别的盘上,所以可以直接移除)

scan :扫描设备

stats :显示IO统计数据

例:

添加:

重置bios开机慢_文件系统_94


s

5.透明压缩机制(DEVICE:挂载的设备 MOUNT_POINT:挂载点)

重置bios开机慢_数据_95


6.数据均衡操作、修改raid级别 (如果新加入的盘,可以把已满磁盘数据均衡到其他磁盘上)

btrfs balance

start 启用此功能(注意数据太多的话时间会很长)

-d:修改数据的组织机制

-m:修改元数据的组织机制

-s:修改系统的组织机制

在-d/-m 后面可以加

convert 修改成哪种组织机制

常见组织机制:

重置bios开机慢_插入图片_96


例:

重置bios开机慢_数据_97


cancel 停用此功能

pause 暂停此功能

resume 继续此功能

status 显示此功能状态

7.创建子卷、快照

btrfs subvolume

create 创建子卷

delete 删除子卷

list 列出

snapshot 快照

show 查看子卷的详细信息

例:

创建并查看子卷

重置bios开机慢_重置bios开机慢_98


7.1 单独挂在子卷(单独挂在子卷时,其他子卷无法使用)


重置bios开机慢_插入图片_99


查看

重置bios开机慢_重置bios开机慢_100


删除

重置bios开机慢_插入图片_101


创建快照

重置bios开机慢_插入图片_102


对一个文件创建快照

重置bios开机慢_文件系统_103


8.ext与btrfs文件系统之间的转换

先强制监测一下

fsck -f 如果没问题

btrfs-convert /dev/sd1

然后 btrfs filesystem show 查看

还原成ext系统
			btrfs-convert -r /dev/sd1
			blkid 查看