一、lvm 是什么?干嘛的? 怎么用?
1.1 是什么?

LVM概念
PV(Physical Volume,物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(PE),从而构成物理卷。

VG(Volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。

LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,形成逻辑卷。使用 mkfs 等工具可在逻辑卷上创建文件系统。

1.2 干嘛的?

lvm 方便扩容、可以无视磁盘/分区的物理空间限制

1.3 怎么用?

目的:lvm逻辑卷 (最终管理的是PE单元--4M/PE)
1、准备磁盘 或者 分区 
2、组成物理卷(pv)
3、组成卷组(VG)
4、制作逻辑卷(lvcreate)

lvm命令

LVM 管理命令对照表

功能PV 管理命令VG 管理命令LV 管理命令
Scan(扫描)pvscanvgscanlvscan
Create(建立)pvcreatevgcreatelvcreate
Display(显示)pvdisplayvgdisplaylvdisplay
Remove(移除)pvremovevgremovelvremove
Extend(扩展)-vgextendlvextend
Reduce(减少)-vgreducelvreduce

前提Linux应安装 yum install -y lvm*

磁盘:
对磁盘进行分区、格式化、挂载、能够使用lvm对磁盘进行扩容操作

二、LVM操作主要命令步骤

2.1 关闭主机

添加两块新硬盘,重启主机

输入命令 
echo "- - -" > /sys/class/scsi_host/host0/scan

2.2 先使用 fdisk 工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区

sdb1、sdc1
fdisk /dev/sdb
fdisk /dev/sdc
fdisk -l

2.3 创建物理卷

 sdb1 sdb2
pvcreate /dev/sdb1 /dev/sdc1
 pvscan 扫描

2.4 创建卷组

卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdc1
vgscan 扫描
vgdisplay  展示

2.5 创建逻辑卷

逻辑卷名为lvname1,容量为 20GB,生成的文件路径为/dev/vgname1/lvname1
lvcreate -L 20G -n lvname1 vgname1 
lvdisplay 展示    ls /dev/vgname1

2.6 对逻辑卷进行格式化

创建 XFS 文件系统,并挂载到/opt目录下
mkfs -t xfs /dev/vgname1/lvname1
mount /dev/vgname1/lvname1 /opt
df -hT

在末尾添加一行:(其实只要添加进去就行)
plaintext
永久挂载 /dev/vgname1/lvname1   /opt/myapp   xfs   defaults   0 0

2.7 再扩容

vgextend vgname1 /dev/sdc2
lvextend -L +10G /dev/vgname1/lvname1
resize2fs /dev/vgname1/lvname1 
           #刷新ext4类型文件系统容量

三、RAID

3.1 相关场景类型介绍:

政务、金融场景 (数据的安全性要求 成本次要考虑)
小说网站、博客(需求的读数据的速度要快)

磁盘的性能如何调整(读/写的速度快、安全性好、成本/安全/速度尽量兼顾)
硬件设备:RAID 磁盘阵列柜 (可以安装多块磁盘,可以把多个磁盘组合在一起,实现不同性能效果)

                                                        配置操作界面

3.2 RAID 0

3.3 RAID 1 

最少需要两块磁盘,提供数据冗余;性能好。

3.4 RAID 5 

最少3块磁盘,数据条带形式分布,以奇偶效验作冗余。适合多读少写的情景,是性能与数据冗余最佳的折中方案。

3.5 RAID 1+0

最少4块磁盘;先按RAID0 分成两组,再分别对两组按RAID1 方式镜像;兼顾冗余(提供镜像存储)和性能(数据条带形分布),在实际应用中较为常用。

补充 RAID 0+1也有但因其特性几乎不用于生产环境。先分成两组做 RAID0再把两组整体做, RAID1 镜像只要其中一组里 坏1块盘 → 整个 RAID0 组失效,只剩另一组在跑,再坏一块就直接不能使用。

RAID 级别对比表

特性RAID 0(条带卷)RAID 1(镜像卷)RAID 5RAID 1+0
基础需要几块盘22(偶数)≥3 块≥4 块
读写速度读/写:n 块盘的性能读:n块,写:接近 n /2块读:高性能,写:略低写:n/2,读:接近 n
有无容灾无有有有
允许坏几块盘不允许n/2任意 1 块每组 RAID 1 允许坏任意 1 块
适用场景仅注重速度数据安全性要求高的场景成本/安全/速度兼顾预算充足的高性能高可用场景

四、SWAP 是什么?? 干嘛的? 为什么要用它? 

4.1 是什么

swap 是交换分区,本质上是磁盘的存储空间

4.2 干嘛的

作用是:磁盘空间可以分出一部分区域 给内存使用(一般用于读数据+临时写数据)

系统就把内存里暂时不用的数据,挪到 SWAP 分区里存着

                                             swap的作用相应命令中的管道“|“的逻辑 如图

4.3 为什么用?

防止内存爆了导致系统卡死、宕机,让系统在内存不足时还能继续运行,服务器高并发、负载突增时的安全缓冲。

补充:一些命令

wc -l 统计"文本/文件"行数
cat 打开并查看文件的内容
ls 查看目录的文件列表

查看内存与swap 空间的信息
free -m(表示以MB为单位进行显示) -g 

总结

LVM操作主要命令步骤
1.关闭主机,添加两块新硬盘,重启主机
或echo "- - - " > /sys/class/scsi_host/host0/scan 扫描

2.先使用fdisk工具讲磁盘设备/dev/sdb、/dev/sdc划分主分区sdb1、sdc1,并且把分区类型的ID标记号改为“8e”
fdisk /dev/sdb
fdisk /dev/sdc

3.创建物理卷
pvcreate /dev/sdb1 /dev/sdc1 

4.创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdc1

5.创建逻辑卷,逻辑卷名为lvname1,容量为20GB,生产的文件路劲为/dev/vgname1/lvname1
lvcreate -L 20G -n lvname1 vgname1

6.对逻辑卷进行格式化,创建XFS文件系统,并且挂载到/opt目录下
mkfs -t xfs /dev/vgname1/lvname1
mount /dev/vgname1/lvname1 /opt目录下
df -Th

7. 再扩容

vgextend vgname1 /dev/sdc2
lvextend -L +10G /dev/vgname1/lvname1
xfs_growfs /dev/vgname1/lvname1          //刷新xfs文件系统容量
resize2fs   /dev/vgname1/lvname1         //刷新ext4类型文件系统容量

创建 LVM 流程: 
pvcreate 创建 pv -> vgcreate 创建卷组 -> lvcreate 创建逻辑卷 -> mkfs.xfs lv 格式化-> mount 挂载

删除 LVM 流程:
umount 卸载 -> lvremove lv 移出卷组中所有逻辑卷-> vgremove vg 移出卷组-> pvremove 移出 pv


 

更多推荐