计算机磁盘是最基础的存储数据设备,我们所有编写的文件都存于磁盘中。文件系统是在磁盘的基础上提供了管理所有文件(夹)的一种结构,即树状结构。假设计算机磁盘容量不够用了,需要在扩充一块磁盘,那么此时该如何将磁盘整合进计算机系统中呢?
磁盘与文件系统
刚买回来的磁盘也叫“裸设备”,当然裸设备即使不被OS(操作系统)格式化也是可以直接用来存储数据的,比如一些数据库应用程序就可以设置采用裸设备进行数据存储,从而绕过OS的缓存机制采,例如MySQL可以采用自身的BufferPool缓存替代OS的buffer/cache。
但是现代操作系统为了更加方便的管理磁盘就采用了文件系统(File System)对磁盘进行管理,经过初始化后的磁盘也就设置相应的FS。文件系统类型有很多,例如ext4、XFS、NTFS等等,初始化后的磁盘叫做“块设备”。
你可以简单的认为磁盘要想从“裸设备”转变成“块设备”,必须经过OS格式化,将磁盘交给文件系统管理就完成了磁盘的格式化。
分区和挂载
一块磁盘可以设置不同的分区,最经典的就是像Windows系统C、D、E、F盘这样,把一块磁盘分成多个区

每个分区完成之后就是需要给分区设置相应的文件系统,例如我手头Windows系统中C、D、E、F分区采用的文件系统是NTFS。

分区和文件系统类型设置好后还差最后一步就能被用户访问,也就是挂载。
操作系统规定,分区必须挂载到一个目录下才能够访问,还是拿Windows系统举例,你看到的C盘中的内容其实是C分区挂载到了【C:\】这个目录下面,打开文件资源管理器后在输入栏中就可以看到此时的目录是【C:\】。D、E、F盘同理。

到此就可以总结一下
新买的磁盘如果想整合进操作系统中,首先需要给磁盘设置分区,接着为分区设置好文件系统的类别,最后将分区挂载到一个目录上即可完成系统存储容量的扩充
Linux系统扩充磁盘
接下来就是实操如何给Linux系统加多一块磁盘,本次实操还是利用VMware模拟。
首先进入系统运行【lsblk -f 】命令查看当前磁盘信息:

可以看到当前系统中只有一块磁盘sda,该磁盘有3个分区sda1,sda2,sda3。其中1,2分区的文件系统类型是ext4,1的挂载点是【/boot】,2的挂载点是Linux系统的根目录【/】。3分区作为swap空间交换,用于内存不足时将一些不活跃进程的内存交换进磁盘中。
此时我们假设sda这块磁盘空间满了,需要给系统加多一块新的磁盘

第③步后会弹窗选择磁盘类型,选择SCSI即可,之后一直点击下一步就可以完成新磁盘的添加。我设置的新磁盘容量是1G,设置完成后页面会显示多一块磁盘。

系统重启后再次运行lsblk -f 命令,可以看到多了一个sdb设备,这也就是我们刚刚添加的磁盘

此时sdb是一块“裸设备”,还没有设置相应的文件系统,设置文件系统之前必须先分区,因此接下来的工作就是给sdb分区,运行 fdisk /dev/sdb

分区ok后就设置该分区的文件系统类型,运行mkfs -f ext4 /dev/sdb1,设置sdb1的文件系统类型为ext4。
最后一步就是挂载了,sdb1挂载到哪一个目录下面都是可以的,因此我就在/根目录下新建一个Ethan文件夹,然后将sdb1挂载到Ethan文件夹上面。通过vim 修改/etc/fstab实现永久挂载。在fstab文件中加多一行配置然后reboot即可。

至此就搞定了系统的磁盘扩充,运行一下lsblk -f 就可以发现sb1成功挂载到/Ethan目录下面

总结
当一块新的磁盘想要加入到系统中时,首先需要给它分好区,接着为分区设置文件系统类型,最后将分区挂载到指定的目录上即可。挂载后我们就能在该目录下创建文件夹或者文件,这些文件(夹)的数据将存储在该目录挂载的分区磁盘上面。




