1. 分区和目录
和 Windows 使用盘符定义分区的方式不同,Linux 系统使用树状目录的方式来定义分区,这也被称为挂载点。一些常见的分区目录如下:
| 分区名称 | 作用 |
| ——– | —————————————————————————————– |
| /
| 根分区目录,其他所有分区目录都位于其下。 |
| /boot/
| 存放系统启动时所需的各种文件。如果采用传统的 BIOS 引导方式,那么需要创建一个 /boot
分区。在使用 UEFI 引导的系统中,/boot
目录通常可以与根分区合并 |
| /root/
| 系统管理员 root 用户的主目录。 |
| /home/
| 普通用户的主目录。 |
| /etc/
| 配置文件的目录。平常通过系统包管理命令安装的各种软件,它们的配置文件默认都在此目录下。 |
| /bin/
| 系统核心命令的存放目录。 |
| /usr/
| 系统默认软件的安装目录和共享资源目录。通过系统包管理命令安装的软件,大多都位于这里。 |
| /opt/
| 用户软件的安装目录。 |
| /var/
| 存放软件运行时生成的一些文件,比如日志,运行中的进程 ID 文件等。 |
| /tmp/
| 系统临时文件的目录。每次系统关机时,此目录中的所有文件都会清除。 |
| Swap | 这不是目录,是一个特殊的 Linux 分区,通过文件系统的方式模拟物理内存,以应对物理内存使用时的不足。建议大小是物理内存的1~2倍 |
对于 Linux 的分区和目录来说,需要理解两个概念:
1 . 目录是树状层级结构的。 2 . 分区可以通过挂载的方式指定为任何层级下的目录
举个例子来说明一下这两个概念。假设现在系统就一个硬盘,并且快满了。经过了解分析,发现是用户目录 /home/zzxworld/Movies
下存放了太多电影导致的。那我现在可以选择添加一个新的硬盘,格式化后并挂载到 /home/zzxworld/Movies
目录,专门用来存放电影。
理论上来说,安装 Linux 系统,只需要给硬盘分一个区,然后挂载 /
根分区目录即可正常安装和使用
在此基础上,再根据自己的需求规划更加细致的分区方案。
- 感觉物理内存不够用?那就尝试在方案中添加一个 Swap 交换分区。它通常设置为物理内存大小的 50% 和 100% 左右。
- 在意个人数据的安全性?可以单独新建一个分区,并挂载到
/home
目录。如果可以的话,添加一个新的硬盘专门挂载到/home
也没问题。
总之,这一切都需要自己来实践并优化。适合自己的分区方案才是好方案。
2. 文件系统
给硬盘分好区,接下来要面对的就是把分区格式化的问题。Linux 有专属的各种分区格式,也就是俗称的文件系统。常用的文件系统如下:
- ext4:目前 Linux 主流的文件系统,如无意外的话,默认都应该选择它。
- swap:Swap 交换分区专属的文件系统,如果有划分 Swap 分区,需要格式化为这种格式。
3. 分区
fdisk -l
命令会列出系统中所有的硬盘及其分区情况
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xabcd1234
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1026047 1024000 500M 83 Linux
/dev/sda2 1026048 209715166 208689119 99.5G 8e Linux LVM
Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/centos-root: 95 GiB, 102187624192 bytes, 199667216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
解读
1. **硬盘信息**:输出以每个硬盘开始,每个硬盘的信息包括其大小、标识符、扇区大小等。
- `Disk /dev/sda` 表示第一个硬盘,其大小为 100 GiB。
- `Disk /dev/sdb` 表示第二个硬盘,其大小为 50 GiB。
2. **分区信息**:每个硬盘下面列出了分区信息,包括每个分区的起始扇区、结束扇区、大小、类型等。
- 对于 `/dev/sda`,有两个分区:`/dev/sda1` 和 `/dev/sda2`。
- `/dev/sda1` 是引导分区,大小为 500M。
- `/dev/sda2` 是 LVM 分区,占据了硬盘大部分空间。
3. **LVM 逻辑卷信息**:如果有 LVM 逻辑卷,它们会以 `/dev/mapper/` 开头列出。
- `/dev/mapper/centos-root` 是一个逻辑卷,它的大小为 95 GiB。
4. 挂载
硬盘完成分区和格式化后,离真正可用还差最后一步:挂载。使用 mount
命令来完成。上面分区环节前规划好的分区和目录的对应方案,也是通过这步落到实处。
挂载在操作形式上可以分为手动挂载和自动挂载。手动挂载通过输入 mount
命令的方式来实现。自动挂载则是通过修改 /etc/fstab 文件配置来达成。完成挂载后的硬盘分区,就真正意义上可以使用了
5. 总结
总的来看,把一块硬盘用作 Linux 分区需要经历四个流程:
1 . 分区方案的制定 2 . 分区操作 3 . 格式化操作 4 . 挂载
6. 硬盘分区
LVM 逻辑卷 和lvm分区的关系
卷组(Volume Group,VG):卷组是由一个或多个物理卷组成的逻辑单元。在卷组上创建逻辑卷,并对其进行管理。
逻辑卷(Logical Volumes,LVs):逻辑卷是从卷组中划分出来的逻辑分区。它们类似于传统的硬盘分区,但是具有更灵活的管理能力。逻辑卷可以动态调整大小,并且支持其他高级功能,如快照和镜像。
LVM 分区:LVM 分区是指通过 LVM 技术创建的逻辑卷。与传统的硬盘分区不同,LVM 分区是在逻辑卷上创建的,而不是在物理硬盘上直接分区。
因此,LVM 逻辑卷和 LVM 分区的关系是:LVM 分区是从 LVM 逻辑卷中划分出来的逻辑分区,它们具有灵活的管理能力,并且可以根据需要调整大小。通过 LVM,你可以更好地管理和利用系统的存储资源。
先分区,后挂载,给分区分配挂载点,挂载后就可以使用分区了
需要注意:硬盘最后有剩余的空间都会给根分区 /,需要计算剩余多少空间分给 /,将系统分区和管理员分区剥离开,可便于维护,提升安全性,方便备份等
挂载点(Mount Point): 挂载点通常是一个目录(如/mnt
、/media
等),文件系统中的文件和目录会被挂载到这些目录下以供访问。在CentOS 7中,可以使用 mount
命令来挂载文件系统。如 Linux系统中,根文件系统通常挂载在/
目录下,而在Windows系统中,根文件系统则是挂载在特定的驱动器上(如C:\
)。挂载点,必须是目录且是 空目录
管理磁盘存储空间: 标准分区、btrfs、lvm
标准分区是将硬盘划分为独立的部分,并在每个部分上安装一个文件系统的传统方法。每个分区的大小是固定的,无法动态调整。通常用于单个操作系统的安装,或者在多引导系统中分配给不同的操作系统。
Btrfs(B-tree文件系统)是一种先进的文件系统,它采用B树数据结构来管理数据,提供了许多高级特性,如快照、压缩、RAID等。它支持动态分配存储空间,可以在运行时动态调整文件系统的大小。Btrfs还支持快照功能,可以快速创建文件系统的副本,并在需要时恢复数据。
LVM(Logical Volume Manager)是一种逻辑卷管理系统,允许管理员动态地创建、调整和删除逻辑卷。它可以在多个物理磁盘上创建逻辑卷,并允许对逻辑卷进行扩展和缩小而无需重新分区。LVM还支持数据快照和数据迁移等高级功能
分区:分区是将物理磁盘的空间划分成逻辑上独立的部分。每个分区被视为一个独立的存储空间单元,它们具有自己的文件系统和数据。分区的目的是允许操作系统将磁盘空间进行有效管理和利用,以便在其上存储数据和执行操作
主分区、扩展分区、逻辑分区
主分区是一种分区类型。主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘
一个硬盘最多只能有4个主分区。这是因为主分区的分区表(MBR,Master Boot Record)只能记录4个分区的信息,其中最多只能有一个扩展分区,剩下的三个都可以是主分区。如果需要更多的分区,可以使用扩展分区来扩展
主分区才能存数据,扩展分区不能直接存数据,需要将扩展分区再细分为逻辑分区才可以。所有的逻辑分区都是扩展分区的一部分
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和
格式化(逻辑格式化): 目的是在硬盘中写入文件系统(在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间),写入文件系统就将分区变成一个一个小的数据块Block,大小是1-4KB。同时建立一个inode列表
Linux中硬盘以及分区等设备均表示为文件,其命名规则如下
IDE磁盘的文件名为:/dev/hdxx
SCSI/SATA/USB磁盘文件名为:/dev/sdxx
鼠标:/dev/mouse
USB:/dev/usb/lpxx
/dev/mapper/
目录通常是 LVM(Logical Volume Manager,逻辑卷管理器)创建的设备映射的路径,如果你有一个名为 vg01
的卷组,并在其中创建了一个名为 lv01
的逻辑卷,那么你可能会在 /dev/mapper/
目录下看到 /dev/mapper/vg01-lv01
这样的设备文件