一、概述
数据盘挂载实战(类比于Windows新机使用前需要做磁盘分区)
1. 通过VirtualBox新建20G大小的数据盘
2. 使用fdisk -l查询磁盘分区表,使用fdisk对数据盘进行分区
3. 使用mkfs.xfs或mkfs.ext4命令对磁盘进行格式化
4. 使用mount命令挂载到新建目录c1,通过c1访问新建数据盘
二、详细步骤
Step1. 创建虚拟硬盘:
virtualbox设置—存储—控制器SATA—新建—预设20G—完成—确定
Step2. 磁盘分区
1. df -Th 查询已用文件系统的空间,未发现新建硬盘/dev/sdc(未分区、未格式化、未挂载)
2. fdisk -l 显示分区表,Disk下有/dev/sdc(本机已挂载过sda,sdb)
3. fdisk /dev/sdc 执行默认分区(主分区),m可显示命令帮助,n 创建新分区,w写入并退出
4. fdisk -l 分区成功显示sdc下多了Device /dev/sdc1 ,类型为Linux且大小20G
Step3. 磁盘格式化
mkfs.xfs /dev/sdc1 执行格式化,可以将sdc1格式化为xfs文件系统类型
Step4. 磁盘挂载
1. df -Th 依旧无法查询到sdc,因为未挂载
2. 根目录下新建目录/c1,执行mount /dev/sdc1 /c1
3. 再使用df -Th可以发现,/dev/sdc1已经挂载到/c1下,且Type为xfs
4. 在/c1目录下使用touch test.txt命令新建文档,读写该文档都是在当前/dev/sdc的磁盘下完成的。
至此,已完成新建磁盘、分区、格式化、挂载的项目实战,拿到一个新磁盘,就可以按照这个步骤完成上机访问了。
三、几点问题说明:
1. 硬盘为什么要格式化
a. 指定文件系统(定义了磁盘上存储文件的方法和数据结构)
b. 清空分区内的数据,方便数据写入
c. 分区fdisk与格式化mkfs是两种操作,磁盘不一定分区,就像windows系统的ssd硬盘,所有文件存放在一起是可以的,分区便于管理,但是格式化是必须的,格式化指定了文件系统,未指定文件系统的磁盘无法正常使用。
参考链接:(5 封私信 / 7 条消息) 硬盘分区需要格式化吗? - 知乎
2. df 指令用途
报告文件系统磁盘空间的使用情况,参数T显示文件系统类型(ext4、xfs等),参数h按照文件系统大小、已使用、未使用的格式输出空间使用情况
参考链接:Ubuntu18.04下查看文件和文件夹大小的df和du命令说明_ubuntu: df-CSDN博客
3. fdisk指令用途
fdisk --help可以发现,该指令用于改变分区和显示分区表
参考链接:linux下使用fdisk进行磁盘分区详解 - 人生的哲理 - 博客园
ubuntu 使用 fdisk 磁盘分区_ubuntu fdisk分区-CSDN博客
4. 为什么要挂载(mount 磁盘分区 目录)
将一个设备挂接到已存在的目录上,挂载后可以通过目录直接访问该存储设备。
挂载后意味着可以通过/c1目录实现对/dev/sdc1的存储空间访问,在/c1下新建.txt文档并编辑,其实就是对sdc1的存储空间进行读写编辑操作。
参考链接:【Linux】分区、格式化、挂载点分别是什么?如何理解文件系统和设备之间的关系?_linux分区和设备节点-CSDN博客
Linux学习笔记(二):什么是挂载?mount的用处在哪?_linux挂载的作用-CSDN博客
5. VirtualBox创建虚拟盘的空间占用:
通过VirtualBox创建存储空间,有两种方式,一种是动态分配,一种是固定大小存储。
默认动态分配,若创建20GB,并不会将Windos本机的硬盘直接分配20GB给虚拟机,而是如图所示实际分配55MB,运行过程会动态调整,直至20GB被用完。
勾选预分配空间,则会将本机硬盘的存储空间按实际大小全部分配给虚拟机。
参考链接:
virtualbox 虚拟分配空间很大,但实际空间很小怎么办_服务器-CSDN问答
6. 如何屏蔽fdisk -l和lsblk指令查询到若干loop
以下loopX都和/snap快照有关,经查询可以通过增加grep过滤
lsblk | grep -v '^loop'
使用后可以通过树状结构列出块设备的存储情况
sda是虚拟机创建时分配的25G空间
20GB大小的sdb、sdc是配合该项目实战通过动态分配内存创建的数据盘
5GB大小的sdd是配合该项目实战通过预分配内存创建的数据盘
参考链接:
【服务器管理】处理多出来的loop设备 - TheError - 博客园
这些多出来的/dev/loop是什么东西,全部占用100% - Ubuntu中文论坛
Linux lsblk 命令详解:查看磁盘和分区信息 (中英双语)_lsblk命令详解-CSDN博客
7. 删除虚拟硬盘无法导致无法启动Ubuntu: