磁盘分区、LVM
一、磁盘的使用
Linux 中硬盘的使用
识别硬盘 => 分区规划 => 格式化 => 挂载使用
扇区默认的大小:512字节
1、Linux 磁盘表示
linux 中一般硬件设备都在 /dev 目录下
磁盘一般表示为:/dev/<x>d<y>
'x 部分取值意义:'
h IDE 接口硬盘
s 非IDE接口硬盘(SATA、SCSI)
v 虚拟机磁盘
'y 部分取值意义:'
a 第一块硬盘
b 第二块硬盘
c 第三块硬盘
...
'示例:'
/dev/hdb # 第二块IDE接口的硬盘
/dev/vda3 # 第一块虚拟磁盘第三个分区
/dev/sdd1 # 第四块非IDE接口的第一个分区
[root@server0 ~]# lsblk # 显示当前系统识别的所有硬盘
NAME SIZE TYPE MOUNTPOINT
vda 10G disk
└─vda1 10G part /
vdb 10G disk
2、分区规划
分区模式
-
MBR:主引导记录分区模式
- 最大空间支持2.2TB
- 分区的类型:主分区、扩展分区、逻辑分区
- 1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)
- 扩展分区不能格式化
-
GPT:GUID分区表
- 最大空间支持18EB(1EB=1024PB 1PB=1024TB)
- 没有主分区和逻辑分区之分
- 每个硬盘最多可以有128个分区
-
分区表:存放硬盘所有分区信息的表格
fdisk 分区操作
# 使用fdisk分区工具,划分两个主分区分别为2G与1G
[root@server0 ~]# fdisk /dev/vdb
n 创建新的分区-----> 回车-----> 回车----> 回车-----> 在last结束时 +2G
p 查看分区表
n 创建新的分区-----> 回车-----> 回车----> 回车-----> 在last结束时 +1G
d 删除分区
w 保存并退出
[root@server0 ~]# lsblk # 查看识别的硬盘设备
[root@server0 ~]# ls /dev/vdb[1-2] # 查看分区设备文件
3、格式化
格式化:赋予空间文件系统的过程
- 文件系统:空间存储数据的规则
- Linux:ext4(RHEL6)、xfs(RHEL7)
- Windows:FAT、NTFS
[root@server0 ~]# mkfs.ext4 /dev/vdb1 # 格式化ext4文件系统
[root@server0 ~]# blkid /dev/vdb1 # 查看设备文件系统类型
[root@server0 ~]# mkfs.xfs /dev/vdb2 # 格式化xfs文件系统
[root@server0 ~]# blkid /dev/vdb2 # 查看设备文件系统类型
4、挂载使用
# 挂载使用
[root@server0 ~]# mkdir /mnt/mypart1
[root@server0 ~]# mount /dev/vdb1 /mnt/mypart1
[root@server0 ~]# df -h # 正在挂载使用的分区, 空间使用情况
[root@server0 ~]# mkdir /mnt/mypart2
[root@server0 ~]# mount /dev/vdb2 /mnt/mypart2
[root@server0 ~]# df -h
# 开机自动挂载配置/etc/fstab
[root@server0 ~]# vim /etc/fstab
/dev/vdb1 /mypart1 ext4 defaults 0 0
/dev/vdb2 /mypart2 xfs defaults 0 0
'设备路径 挂载点 文件系统类型 参数 备份标记 检测顺序'
# 卸载
[root@server0 ~]# umount /mnt/mypart1 # 卸载挂载点挂载的设备
[root@server0 ~]# umount /mnt/mypart2 # 卸载挂载点挂载的设备
[root@server0 ~]# df -h
# 检测
[root@server0 ~]# mount -a
1.检测 /etc/fstab 开机自动挂载配置文件,格式是否正确
2.检测 /etc/fstab 中,书写完成但当前没有挂载的设备,并对其进行挂载
5、总结
'总结:'
1. 识别硬盘:lsblk
2. 分区的规划:fdisk
3. 刷新分区表:partprobe
4. 格式化文件系统:mkfs.ext4、mkfs.xfs --> blkid(查看文件系统类型)
5. 挂载使用:mount(手动) --> /etc/fstab(开机自动挂载) --> mount -a
6. 查看检测:df -h (查看正在挂载的设备使用情况)
############################################################################
'综合分区:利用图形新添加一块80G硬盘'
'最终有3个主分区,分别为20G、10G、12G'
'创建扩展分区 ---> 三个逻辑分区,分别为5G、6G、7G'
[root@server0 ~]# fdisk /dev/vdc
p 查看分区表
n 创建主分区----->回车----->回车---->回车----->在last结束时 +20G
n 创建主分区----->回车----->回车---->回车----->在last结束时 +10G
n 创建主分区----->回车----->回车---->回车----->在last结束时 +12G
p 查看分区表
n 创建扩展分区
----->回车---->起始回车----->结束回车 将所有空间给扩展分区
p 查看分区表
n 创建逻辑分区----->起始回车------>结束+5G
n 创建逻辑分区----->起始回车------>结束+6G
n 创建逻辑分区----->起始回车------>结束+7G
p 查看分区表
w 保存并退出
[root@server0 ~]# partprobe # 刷新分区表
############################################################################
'综合分区:利用图形新添加一块80G硬盘'
'最终有3个主分区,分别为10G、10G、10G'
'创建扩展分区 ---> 两个逻辑分区,分别为10G、10G'
[root@server0 ~]# fdisk /dev/vdc
p 查看分区表
n 创建主分区----->回车----->回车---->回车----->在last结束时 +10G
n 创建主分区----->回车----->回车---->回车----->在last结束时 +10G
n 创建主分区----->回车----->回车---->回车----->在last结束时 +10G
p 查看分区表
n 创建扩展分区
----->回车---->起始回车----->结束回车 将所有空间给扩展分区
p 查看分区表
n 创建逻辑分区----->起始回车------>结束+10G
n 创建逻辑分区----->起始回车------>结束+10G
p 查看分区表
w 保存并退出
[root@server0 ~]# partprobe # 刷新分区表
二、LVM
1、概念
LVM(Logical volume Manager)是逻辑卷管理的简称。
LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。
LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的。
LVM:逻辑卷管理
-
整合分散空间
-
空间可以扩大
物理卷
Physical Volume卷组
Volume Group逻辑卷
Logical Volume
2、LVM 管理工具
| 功能 | 物理卷(PV)管理 | 卷组(vg)管理 | 逻辑卷(lv)管理 |
|---|---|---|---|
| Scan 扫描 | pvscan | vgscan | lvscan |
| Creat 创建 | pvcreate | vgcreate | lvcreate |
| Display 显示 | pvdisplay | vgdisplay | lvdisplay |
| Remove 删除 | pvremove | vgremove | lvremove |
| Extend 扩展 | / | vgextend | lvextend |
3、制作
pv 物理卷
首先我们需要将物理设备(可以是未分区的物理磁盘 /dev/sdb、也可以是物理分区 /dev/sdb1 )格式化为PV(物理卷)
[root@server0 ~]# pvcreate /dev/sdb1 /dev/sdc
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@server0 ~]# pvs # 简略查看
[root@server0 ~]# pvdisplay # 详细查看
vg 卷组
'vgcreat <卷组名> <物理卷1> <物理卷2> ... <物理卷n> '
------------------------------------------------------------------
[root@server0 ~]# vgcreat myvg /dev/sdb1 /dev/sdc
Volume group "myvg" successfully created
[root@server0 ~]# vgs # 简略查看
[root@server0 ~]# vgdisplay # 详细查看
lv 逻辑卷
'针对卷组的划分,有一个默认的空间单位:PE'
'PE 的默认大小为 4M'
------------------------------------------------------------------
[root@server0 ~]# vgdisplay myvg
PE Size 4.00 MiB # 详细信息中可查看默认PE的大小
... ...
[root@server0 ~]# vgchange -s 1M myvg # 修改PE的大小
操作
'lvcreate -n <逻辑卷名> -L <大小:K|M|G|T> <基于的卷组名>'
'lvcreate -n <逻辑卷名> -l <PE大小(1PE=4M)> <基于的卷组名>'
------------------------------------------------------------------
[root@server0 ~]# lvcreate -n mylv -L 20G myvg
Logical volume "mylv" created.
[root@server0 ~]# lvs # 简略查看
[root@server0 ~]# lvdisplay # 详细查看
挂载使用
[root@server0 ~]# mkfs.xfs /dev/mypv/mylv
[root@server0 ~]# mount /dev/mypv/mylv /mnt
逻辑卷的扩容
- 卷组有足够的剩余空间时
- 直接使用扩容命令
- 扩容后刷新文件系统
[root@server0 ~]# lvextend -L 25G /dev/mypv/mylv
[root@server0 ~]# xfs_growfs /dev/mypv/mylv # 刷新文件系统
------------------------------------------------------------------
'resize2fs:专用于ext4文件系统的刷新'
'xfs_growfs:专用于xfs文件系统的刷新'
- 卷组没有足够的剩余空间时
- 首先对卷组扩容:vgextend
- 再对逻辑卷扩容:lvextend
- 刷新文件系统:resize2fs、xfs_growfs
[root@server0 ~]# vgextend myvg /dev/vdc # 将 /dev/vdc 这个pv加入myvg卷组中
[root@server0 ~]# lvextend -L 25G /dev/mypv/mylv
[root@server0 ~]# xfs_growfs /dev/mypv/mylv # 刷新文件系统
逻辑卷的缩小
注意:ext4支持;xfs不支持
[root@server0 ~]# umount /dev/myvg/mylv # 首先卸载逻辑卷
[root@server0 ~]# resize2fs /dev/myvg/mylv 20G # 收缩文件系统
[root@server0 ~]# lvreduce -L 20G /dev/myvg/mylv # 最后缩小逻辑卷
删除
删除卷组前提:基于此卷组创建的逻辑卷全部删除
删除逻辑卷
- 首先删除逻辑卷
- 然后在删除卷组
- 最后删除物理卷
岁月悠悠!亘古一顺!

浙公网安备 33010602011771号