背景
我在服务器上部署服务,提示磁盘空间不足。但是我记得这个虚拟机服务器,是分配了4T到空间,应该是够用的。因此我分析了一下系统的情况。
- 使用df 指令查看磁盘空间的情况
bash
代码解读
复制代码
sudo df -h /
可以看到总共98G的空间,使用了94G,基本上使用完了。
- 使用fdisk命令查看
bash
代码解读
复制代码
sudo fdisk -l
可以看到sda磁盘总共4T空间,划分为sda1-sda3三个分区。说明我记忆是没错的,空间确实有4T。
看到后面还有一个 /dev/mapper/ubuntu--vg-ubuntu--lv盘,总共100G空间,也就是上面我看到的根目录/的挂载空间。
这个时候我就一头雾水,这个服务器明明只有一个4T磁盘,为啥多了这么个100G的磁盘呢?两者又是什么关系呢?
我观察到100G这个盘的路径里,有一个mapper,是一个映射的结果。我猜测是这100G映射至4T硬盘上的。那这个映射关系是什么呢?
我做了一些调研,终于明白了具体的关系。
- lsblk 展示映射关系
bash
代码解读
复制代码
sudo lsblk -f
可以清楚看到这个虚拟盘,就是映射到sda3上面的。
磁盘、分区、物理卷、卷组、逻辑卷等概念
1. 磁盘(Disk)
磁盘是计算机中用于存储数据的硬件设备。在Linux系统中,磁盘通常以/dev/sdX
或/dev/hdX
的形式表示,其中X
是一个字母,如a
、b
、c
等,代表不同的磁盘。
使用 fdisk -l 命令可以查看到磁盘的信息:
其中磁盘标签类型(也就是分区表类型),gpt(GUID)分区表是一种较新的标准,用于UEFI固件的系统。它提供了更多的灵活性,允许更大的磁盘和更多的分区。GPT磁盘可以有128个分区,并且具有更好的数据保护机制,例如备份分区表。
2. 分区 (Partition)
分区是在磁盘上划分出来的独立存储区域,每个分区可以视为一个独立的磁盘。Linux通过在磁盘上创建多个分区来实现数据的分类存储。分区可以通过