一、LVM概念:
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。
二、LVM的特点:
#传统分区的缺点:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变。当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。
#当采用LVM时:
1.将硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.当磁盘空间不足而加入新的硬盘时,不必将数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。
3.文件系统建立在LVM上,可以跨分区,方便使用;
#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
三、LVM的制作
第一步:拥有基本分区
第二步:做成物理卷: pv ------- sdb1、sdb2 打pv的标记。
第三步:加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。
第四步:逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
第五步:制作文件系统------mkfs.xfs lvm路径
第六步:挂载 ------mount 使用lvm
#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的
四、制作逻辑卷
1.添加硬盘
2.创建物理卷
[root@localhost ~]# pvcreate /dev/sdb
3.查看物理卷信息
[root@localhost ~]# pvs pvscan pvdisplay
4.创建卷组
[root@localhost ~]# vgcreate test1 /dev/sdb
5.查看卷组信息
[root@localhost ~]# vgs vgscan vgdisplay
6.创建逻辑卷
[root@localhost ~]# lvcreate -L 10G -n lv1 test1
7.查看逻辑卷信息
[root@localhost ~]# lvs lvscan lvdisplay
8.用卷组剩余空间创建逻辑卷
[root@localhost ~]# lvcreate -n lv2 -l +100%FREE test1
9.给逻辑卷制作文件系统
[root@localhost ~]# mkfs.ext4 /dev/test1/lv1
[root@localhost ~]# mkfs.xfs /dev/test1/lv2
10.挂载
[root@localhost ~]# mkdir /data1
[root@localhost ~]# mount /dev/test1/lv1 /data1
[root@localhost ~]# mkdir /data2
[root@localhost ~]# mount /dev/test1/lv2 /data2
11.自动挂载
[root@localhost ~]# df -Th #查看一下
[root@localhost ~]# vi /etc/fstab
/dev/mapper/test1-lv1 /data1 ext4 defaults 0 0
/dev/mapper/test1-lv2 /data2 xfs defaults 0 0
[root@localhost ~]# mount -a #自动挂载
五、逻辑卷的扩容
//卷组没有空间的情况
#拓展->硬盘测压
[root@localhost ~]#dd if=/dev/zero of=/data1/a.txt bs=1000M count=9
if #进入 /dev/zero 与 /dev/null 相反
of #拿出
1.添加硬盘做物理卷
[root@localhost ~]# pvcreate /dev/sdb
2.给卷组扩容
[root@localhost ~]# vgextend xian2305 /dev/sdc
[root@localhost ~]# vgextend /dev/test1 /dev/sdc
3.卷组缩容
vgreduce 卷组名称 /dev/sdc #卸载卷组里面的物理卷
4.给逻辑卷扩容
[root@localhost ~]# lvextend -L 15G /dev/xian2305/lv1 #增加到15G
[root@localhost ~]# lvextend -L +15G /dev/xian2305/lv1 #原基础加15G
[root@localhost ~]# lvextend -l +100%FREE /dev/centos/root
卷组有空间直接加
[root@localhost ~]# lvextend -l +3839 /dev/test1/lv2 #以PE Size 4.00 MiB为单位
同时也要做文件系统扩容
5.给文件系统扩容
[root@localhost ~]# resize2fs /dev/xian2305/lv1 #GPT
[root@localhost ~]# xfs_growfs /dev/xian2305/lv2 #xfs
六、交换分区
查看内存使用情况
free -m | free -g | swapon -s
1.基本分区做swap
1、添加一个硬盘
2、分区
3、格式化
[root@localhost ~]# mkswap /dev/sdd1
4、开机自动挂载
[root@localhost ~]# vim /etc/fstab
/dev/sdd1 swap swap defaults 0 0
5、让交换生效
[root@localhost ~]# swapon -a
2.文件做swap
1、添加一个硬盘
2、分区
3、格式化
[root@localhost ~]# mkswap /dev/sdd1
4、开机自动挂载
[root@localhost ~]# vim /etc/fstab
/dev/sdd1 swap swap defaults 0 0
5、让交换生效
[root@localhost ~]# swapon -a
七、挂载:mount
mount -o
ro 只读
rw 读写
exec 允许执行二进制文件
noexec 不允许执行二进制文件
remount 在线重新挂载
auto 默认参数
[root@localhost ~]# mount -o ro /dev/test1/lv1
[root@localhost ~]# mount -o remount,rw /dev/test1/lv1
[root@localhost ~]# mount -o remount,noexec /dev/test1/lv1
如果误删除了重要文件,首先要做的是什么?
#把磁盘挂成只读方式
#避免在误删文件所在的磁盘上写入新的数据。因为新的数据可能会覆盖原始文件的内容,导致无法完整地恢复文件。
八、磁盘阵列-raid
=========================================================================
所有服务器在安装操作系统之前必须先做raid【常识】
=========================================================================
raid0 ---数据条带卷
最少需要两块磁盘,分别往每一块磁盘上写一部分数据
优点:
1.读写速度快,
2.磁盘利用率:100%
缺点:不提供数据冗余,无数据检验,不能保证数据的正确性,存在单点故障。
应用场景:
1)对数据完整性要求不高的场景,如:日志存储,个人娱乐
2)要求读写效率高,安全性能要求不高,如图像工作站
=========================================================================
raid1 又叫镜像raid,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
一般需要两块磁盘,每块磁盘上都会存储一份完整数据。其数据安全性就会较高,但是磁盘空间利用率是比较低的。优点:提供数据冗余,数据双倍存储安全性高支持容错。读速度快
缺点:写速度慢,无数据校验。磁盘利用率不高
磁盘利用率:50%
应用场景:
存放重要数据,如数据存储领域
=========================================================================
raid5:RAID5应该是目前最常见的 RAID 等级,它的校验数据分布在阵列中的所有磁盘上。RAID5的磁盘上同时存储数据和校验数据。当一个数据盘损坏时,系统可以根据其他数据块和对应的校验数据来重建损坏的数据。
raid5最少需要3块磁盘。
优点:
1.可以找回丢失的数据---数据可以通过校验计算得出,
2.冗余磁盘-->(需要4快磁盘将其中一块做热备)当某一块磁盘坏掉后,冗余磁盘会自动替换上去
3.有校验机制
4.读写速度高
5.磁盘利用率高
缺点:
1.磁盘越多安全性能越差
#定义:
RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID0相近似的数据读取速度,只是多了一个校验信息。RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。
应用场景:安全性高,如金融、数据库、存储等。
=========================================================================
raid6:RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式。
RAID6引入双重校验的概念,最少需要四块磁盘,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。
优点:
1.容错:允许两块磁盘同时坏掉。读写快。
2.良好的随机读性能
3.有校验机制缺点:
1.写入速度差
2.成本高
应用场景:对数据安全级别要求比较高的企业
=========================================================================
RAID10:先做镜像再作条带--也叫混合raid
优点:
1.较高的IO性能
2.有数据冗余
3.无单点故障
4.安全性能高
缺点:成本稍高
应用场景:
特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。
=======================================================
raid5的制作
1.准备4块硬盘:(3块硬盘) + 热备(1块硬盘)
2.创建raid
[root@localhost ~]# yum -y install mdadm //确保mdadm命令可用
[root@localhost ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g}
-C 创建RAID
/dev/md0 第一个RAID设备
-l5 RAID5
-n RAID成员的数量
-x 热备磁盘的数量
3. 格式化,挂载
[root@localhost ~]# mkfs.xfs /dev/md0
[root@localhost ~]# mkdir /mnt/raid5
[root@localhost ~]# mount /dev/md0 /mnt/raid5
[root@localhost ~]# cp -rf /etc /mnt/raid5/etc1
4. 查看RAID信息
[root@localhost ~]# mdadm -D /dev/md0 //-D 查看详细信息
5. 模拟一块硬盘损坏,并移除
终端一:
[root@localhost ~]# watch -n 0.5 'mdadm -D /dev/md0 | tail' //watch持续查看
终端二:
[root@tianyun ~]# mdadm /dev/md0 -f /dev/sde -r /dev/sde
//模拟坏了并移除 -f --fail -r --remove
6. 设置RAID开机生效
[root@localhost ~]# mdadm -D -s
=========================================================================
mdadm选项:
-s --scan
-S --stop
-D --detail
-C --create
-f --fail 模拟损坏
-r --remove 拔出硬盘
-a 插回硬盘
-n --raid-devices=3
-x --spare-devices=1
-l --level=5
raid5 删除操作
1、卸载raid挂载
umount /dev/md0
2、停止raid
mdadm -S /dev/md0
3、删除raid卷
mdadm --misc --zero-superblock /dev/sd{d,e,f,g}