Linux运维养成记-磁盘管理MBR、GPT

磁盘管理

Linux 会根据设备类型对存储设备进行识别,IDE 盘在系统中被识别成 hd,第一个设备为 hda,第二个为 hdb 以此类推。如果是 SATA,USB,SCSI 设备,则会识别成 sd,第一个为 sda,第二位为 sdb,以此类推。
对于分区,Linux 使用数字来表示,如,第一块 SATA 硬盘的第一个分区为sda1,第二个分区为 sda2,以此类推。

1 磁盘分区

1.1 MBR 分区

一般的 MBR 分区方式,一块硬盘最多分四个主分区,如图1所示:
在这里插入图片描述

如果 MBR分区需要更多分区,则需要首先创建扩展分区在扩展分区中创造逻辑分区,所有逻辑分区总和为扩展分区大小,逻辑分区编号一定以 5 开始的,如图 2 所示:
在这里插入图片描述
以下是具体分区操作步骤。

[root@localhost ~]# fdisk -l			#查看磁盘分区表

Disk /dev/sda: 21.5 GB, 21474836480 bytes		#第一块磁盘容量为 21.5GB
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        2358    18631680   83  Linux
/dev/sda3            2358        2611     2031616   82  Linux swap / Solaris

Disk /dev/sdb: 10.7 GB, 10737418240 byte  #第二块磁盘大小为 10.7GB,未分区
...

以第二块磁盘进行分区操作:

[root@localhost ~]# fdisk /dev/sdb

Command (m for help): m
Command action
   a   toggle a bootable flag					#切换分区启动标志
   b   edit bsd disklabel						#编辑 bsd 磁盘标签
   c   toggle the dos compatibility flag			#切换 dos 兼容模式
   d   delete a partition						#删除分区
   l   list known partition types				#显示分区类型
   m   print this menu							#显示帮助菜单
   n   add a new partition						#添加新分区
   o   create a new empty DOS partition table	#创建新的空分区表
   p   print the partition table				#显示分区信息表
   q   quit without saving changes				#不保存,退出
   s   create a new empty Sun disklabel			#创建新的 sun 磁盘标签
   t   change a partition's system id			#修改分区 id,l 查看 id
   u   change display/entry units				#修改容量单位,磁柱或扇区
   v   verify the partition table				#检验分区表
   w   write table to disk and exit				#保存退出
   x   extra functionality (experts only)		#扩展功能

Command (m for help): n
Command action
   e   extended									#输入 e,创建扩展分区
   p   primary partition (1-4)					#输入 p,创建主分区
p
Partition number (1-4): 1			#输入分区编号
First cylinder (1-1305, default 1): 			#直接按回车,默认从 1 柱面
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +2G       
#创建 2GB 的第一个分区
Command (m for help): p							#打印分区信息看是否成功

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux
#可以看到/dev/sdb1 已创建完成
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e												#输入 e 将创建扩展分区
Partition number (1-4): 2
First cylinder (263-1305, default 263): 
Using default value 263
Last cylinder, +cylinders or +size{K,M,G} (263-1305, default 1305): 
#按回车把剩余的空间全部分到此分区
Using default value 1305
Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l												#选择 l 创建逻辑分区
First cylinder (263-1305, default 263): 
Using default value 263			#默认从 263 磁住开始分区
Last cylinder, +cylinders or +size{K,M,G} (263-1305, default 1305): +2GB
#创建 2GB 的逻辑分区
Command (m for help): p							#查看分区信息

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux
/dev/sdb2             263        1305     8377897+   5  Extended
/dev/sdb5             263         506     1959898+  83  Linux

Command (m for help): d							#删除分区
Partition number (1-5): 5						#删除第五个分区

Command (m for help): p							#查看是否删除

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux
/dev/sdb2             263        1305     8377897+   5  Extended

Command (m for help): w							#保存并退出

使用 partprobe命令让内核重新读取分区表,无需重启即可识别分区。

partprobe /dev/sdb

1.2 gpt 分区

以上是 MBR 分区,对于大于 2TB 的磁盘我们需要用另一个分区工具paeted,以下为parted分区的相关命令。

  • 修改分区表格式
parted /dev/sdc mklabel gpt		#修改分区表格式
parted /dev/sdc print			#查看系统分区表信息
  • 创建分区
    用法:parted [磁盘] mkpart 分区类型 文件系统类型 开始 结束
    其中 mkpart指的是创建新分区,分区类型有:primary、logical、extended 三种,文件系统有:fat16、fat32、ext2、ext3等,开始与结束默认单位 MB。
parted /dev/sdc mkpart primary ext3 1 2G
#创建一个 ext3 格式的分区,从磁盘 1M 开始到 2G,该分区共 2G
parted /dev/sdc mkpart primary ext3 2G 4GB
#创建第二个分区
parted /dev/sdc print 			#查看分区信息
  • 删除分区
parted /dev/sdc rm 2			#删除第二个分区

2 磁盘格式化与挂载

Linux 通过 mkfs 命令完成格式化操作,以 xfs 文件格式为例。

mkfs.xfs /dev/sdc1		#将dev/sdc格式化成 xfs 格式
mkswap /dev/sdc2		#对于交换分区的格式化

格式化后需要挂载后才可以使用。
挂载有两种方法:

  • 第一种:使用mount命令挂载,该方法可以立即生效使用,但计算机重启后无效。
    用法:mount [选项] [-o[选项]] 设备 挂载目录
    |选项 | 解释 |
    |–|--|
    | -a |挂载/etc/fstab 文件中未挂载的文件系统 |
    | -t |指定文件系统类型:ext2、ext3、xfs 等 |
    | -o |指定挂载属性 |
mkdir /data1			
mount /dev/sdc1 /data1/		#将/sdc1 挂载到/data1/下
mount						#查看挂载状况

umount /dev/sdc1			#卸载 sdc1
  • 第二种:修改系统文件/etc/fstab,文件内容如下:
...
UUID=7cfa3e05-0af4-4b68-832b-a538c434b4b7 /                       ext4    defaults        1 1
UUID=fef2bca6-156c-472a-9bad-22b3ab77118e /boot                   ext4    defaults        1 2
UUID=22a9ee79-0c64-4a57-a8e8-5f322bfd9c07 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
  • 第一列:设备名或者设备标签
  • 第二列:挂载目录的名称
  • 第三列:文件系统类型
  • 第四列:挂载属性
  • 第五列:系统是否使用 dump 进行备份,0 表示不备份,1 表示每天备份
  • 第六列:系统开机是否进行磁盘检测,根文件系统为 1,其他为 2,0 表示不检查
vim /etc/fstab
/dev/sdc1 /data1 xfs defaults 0 0			#最后一行插入,挂载 dev/sdc1
mount -a					#挂载 fstab 文件中尚未挂载的文件系统
mount						#检查挂载情况

猜你喜欢

转载自blog.csdn.net/weixin_45181224/article/details/91491708