创建LVM分区:
相关命令: pvcreat /dev/sdb{1,2,3} 创建物理卷
vgcreat test_vg1 /dev/sdb1 创建卷组
vgcreat test_vg2 -s 16M /dev/sdb2 /dev/sdb3 指定PE大小为16M
lvcreat 在已存在的卷组中创建逻辑卷
-l 指定使用多少了卷组中的PE创建逻辑卷
-L 直接指定逻辑卷的大小
-n 指定逻辑卷名称
实例:
1》使用fdisk 创建分区,并将分区标签改为LVM(8e)
fdisk -cu /dev/sdb
partprobe /dev/sdb 保存分区表信息
将三个主分区和一个逻辑分区的标签修改为8e
2》使用pvcreat 创建物理卷并使用 pvdisplay查看结果
pvcreat /dev/sdb{1,2,3,5}
2》使用pvcreat 创建物理卷并使用 pvdisplay查看结果
pvcreat /dev/sdb{1,2,3,5}
4》使用lvcreate创建逻辑卷并使用 lvdisplay 查看结果
lvcreate -n test_web -L 25G test_vg
lvcreate -n test_data -L 15G test_vg
5》格式化并挂载
修改LVM分区容量: LVM随时可以帮助我们动态调整文件系统的大小,如果卷组还有足够的剩余空间可以划分给逻辑卷,那么我们可以直接使用lvextend命令调整逻辑卷的大小。但lvextend仅调整逻辑卷的大小,使用该命令调整完逻辑卷大小后,还需要使用resize2fs命令更新文件系统的大小。此外,当我们的卷组没有足够的空间划分给逻辑卷时,LVM的卷组的卷组也是可以动态调整容量大小的,这时需要使用fdisk创建一个新的分区,并使用pvcreate 命令转换为物理卷格式 ,接着通过vgextend将新的物理卷追加至现由的卷组空间中,最后使用lvextend调整逻辑卷的容量。
相关命令:
lvextend -L +5G /dev/test_vg/test_data 逻辑卷增加5G
resize2fs /dev/test_vg/test_data
pvcreate /dev/sdb6
vgextend test_vg /dev/sdb6
lvextend -L 25G /dev/test_vg/test_data 将逻辑卷增加到25G
resize2fs /dev/test_vg/test_data
删除LVM分区:删除LVM分区的顺序应该与创建时的顺序相反,也就是卸载文件系统,删除逻辑卷,删除卷组,删除物理 卷,卸载文件系统时需要注意,如果有必要应该更新/etc/fstab。
相关命令:
umount /dev/test_vg/test_data
umount /dev/text_vg/test_web
lvremove /dev/test_vg/test_data
lvremove /dev/test_vg/test_web
vgremove test_vg
pvremove /dev/sdb{1,2,3,5,6}
RAID磁盘阵列概述:RAID即独立冗余磁盘阵列,其思想是将多块独立的磁盘按不同的方式组合为一个逻辑磁盘,从而提高存储容量,提升存储性能或提供数据备份 功能。
RAID级别:
RAID 0:(不含校验和冗余的条带存储)
数据将被分割并分别存储在每块硬盘中,所以能最大的提升存储性能与存储空间,但无法容错,RAID 0至少需要两块磁盘,RAID 0的总存储空间为两块磁 盘存储空间之和;
RAID 0
DATA 1 DATA2
DATA3 DATA4
RAID 1 :(不含校验的镜像存储)
数据将被同时复制到每块磁盘中,制作这种磁盘至少需要两块磁盘,只要有一块磁盘可用,即可正常工作,该级别的阵列安全性是最好的,写入数据的 效率会降低,读取数据的效率会提升,但是磁盘的利用率是最低的,其总存储空间与每块磁盘的存储空间一样;
RAID 1
DATA 1 DATA 1
DATA 2 DATA 2
RAID 2:(位级别的校验式条带存储)
多块磁盘组合为RAID 2后,数据将以位为单位同步式分别存储在不同的硬盘上,并采用海明码(海明码是一种具有纠错功能的校验码)对数据进行校验 与恢复。其允许三块磁盘中的任何一块磁盘损坏,并能够对未损坏的两块磁盘进行运算后还原已损坏磁盘上的数据,从而实现数据恢复的功能。RAID 2 对大数据量的读写具有很高的性能,但对少量数据的读写时性能反而不好,该磁盘阵列至少需要三块硬盘;
RAID 2
DATA 1 DATA 2 Parity1
DATA 3 DATA 4 Parity 2
RAID 4: (数据块级别的校验式条带存储)
RAID 4
DATA 1 DATA 2 DATA 3 Parity 1
DATA 4 DATA 5 DATA 6 Parity 2
RAID 5:(数据块级别的分布式校验条带存储)
多块磁盘组合为RAID 5后,数据将以块为单位同步式分别存储在不同的硬盘上,并对数据进行海明码运算,与其他级别不同的是该级别的海明码会被写入 不同的磁盘;
RAID 5
DATA 1 DATA 2 Parity 1
DATA 3 Parity 2 DATA 4
Parity 3 DATA 5
RAID 10:(镜像与条带存储)
RAID 10不是独创的一种RAID级别,它由RAID 0与RAID 1结合而成,RAID 10 继承了RAID 0的快速与高效,同时也继承了RAID 1的数据安全,RAID 10至少需要四块硬盘。RAID 10通常有两种结构,一种是RAID 0+1结构,一种是RAID 1+0结构。如果是RAID 1+0 ,则小使用四块硬
盘组合成两个独立的RAID 1,然后将两个RAID 1再组合为一个RAID 0;它的缺点是磁盘利用率很低,只有百分之五十;
RAID 10 (1+0)
DATA 1 DATA 1 DATA 2 DATA 2
DATA 3 DATA 3 DATA 4 DATA 4
RAID 10 (0+1)
DATA 1 DATA 2 DATA 1 DATA 2
DATA 3 DATA 4 DATA 3 DATA 4
创建与管理软RAID实例:
1》查看磁盘信息,可以将每块硬盘分一个区组建RAID,也可以对硬盘分多个区实现软RAID;
2》创建硬盘分区:
将三块磁盘都进行分区后,运行 partprobe -a 命令更新分区表
3》创建RAID (分别创建 RAID 0 与 RAID 5)
相关命令: mdadm
-C 创建软件RAID
-l 指定RAID 级别
-n 指定磁盘个数
-x 指定备用设备个数
mdadm -C /dev/md0 -l 0 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm -C /dev/md1 -l 5 -n 3 -x 1 /dev/sdb2 /dev/sdc2 /dev/sde2
mdadm --detail /dev/md0 查看的md0信息
mdadm --detail /dev/md1 查看md1的信息
4》格式化与挂载
mkfs.ext4 /dev/md0
mkdir /raid0
mount /dev/md0 /raid0
mkfs.ext4 /dev/md1
mkdir /raid5
mount /dev/md1 /raid5
将磁盘阵列设备设置为开机自动挂载项,系统开机会读取磁盘阵列的配置文件/etc/mdadm.conf(此文件原 先不存在)以启动RAID设备。下面的命令可以帮助我们快速创建这样的配置文件,DEVICE 行代表填写所有磁盘阵列的设备成员名称,ARRAY行描述磁盘阵列具体的基本信息,包括名称,级别,UUID等信息;
=========================================
RAID 性能测试:
============普通磁盘:写入模拟===============
================RAID 0:写入模拟===============
==============RAID 5:写入模拟==============
*****由于RAID 5需要生成校验位数据,所以写入数据的速度比RAID 0慢,但比普通磁盘快;
RAID 故障模拟:
mdadm /dev/md1 -f /dev/sdb2
注意: 使用 -f 选项可以模拟磁盘sdb2的损坏;