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)。
分区的要求是:最多只能有四个主分区;要是有扩展分区,且只能有一个。那当我想分出四个以上的时候怎么办呢,这就引出了逻辑分区的概念。逻辑分区是在扩展分区内部划分出来的,扩展分区拿出一块扇区,用来记录逻辑分区里面的地址范围。如下图,在这里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;
4、VM添加磁盘
重启虚拟机
4、查看分区
4.1 fdisk -l 查看刚刚添加的分区
4.2 查看分区命令:
4.2.1 df -h查看分区命令
4.2.2 检查磁盘是否分区
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磁盘分区情况。
fdisk /dev/sdb:针对/dev/sdb进行分区。
主要用的几个选项:
-n:增加分区。
-p:列出当前分区使用情况。
-h:获得帮助
-t:改变磁盘类型
-w:保存当前设置
-q:退出不保存
-l:列出所有类型
第一步:增加分区
Command (m for help): n #n选项
Command action
e extended #扩展分区
p primary partition (1-4) #主分区
p #选择主分区
Partition number (1-4): 1 #选择主分区标示
First cylinder (1-488787, default 1): #默认从磁盘1开始分区
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349): +100G #分配大小100G,如果为空,默认添加所有。
Command (m for help): p #p选项列出当前分区使用情况。
/dev/sdb1分区已经做好。
Command (m for help): w #保存建立好的分区(q退出,不生效)
The partition table has been altered!
第二步:格式化分区
[root@localhost ~]# mkfs.ext4 /dev/sdb1 #磁盘格式化成ext4
[root@localhost ~]# mkdir /tmp/abc #创建目录
第三步:挂载&&永久挂载
[root@localhost ~]# mount /dev/sdb1 /tmp/abc/ #把/dev/sdb1/挂载到目录/tmp/abc/下
vim /etc/fstab #永久挂载,即开机自动挂载。
mount -a 读取/etc/fstab文件中的挂载信息,然后直接挂载到系统(推荐)
[root@my-client ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Oct 17 19:46:49 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=343d1ec7-138d-4063-b3ff-af7768573304 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /data2/ xfs defaults 0 0
/dev/sdb2 /data5/ ext4 defaults 0 0
[root@my-client ~]# mount -a
第四步:查看已经挂载的分区。
df -h #可以查看当前系统磁盘挂载情况。
5.4 创建逻辑分区
6、 LVM分区并挂载
6.1 创建LVM分区
第一步:还是使用上面的/dev/sdb块磁盘
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选项查看刚刚的分区
第二步:使用t参数改变分区格式
Command (m for help): t #改变磁盘类型
Partition number (1-4): 3 #选在磁盘分区
第三步 选择分区格式**
Hex code (type L to list codes): 8e #选择8e模式,lvm格式
Command (m for help): p #查看
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三者关系:
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查看pv
pvscan 查看pv信息
vgs查看vg的个数