客服微信
本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
Linux磁盘分区技术详解引言在Linux系统中,磁盘分区是数据存储和管理的基础。合理规划磁盘分区方案,不仅可以优化系统性能,还能提升数据的安全性和可管理性。
本文将深入探讨kylin V10下的磁盘分区技术,涵盖基本概念、常用工具、分区策略以及最佳实践。
磁盘分区是将物理磁盘划分为多个逻辑区域的过程,每个区域可以独立管理,安装不同的文件系统。Linux支持多种分区类型,包括传统的MBR(Master Boot Record)分区表和更先进的GUID分区表(GPT)。
MBR分区表
MBR分区表是最常见的分区格式,它将磁盘的前512字节作为引导扇区,包含引导代码和分区表。MBR最多支持4个主分区,或3个主分区加一个扩展分区,扩展分区下可包含多个逻辑分区。由于MBR的限制,单个分区的最大容量为2TB。
GPT分区表
GPT是为了解决MBR的局限而设计的,它使用更复杂的分区机制,可以支持超过2TB的磁盘,并允许创建更多的分区。GPT分区表存储在磁盘的开头和末尾,提供了更好的数据保护和恢复能力。
Linux提供了多种强大的分区工具,包括fdisk、parted、gdisk等,它们各有特点,适用于不同的场景。
• fdisk
fdisk是最早的分区工具之一,支持MBR分区表,界面友好,适用于创建和管理简单的分区结构。
• parted
parted是一个更现代的工具,支持MBR和GPT分区表,提供了丰富的命令集,包括创建、调整大小、移动和复制分区,适用于更复杂的分区任务。
• gdisk
gdisk是专为GPT分区表设计的工具,提供了与fdisk类似的命令行界面,但功能更强大,是处理大容量磁盘的理想选择。
在Linux中规划磁盘分区时,应考虑以下几点:
接下来,主要以fdisk命令介绍分区管理操作。
1)查看当前的磁盘
2)通过lsblk确认未使用的磁盘
可以确认/dev/sdc磁盘未被使用。
3) 启动fdisk 打开终端,输入以下命令来启动fdisk
这里/dev/sdc是你要操作的磁盘设备。
参数详解
Command (m for help): m Help: DOS (MBR) a toggle a bootable flag 激活或去激活一个分区 b edit nested BSD disklabel c toggle the dos compatibility flag Generic d delete a partition 删除分区 F list free unpartitioned space 列出未分区的空闲区 l list known partition types 列出已知可设置的分区类型 n add a new partition 添加分区 p print the partition table 打印分区表 t change a partition type 更新分区类型,配合l命令使用 v verify the partition table 确认分区表 i print information about a partition 打印某个分区信息 Misc m print this menu 打印功能菜单 u change display/entry units 更改单位(cylinder、sector等),废弃参数 x extra functionality (experts only) 专家模式,提供更高级的分区操作。 Script I load disk layout from sfdisk script file 从sfdisk脚本文件加载磁盘布局 O dump disk layout to sfdisk script file 转储磁盘布局到sfdisk脚本文件 Save & Exit w write table to disk and exit 写入分区表并退出fdisk q quit without saving changes 退出而不保存更改 Create a new label g create a new empty GPT partition table 在当前磁盘上创建一个新的 GPT 分区表 G create a new empty SGI (IRIX) partition table 在当前磁盘上创建一个空的 GPT (IRIX) 分区表 o create a new empty DOS partition table 在当前磁盘上创建一个空的 DOS 分区表(MBR分区下默认就是DOS) s create a new empty Sun partition table 在当前磁盘上创建一个空的 Sun 分区表
4)创建示例
• 创建主分区
指定分区大小,可以直接指定大小,或者指定Cylinder个数。
kylinV10版本中,基本单元为Cylinder,一个Cylinder为7M。相比Redhat,基础单元是扇区,一个扇区为512byte。
• 创建扩展分区
当创建了3个主分区之后,只能创建扩展分区
Command (m for help): p Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors Disk model: VMware Virtual S Geometry: 255 heads, 63 sectors/track, 2610 cylinders Units: cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x625d3154 Device Boot Start End Cylinders Size Id Type /dev/sdc1 1 262 262 2G 83 Linux /dev/sdc2 262 524 262 2G 83 Linux /dev/sdc3 524 786 262 2G 83 Linux Command (m for help): n Partition type p primary (3 primary, 0 extended, 1 free) -->当前有3个主分区,只能创建扩展分区 e extended (container for logical partitions) Select (default e): Using default response e. Selected partition 4 First cylinder (786-2610, default 786): Last cylinder, +/-cylinders or +/-size{K,M,G,T,P} (786-2610, default 2610): +2G -->指定分区大小2G Created a new partition 4 of type 'Extended' and of size 2 GiB. Command (m for help): p Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors Disk model: VMware Virtual S Geometry: 255 heads, 63 sectors/track, 2610 cylinders Units: cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x625d3154 Device Boot Start End Cylinders Size Id Type /dev/sdc1 1 262 262 2G 83 Linux /dev/sdc2 262 524 262 2G 83 Linux /dev/sdc3 524 786 262 2G 83 Linux /dev/sdc4 786 1048 262 2G 5 Extended -->显示的类型是扩展
• 创建逻辑分区
• 保存退出
• 启用分区
在物理服务器中,即使保存了磁盘区分的配置,但刚刚创建的逻辑分区还处于未启用的状态。此时,可以通过partprobe命令使内核强制读取分区表,启用逻辑分区
[root@db2 ~]# fdisk /dev/sdc Welcome to fdisk (util-linux 2.35.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d Partition number (1-5, default 5): ^C Command (m for help): p -->查看当前分区 Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x625d3154 Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 4208639 4206592 2G 83 Linux /dev/sdc2 4208640 8402943 4194304 2G 83 Linux /dev/sdc3 8402944 12611583 4208640 2G 83 Linux /dev/sdc4 12611584 16820223 4208640 2G 5 Extended /dev/sdc5 12613632 14710783 2097152 1G 83 Linux Command (m for help): d -->通过d参数,删除指定分区 Partition number (1-5, default 5): 5 Partition 5 has been deleted. Command (m for help): p Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x625d3154 Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 4208639 4206592 2G 83 Linux /dev/sdc2 4208640 8402943 4194304 2G 83 Linux /dev/sdc3 8402944 12611583 4208640 2G 83 Linux /dev/sdc4 12611584 16820223 4208640 2G 5 Extended
1)fdisk
fdisk是一个在Linux系统上用于磁盘管理的命令行工具,可以用来查看、创建、修改、删除磁盘分区等操作
2) lsblk
当在Linux系统上运行lsblk命令时,它会显示系统上的块设备信息,包括磁盘、分区和挂载点
可以确认type=part为分区类型
说明
3) blkid
blkid命令用于打印或提取块设备的属性信息,通常用于识别块设备的类型、文件系统以及UUID等信息
在上述示例中:
由于分区未格式化挂载,所以只显示了PARTUUID
blkid命令输出的信息包括:
1)mkfs
使用常见的xfs格式磁盘
上面的示例将/dev/sdc1格式化为xfs文件系统,逻辑块大小为8K
2)blkid
在格式化之后,多了UUID和BLOCK_SIZE的参数
想了解更多 麒麟 相关的学习资料(技术文章和视频),可以微信公众号或B站搜索《云贝教育》,免费获取。
想了解更多 麒麟 相关的学习资料(技术文章和视频),可以微信公众号或B站搜索《云贝教育》,免费获取。
想了解更多 麒麟 相关的学习资料(技术文章和视频),可以微信公众号或B站搜索《云贝教育》,免费获取。