文章目录
RAID技术
RAID:磁盘阵列
优点:
提高磁盘IO能力,磁盘能够并行读写
提高耐用性,磁盘冗余来实现
简单理解感觉就是把多个相对便宜的硬盘组合起来,成为一个硬盘数组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。
实现方式:
外接式磁盘阵列:通过扩展卡提供适配功能
内接式磁盘阵列:集成到主板上的RAID控制器
Software RAID: 通过软件来实现RAID功能
1. 软RAID:通过软件方式模拟实现
2. 硬RAID:从物理服务器层面:通过RAID适配器实现RAID
级别:
多块磁盘组成在一起工作的方式不同
RAID0
- 读写性能会提高
- 可用空间: N * MIN (总的可用空间由最小的硬盘决定,类似于木桶效应)
- 没有冗余特性和容错特性
- 最少磁盘数量: 2
数据分为多块。每块存在不同硬盘上。
RAID1
- 读性能提升,写性能略有下降
- 可用空间: 1 * MIN
- 用容错能力
- 最少磁盘数量: 2
一份数据写多次,其他盘作为备用盘备份,安全性高。
RAID4
- 读性能提升,写性能略有下降
- 可用空间:N * MIN
- 有冗余特性(有专门的备份盘)
- 最少磁盘数量: 2
类似于RAID1,但有一块专门的硬盘作为数据的备份盘。
RAID5
- 读写性能都会提高
- 可用空间: N-1 * MIN
- 有冗余特性(通过校验数据的方式:1个盘的空间)
- 最少磁盘数:3
仅能容许一块磁盘损毁,可通过校验数据逆推恢复损坏的磁盘。
RAID6
- 读写性能都会提高
- 可用空间: N-2 * MIN
- 有冗余特性(通过校验数据的方式:2个盘的空间)
- 最少磁盘数:4
RAID10 : 先做RAID1再做RAID0
- 读写性能都会提高
- 可用空间: N * min /2
- 有冗余特性
- 最少磁盘数: 4
RAID 10 就是先建立 2 组 RAID 1(一份数据存两份),接着这 2 组 RAID 1 再组合成 RAID 0(数据分多块写入不同盘上)
RAID01 : 先做RAID0再做RAID1
- 读写性能会提高
- 可用空间:N * min /2
- 有冗余特性
- 最少磁盘数: 4
LVM技术
LVM 逻辑卷管理: 在物理设备上进行一层抽象,允许生成逻辑存储卷,相比于物理存储管理更加灵活。
LVM将存储虚拟化,不受限于物理设备,屏蔽硬件相关存储参数,不需要卸载文件系统来去调整卷大小或者数据迁移等。
优点:灵活/可伸缩的存储池/在线的数据分配/管理命令简洁/卷快照等等
- 基本术语:
物理存储介质: 系统上的/dev/sda
物理卷: PV /dev/sda1 /dev/sdb1…
卷组: VG 由多个PV组成的存储资源池
逻辑卷: LV 从VG中拿存储资源直接使用
PE: 物理卷被划分成PE的基本单元(每个PE默认为4MB)
LE: 逻辑卷被划分成LE的基本单位(同一个卷组中 LE和PE相同的)
关系:
用户直接使用逻辑卷。
环境准备
右击虚拟机设置,点击硬盘,添加。
磁盘类型选择SCSI
接下来查看一下新加的磁盘,因为使第二块添加的磁盘,所以可以找到磁盘sdb
接下来用fdisk /dev/sdb命令,分区。
重复三次后,w命令保存退出,最后看一下结果。
PV管理工具
pvcreate命令: 创建PV
使用方式: pvcreate <devices…>
[root@test ~]# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
pvs命令: 显示pv的相关信息
pvdisplay命令:显示PV的详细信息
VG管理工具
vgcreate命令:创建VG
使用方式: vgcreate <vg_name> <pvs…>
[root@test ~]# vgcreate vg_test /dev/sdb1 /dev/sdb2
vgs命令:查看vg相关信息
vgdisplay命令:查看vg详细信息
vgextend命令:扩展vg大小
[root@test ~]# vgextend vg_test /dev/sdb3
vgreduce命令:缩减vg大小
vgremove命令:删除vg
LV管理工具:
lvcreate命令:创建lv
使用方式: lvcreate -L #[mMg…] -n [name] <vg_name>
lvs命令:显示lv相关信息
lvdisplay命令:显示lv详细信息
[root@test ~]# lvdisplay /dev/vg_test/lv_test1
lvsremove命令: 删除lv
使用方式:
- lvremove <vg_name> <lv_name>
- lvremove </path/to/lv>
path: [root@test ~]# cat /dev/vg_test/lv_test
[root@test ~]# lvremove vg_test lv_test1
扩展逻辑卷:
lvextend -L [+]#[MmGg] <lv_name|path/to/lv>
resize2fs <lv_name|/path/to/lv>
缩减逻辑卷:
umount /path/to/lv
lvreduce -L [+]#[MmGg] <lv_name|path/to/lv>
e2fsck -f /path/to/lv
resize2fs /path/to/lv
mount
快照功能:
lvcreate -s|–snapshot -L|–size Size[m|UNIT] LV
使用方式:
lvcreate -L Size[MmGg…] -s -n <Snapshot_name> <lv_name>
[ -p|--permission rw|r ] 设置快照权限
练习题
- 创建一个至少有两个PV组成的大小为20G名为testvg的VG;要求PE大小为16MB,然后在卷组中创建大小为5G的逻辑卷testlv,挂载至/users目录
- 新建用户eagle,家目录为/users/eagle/,然后切换至centos用户,复制/etc/fstab文件至自己的家目录
- 扩展testlv至7G,要求eagle用户的文件不能丢失
- 收缩testlv至3G,要求eagle用户的文件不能丢失
- 对testlv创建快照,并尝试基于快照备份数据,验证快照的功能