3.3.2 Linux存储体系
Linux下支持多种类型的存储设备/系统,如图3-21所示,按照使用顺序可以将它们划分为两个层次:块设备层和文件系统层,以此构成Linux存储体系。
1.块设备层
块设备层表示最底层的存储设备,包括虚拟块设备和物理块设备。如图3-21所示,可以直接在块设备上构建文件系统;也可以对部分块设备先分区,再构建文件系统;也可以基于块设备先构建逻辑卷,再构建文件系统。
图3-21 Linux存储体系图
2.文件系统层
文件系统层包括各种类型的文件系统,角度不同,文件系统的分类也不同。例如按照存储的位置划分,可以分为本地文件系统和网络文件系统;按照存储的介质划分,可以分为磁盘文件系统、内存文件系统、光盘文件系统等;按照实现技术划分,可以分为内核文件系统和用户空间文件系统(FUSE Filesystem in Userspace)。文件系统构建好后,用户将文件系统挂载到某个目录关联,就可以通过该目录访问文件系统了。因此,文件系统层是整个Linux存储体系中最接近用户的一层。
文件系统的本质是实现文件的组织和管理,这是向上而言的,向下则是如何实现文件数据的存储,可以有多种方式:可以直接构建在物理/虚拟块设备上,也可以构建在分区之上,甚至直接构建在其他已有的文件系统之上。
图3-21还列出了Linux存储体系中各类存储设备的使用步骤:图中箭头表示使用的顺序;加粗的文字如“分区”“格式化”和“挂载”表示具体操作;而加粗的方框则表示存储体系中的存储设备。
每个存储设备从自身沿着箭头出发,最后都会走到“挂载”操作。以物理块设备——磁盘为例,一块从未使用过的磁盘在Linux中会显示/dev/sdX设备文件(X为设备号,取值a~z),其使用顺序如下。
1)如果要进行空间规划,则对其分区,分区文件为/dev/sdXN(N为数字,表示分区编号);如果是使用整个空间,则直接跳至下一步。
2)如果要构建逻辑卷,则先创建物理卷,物理卷可以是分区或整个设备,然后创建卷组,最后在卷组上划分逻辑卷;如果不构建,直接跳至下一步。
3)格式化创建文件系统,格式化对象可以是:分区、整个设备、逻辑卷。
4)挂载文件系统。
总之,存储设备要使用,最后一定是要在该设备上构建一个文件系统,挂载该文件系统后才可以使用的;存储设备的常规使用步骤包括分区、格式化和挂载这3步,其中挂载是必需的,分区和格式化则要视具体情况而定。