分区和分区表
分区是将单个硬盘驱动器划分为多个逻辑驱动器的一种方式。一个分区被视为一个独立的驱动器,并引用该驱动器上的一组连续的块。Paritions承载某种类型的文件系统,该文件系统是与分区类型相关联的数字代码。例如,Linux交换分区的代码是0x82。分区表是一个索引,它标识硬盘驱动器如何划分到不同的分区。
主分区是作为引导扇区(通常是512字节)的一部分安装的初始分区。逻辑分区是主分区的子分区,它们必须是连续的。包含逻辑分区的主分区称为扩展分区。
有两种类型的分区表——主引导记录(MBR)和GUID分区表(GPT)。您可能从MS-DOS时代听说过前者,GPT是在90年代末引入的,用于克服MBR固有的限制。
使用MBR进行分区将分区限制为4个,每个分区的大小不能超过2TB。数字4似乎足够了,但是当需要安装多个操作系统,而每个操作系统又需要自己的主分区时,就会出现问题。此外,MBR还存在数据完整性问题,因为它是一个单一的数据结构,可能会由于硬件故障或粗心大意而遭到破坏。在主分区之后,将在链表结构中定义其他逻辑分区。如果一个分区损坏,则无法访问其余的逻辑分区。没有内建的错误检测功能,所以错误的MBR很难检测。
GPT被定义为Intel可扩展固件接口(EFI)的一部分,该接口后来发展为统一EFI (UEFI)标准。GPT为逻辑块地址使用64位,是MBR的两倍,以指数方式将支持的分区大小增加到8 ZB (8600,000,000 TB)。GPT更可靠,因为它使用两个位置来存储它的数据结构——在磁盘的开始和结束。这提高了在发生故障时的可靠性。现在,您可以定义128个分区,但是如果用于创建分区的软件允许的话,可以更改这一点。最后,GPT允许您以人类可读的方式定义分区。作为管理员,您可以将不同的文件系统定义在不同的分区上,这些分区很容易识别,比如/home、/tmp和/boot
在磁盘上有多个分区可以极大地提高磁盘的效率。根据文件的内容和平均大小,可以为分区选择最佳块大小。例如,如果有大量小于一kb的小文件,那么使用4096字节作为块大小的分区意味着存储每个文件将浪费大约3KB。
要列出系统上的分区,请使用以下命令
# fdisk - l
操作系统手册通常建议创建以下分区
用于支持虚拟内存的交换分区。当RAM没有空间存储数据时,数据被写入交换分区。交换分区的最小大小是265MB。然而,随着RAM大小的增长,在设置计算机时分配正确的交换大小是非常重要的。经常引用的引用是RAM大小的两倍,但是在64GB的RAM系统上,将128GB的磁盘空间分配给交换是很浪费的。
建议的交换大小更多地取决于系统内存工作负载,而不是系统可用的实际RAM。
系统内存
推荐交换空间
< = 2 gb
2倍的内存
在2到8gb之间
等于内存大小
大于8 gb
至少4GB内存
由于swap用于存储虚拟内存,所以建议在最快的设备上分配交换分区。如果您有一个HDD和一个SSD连接到系统,那么选择SSD设备来设置交换分区
引导分区用于存储操作系统内核和引导进程中使用的其他文件。您应该为这个分区分配大约250MB的空间,在大多数情况下这已经足够了。还需要注意的是,如果使用硬件RAID,并且数据由RAID卡提供,有些BIOS不允许从RAID阵列引导。RAID设置之外需要一个单独的/引导分区。
一个设计为“/”的根分区。通常,这个分区需要3到5GB的空间。用于存储用户信息的主分区,理想情况下应该与系统数据分离。将/home放在单独的分区上的好处是,您可以升级和重新安装操作系统,而不会丢失用户数据。
您还可以为其他文件夹(如/tmp、/usr和/var)创建单独的分区。这些文件夹的单独分区有助于防止坏脚本占用磁盘空间或将整个文件系统置于拒绝服务攻击之下。