1、硬盘扇区介绍

硬盘的扇区:硬盘上面的一种单位,大小为512Byte。硬盘上的第一个扇区很重要,里面放着MBR和分区表。
MBR(Master Boot Record,主引导分区):在硬盘中的第一个扇区里面,大小是446Byte,里面放的是引导加载程序(Boot loader)。
分区表:记录整块硬盘分区的状态,占64Byte。这也解释了我们电脑里最多只能有四个盘(CDEF),每个盘的地址占16Byte,分区表共64Byte,最多存四个
校验:2Byte
引导加载程序(Boot loader):找到内核文件在哪里,应该如何开机(Boot loader是装系统时,操作系统自己提供的)

2、为什么分区?

1) 优化I/O性能
2)实现磁盘空间配额限制
3)提高修复速度
4)隔离系统和程序

3、硬盘主分区和逻辑分区

通过参考柱面号来处理硬盘的,在分区表里面有64Byet,里面放着四组记录每个片区的启始与结束柱面号码。如下图,可以看到,第一个扇区放着的是MBR+分区表。表里放着后面四个分区的地址范围。在Windows下面这四块就是我们熟知的CDEF盘~ 这四个分区,称之为主分区(Primary)或扩展分区(Extended)。

image.png

分区的要求是:最多只能有四个主分区;要是有扩展分区,且只能有一个。那当我想分出四个以上的时候怎么办呢,这就引出了逻辑分区的概念。逻辑分区是在扩展分区内部划分出来的,扩展分区拿出一块扇区,用来记录逻辑分区里面的地址范围。如下图,在这里P1是主分区,P2是扩展分区。而在P2里面,又分出五个逻辑分区。怎么给这五块区域起名
对于IDE接口的硬盘呢,名字起为/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd.对于SCSI/SATA/USB接口的硬盘呢,就起为/dev/sda一直到/dev/sdp。
所以对这五块区域起名:
P1:/dev/hda1;
P2:/dev/hda2;
L1:/dev/hda5;
L2:/dev/hda6;
L3:/dev/hda7;
L4:/dev/hda8;
L5:/dev/hda9;

image.png

4、VM添加磁盘

image.png

image.pngimage.png
image.png
image.png
image.png

重启虚拟机

4、查看分区

4.1 fdisk -l 查看刚刚添加的分区

image.png4.2 查看分区命令:

4.2.1 df -h查看分区命令

image.png

4.2.2 检查磁盘是否分区

image.png

5、分区操作步骤:


任务:
服务器做磁盘分区,建立一个普通分区,以及LVM分区,供上线使用。

安装partprobe
yum -y install parted

5.1 分区介绍:

服务器线上磁盘分区大概有两种。
1、磁盘直接分区,把一块磁盘分成多个主分区,格式化后供系统使用。
2、把磁盘做成lvm,并使用lvm给系统使用方便以后的扩展。

5.2 磁盘直接分区并挂载:

使用命令:fdisk、mkfs.etx4、mount
编辑文件:/etc/fstab
/etc/fstab文件:
第一列:设备名称
第二列:挂载点
第三列:分区类型(ext2, ext3,ext4, swap.)
第四列:挂载选项
rules 是指挂载时的规则。下面列举几个常用的:
default 按照大多数永久文件系统的缺省值设置挂载定义
ro 按只读权限挂载
rw 按可读可写权限挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是
第五列&&第六列:dump、fsck
dump选项,设置是否让备份程序dump备份文件系统,0为忽略,1为备份,如果上次用dump备份,将显示备份至今的天数。
fsck选项,告诉fsck程序以什么顺序检查文件系统,为0就表示不检查,(/)分区永远都是1,其它的分区只能从2开始,当数字相同就同时检查(但不能有两1)

5.3 fdisk命令

针对/dev/sdb磁盘做分区:
fdisk -l /dev/sdb :列出/dev/sdb磁盘分区情况。
image.png
fdisk /dev/sdb:针对/dev/sdb进行分区。

主要用的几个选项:
-n:增加分区。
-p:列出当前分区使用情况。
-h:获得帮助
-t:改变磁盘类型
-w:保存当前设置
-q:退出不保存
-l:列出所有类型

第一步:增加分区
image.png

  1. Command (m for help): n #n选项
  2. Command action
  3. e extended #扩展分区
  4. p primary partition (1-4) #主分区
  5. p #选择主分区
  6. Partition number (1-4): 1 #选择主分区标示
  7. First cylinder (1-488787, default 1): #默认从磁盘1开始分区
  8. Using default value 1
  9. Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349): +100G #分配大小100G,如果为空,默认添加所有。

image.png

  1. Command (m for help): p #p选项列出当前分区使用情况。

/dev/sdb1分区已经做好。
image.png

  1. Command (m for help): w #保存建立好的分区(q退出,不生效)
  2. The partition table has been altered!


第二步:格式化分区

  1. [root@localhost ~]# mkfs.ext4 /dev/sdb1 #磁盘格式化成ext4
  2. [root@localhost ~]# mkdir /tmp/abc #创建目录


第三步:挂载&&永久挂载

  1. [root@localhost ~]# mount /dev/sdb1 /tmp/abc/ #把/dev/sdb1/挂载到目录/tmp/abc/下
  2. vim /etc/fstab #永久挂载,即开机自动挂载。

mount -a 读取/etc/fstab文件中的挂载信息,然后直接挂载到系统(推荐)

  1. [root@my-client ~]# cat /etc/fstab
  2. #
  3. # /etc/fstab
  4. # Created by anaconda on Sat Oct 17 19:46:49 2020
  5. #
  6. # Accessible filesystems, by reference, are maintained under '/dev/disk'
  7. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  8. #
  9. /dev/mapper/centos-root / xfs defaults 0 0
  10. UUID=343d1ec7-138d-4063-b3ff-af7768573304 /boot xfs defaults 0 0
  11. /dev/mapper/centos-swap swap swap defaults 0 0
  12. /dev/sdb1 /data2/ xfs defaults 0 0
  13. /dev/sdb2 /data5/ ext4 defaults 0 0
  14. [root@my-client ~]# mount -a


image.png
第四步:查看已经挂载的分区。

df -h      #可以查看当前系统磁盘挂载情况。

5.4 创建逻辑分区

image.png

image.png
image.png

image.png

image.png

image.png

6、 LVM分区并挂载

6.1 创建LVM分区

第一步:还是使用上面的/dev/sdb块磁盘
image.png

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3                                                          #3选择分区
First cylinder (26111-488787, default 26111):
Using default value 26111
Last cylinder, +cylinders or +size{K,M,G} (26111-267349, default 267349):           #使用默认所有空间
Using default value 267349

使用p选项查看刚刚的分区
image.png

第二步:使用t参数改变分区格式

Command (m for help): t                   #改变磁盘类型
Partition number (1-4): 3                 #选在磁盘分区

image.png

第三步 选择分区格式**

Hex code (type L to list codes): 8e           #选择8e模式,lvm格式
Command (m for help): p                            #查看

image.png
image.png

7、创建LVM

7.1 LVM基本术语

物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
简单来说就是:
PV:是物理的磁盘分区
VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。
LV:也就是从VG中划分的逻辑分区

如下图所示PV、VG、LV三者关系:

image.pngimage.png

7.2 创建 PV

[root@localhost abc]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created     #创建成功
pvdisplay :列出存在的pv
[root@localhost abc]# pvdisplay
  "/dev/sdb3" is a new physical volume of "1.80 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb3                                             #刚创建的
  VG Name              
  PV Size               1.80 TiB
  Allocatable           NO
  PE Size               0  
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               nKbZEP-9a9k-G90s-R0rk-lLrv-hoUi-n7Pgoh

7.3 创建VG

[root@localhost abc]# vgcreate LVM1 /dev/sdb3
  Volume group "LVM1" successfully created
创建vg成功,名为:LVM1
 [root@localhost abc]# vgdisplay                       #列出创建的VG

7.4 创建LV

创建完成VG之后,才能从VG中划分一个LV

[root@localhost ~]# lvcreate -L  500G -n lv_disk1 LVM1       #划分一个500G的lv,并命令为:lv_disk1
-l 指定逻辑单元的个数  
-L 指定大小
Logical volume "lv_disk1" created

7.5 格式化磁盘

[root@localhost ~]# mkfs.ext4 /dev/LVM1/lv_disk1
等待段时间完成。

7.6 磁盘挂载

mount /dev/LVM1/lv_disk1 /tmp/mysql                    #挂载完成
 或者使用mount -a
配置到/etc/fstab永久生效

7.7 附

pvs查看pvimage.png

pvscan 查看pv信息
image.png

vgs查看vg的个数
image.png