当前位置:   article > 正文

LVM和RAID_lvm raid1

lvm raid1

主分区可以有4个,扩展分区只能有一个,并且扩展分区里可以划分多个逻辑分区

LVM创建及使用

LVM底层文件系统标签为‘8e’

逻辑卷的优势

Ø 可以动态调整磁盘容量,提高磁盘管理灵活性

Ø /boot挂载分区不能基于LVM创建

Ø 可以使用图形或字符终端管理LVM

Ø yum install system-config-lvm

LVM服务

  • /usr/lib/systemd/system/lvm2-lvmetad.service【usr:自定义的资源和程序,也包括系统中自带的资源和程序】
    • 用于LVM的元数据缓存守护程序(lvmetad 主服务)【底层数据的更新】
    • 接收来自udev rules的通知【扩大,缩小空间】
    • 具有可用卷组的最新一致映像
  • /usr/lib/systemd/system/lvm2-monitor.service【指令方面的监听】
    • Executes vgchange--monitor y
    • 开始或停止监视镜像或快照逻辑具有dmeventd的卷(如果已安装)

创建逻辑卷【是一种软件,不稳定性,boot不能基于逻辑卷创建】,首先满足前面实验的7个步骤,那么在第二步,创建并转换完分区,识别后

将磁盘分区初始化为物理卷,pvcreate /dev/sdb5

将初始化的物理卷加入卷组,vgcreate myvg /dev/sdb5

在已有的卷组中,创建逻辑卷,lvcreate -L 300M -n mylv myvg

vgcreate和lvcreate时,必须指定卷组和逻辑卷名称,逻辑卷需指定大小

LVM的建立过程

Ø PV (Physical Volume)物理卷

Ø 物理卷可以由整个硬盘也可以是独立分区转化而成

Ø 物理卷包括了许多默认大小为4MB的PE(Physical Extent)基本单元

Ø VG(Volume Group)卷组

Ø 卷组由一个或多个物理卷组成的整体【既可以是分区,也可以是硬盘,既可以是同一块磁盘上的不同分区,也可以是不同磁盘上的不同分区,也可以是不停磁盘】

Ø LV(Logical Voluem)逻辑卷

Ø 从卷组中取出的一部分空间,可以建立文件系统【小于等于卷组】。

逻辑卷需要转类型,底层格式需要和上层格式统一;如果磁盘是第一次被使用,可以不用刷新,但如果不是,已经被挂载了,需要去刷新才能被识别。

创建逻辑卷的步骤:

  • 添加并识别磁盘
  • 添加并识别分区
  • 【制作文件系统之前,需要执行pvcreate】
    • pvcreate /dev/sdb1【制作物理卷,将分区进行设备初始化,将分区制作成物理卷】
      • pvs 【查看当前被初始化好的物理卷有哪些】
    • vgcreate myvg /dev/sdb1 【创建卷组,需要给他们创建一个名字,分区的label可有可无,但是逻辑卷的label必须有,初始化了谁,就把谁加到组卷中去】
      • vgs【查看当前系统的卷组,他里边会拿出4M,存放文件系统】
    • lvcreate -n mylv -L +300M myvg【划分逻辑卷】
      • lvs 【当前创建好的逻辑卷有哪些,不是必须执行的】
  • 制作文件系统
    • mkfs.ext4 /dev/myvg/mylv【格式化】
    • blkid【查看制作好的磁盘分区的信息,这里会看到一个mapper,系统会将所有的逻辑卷创建一个软链接,可以通过ls -l查看】
  • 添加文件系统对应的挂载点【/etc/fstab】
    • uuid /mnt/lvm ext4 defaults 0 0 【保存退出】
  • 创建挂载的目录【mkdir /mnt/lvm】
  • mount -a 【挂载】

物理卷管理:

pvmove

将用过的物理卷移动到不同的物理卷

pvremove

删除现有物理卷(包括LVM元数据)

pvresize

调整物理卷的大小

删除卷组:

vgremove vg_name;

激活/取消激活逻辑卷:

正在使用时,需要先停用【umount /mnt/ext】

lvchange -a n /dev/exvg/exlv【lv_name,停用】

lvchange -a y /dev/exvg/exlv【激活】

mount /dev/exvg/exlv /mnt/ext 【挂载】

lvm mkfs.ext4/dev/myvg/mylv 200M 500M sdc1 pvcreate /dev/sdd1 vgextend myvg /dev/sdd1

sdc1 500M sdd1 800M200M lvm 1.2G(sdc1 500M sdd1 700M) pvmove

vgreduce myvg/dev/sdc1 pvremove /dev/sdc1 mount -a ls

拉伸及缩小

当卷组空间足够分配给逻辑卷时,拉伸LVM分为两步:

1.拉伸逻辑卷;2.通知文件系统

EXT文件系统:

lvextend(lvresize 可以扩大,也可以缩小) -L +300M /dev/myvg/mylv【这里有+号表示拉伸300M,没有表示拉伸到300M】

resize2fs /dev/myvg/mylv

XFS文件系统:

lvextend -L 600M/dev/myvg/mylv

xfs_growfs /dev/myvg/mylv【/mnt/lvm】

注,XFS文件系统不支持缩小

当卷组空间不够分配给逻辑卷时,拉伸LVM分为五步:

1.新建磁盘分区或磁盘

2.将新建磁盘或分区初始化为物理卷

3.拉伸卷组

4.拉伸逻辑卷

5.通知文件系统

fdisk /dev/sdb 创建新的磁盘分区(8e)

pvcreate /dev/sdb6 将分区初始化为物理卷

vgextend myvg /dev/sdb6 将新的物理卷空间融入卷组

后面4,5拉伸和通知文件系统的指令同上

缩小LVM分为四步:

1.将挂载的文件系统下线

umount /mnt/lvm

2.强制磁盘检查

e2fsck -f /dev/myvg/mylv

3.通知文件系统缩小

resize2fs /dev/myvg/mylv 100M

4.缩小逻辑卷

lvresize -L 100M /dev/myvg/mylv

模拟磁盘故障【exlv有两块磁盘组成的,模拟sdb出现故障】

在逻辑卷exlv上,由于/dev/sdb5占用了500M,/dev/sdc1占用了100M,下面将模拟sdb出现故障,进入到/mnt/ext中,将boot,etc目录复制当前路径下【cd /mnt/ext】【 cp -r /boot .】【cp -r /etc .】查看逻辑卷的使用情况【df -Th |grep lv】

  • 进入sdb中,将sdb5删除【fdisk /dev/sdb [d 5 w]】

  • 在对pvs,vgs,lvs进行扫描,没有任何变化

  • 查看这个逻辑卷的使用情况,得知171M,由于sdb出现故障,sdc放不下当前的数据,【不建议扩容,在新建分区,初始化,对当前设备进行扩容,具体步骤如上所示,新扩大的空间要覆盖之前数据】

创建分区【800M,转换类型:逻辑卷】

刷新磁盘分区情况

进行扩容

  • 转移数据【谁出问题,转移谁的数据 pvmove /dev/sdb5】

    • 用du -sh /etc和du -sh /boot【查看数据是否都还在】

  • 将卷组中的/dev/sdb移除【vgreduce exvg /dev/sdb5】
    • vgs扫描

  • 将物理卷中的/dev/sdb5移除【pvreduce /dev/sdb5】

  • 确认数据是否还在【du -sh /etc和du -sh /boot】

逻辑卷快照:【可以单个还原,也可以批量还原】

-s 空间一般为原大小的15%~20%即可(空间不够可通过lvextend放大快照)

由于之前的exlv占用的空间太大,所以进行缩小

移除之后,对逻辑卷进行扫描

lvcreate -s -n mylv-snap -L 100M /dev/exvg/exlv

测试

    • 进到对应的目录下【cd /mnt/ext】,对其文件进行更改【vim /etc/fstab 删除几行,保存退出】

    • 创建一个目录,将快照挂载到该目录下【mkdir /mnt/snapshot mount /dev/exvg/exlv-snap /mnt/snapshot】

    • 查看,并对比修改后与源文件有什么不同【ls - l /mnt/snapshot diff /mnt/ext/etc/fstab /mnt/snapshot/etc/fstab 】

针对ext4

针对xfs

    • 将源文件复制到修改后的文件中去
      • cp /mnt/snapshot/etc/fstab /mnt/ext/etc/fstab
      • dd if=/dev/exvg/exlv-snap of=/dev/exvg/exlv

针对xfs

针对etx4

XFS与EXT4在还原完快照后,挂载的时候的区别

mount -o nouuid(XFS only) /dev/myvg/mylv-snap /mountpoint

通过blkid查看,exlv的快照和exlv的UUID是一致的

查看快照以及初始逻辑卷 lvs

删除快照卷

lvremove /dev/exvg/exlv-snap

移动卷:sdb sdc

pvcreate /dev/sdb11T

pvcreate /dev/sdc11T sdb sdc

pvmove /dev/sdb/dev/sdc

vgreduce myvg/dev/sdb

pvremove /dev/sdb

删除LVM

1.删除或注释磁盘挂载信息

vim /etc/fstab

2.将挂载的文件系统下线(设备下线前记得备份)

umount /mnt/lvm

3.删除逻辑卷

lvremove/dev/myvg/mylv

4.删除卷组

vgremove myvg

5.删除卷组底层的物理卷

pvremove /dev/sdb5 /dev/sdb6

6.删除磁盘分区

fdisk /dev/sdb

d->6 d->5

7.刷新磁盘分区,如果报错,在确保主机其他文件系统正常的情况下,重启主机

LVM故障处理LVM 灾难修复

RAID

磁盘阵列(Redundant Arrays of Inexpensive Disks, RAID),意思是:容错式廉价磁盘阵列。

RAID 技术可以通过软件或硬件实现,将多个磁盘整合成为一个较大的磁盘装置,该装置不仅有储存功能,

还具有数据保护的功能。RAID具有多个不同等级 (level),每个level对整合后的磁盘实现不同的功能,常用 level 有几种。

RAID0:存储性能最好,RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,最好有2或者2块以上硬盘组成,不一样影响性能,此模式将硬盘分割出大小相等的区块,数据存入时切割数据为相同大小区块分别存入各块硬盘【每块硬盘所贡献的空间大小必须相同】。有几块盘,写入速度就会翻几倍【读写性能高】。缺点:没有冗余【没有备份】,适用于对数据安全要求不高的企业【应用于测试服务器,存放临时文件】,安全性是最低的【成本比较低,磁盘空间利用率100%】(如果两个盘空间不一致,会在写满一个盘之后只写另一块,读写速率会降低)

RAID1:镜像模式,2块盘组成,空间最好一致,不一致以最小的为准【每块磁盘提供相同大小的空间;支持容错,即一块硬盘损坏后数据不会丢失;磁盘空间利用率50%;安全性高,成本也是最高的】。

RAID10或者RAID01:4块硬盘,分别把2块组成RAID1,在把两个RAID1组成RAID0,即为RAID10(先组成0在组成1即为01)50%写入,50%备份,RAID10【视频:RAID1:39:37】性能比较差,但安全想相对较高,RAID01正好相反。

RAID5:是一种存储性能,数据安全和存储成本兼顾的存储解决方案【RAID1和RAID0的这种方案,可以坏一块盘】,至少3块硬盘组成,容量相同,划分大小相同的区块,通过奇偶校验进行数据备份,亦可数据恢复;每块硬盘必须提供相同的磁盘空间;提供容错功能;磁盘空间利用率n-1/n,n为磁盘数量。

RAID 0 – 条带

•高性能

•没有冗余,如果一个磁盘损坏则数据丢失了

RAID 1 – 镜像

•当最后一个磁盘损坏时,数据丢失

RAID 5 -数据分布在磁盘上

•容许一个磁盘损坏

•当两个磁盘损坏时,数据丢失

RAID 6 【至少四块盘】– 类似于RAID 5

•容许两个磁盘损坏

•当三个磁盘损坏时,数据丢失

RAID 10 – 镜像条带集

•RAID 0的性能和RAID 1的容错能力

•如果磁盘在每个条带中丢失,则会丢失数据

mdadm:磁盘阵列

-C 创建阵列存储设备

-n 添加磁盘的数量

-l RAID的等级

-s 扫描可用的磁盘阵列

-Q 查询阵列信息

-E 检查已扫描/指定磁盘的元数据

--detail 显示阵列的完整信息

--brief 以简短格式显示输出(对于mdadm.conf)

--examine 显示阵列成员磁盘的信息

利用3块硬盘组建RAID5【一个设备可以建多个磁盘阵列】

mdadm -C /dev/md0 -n 3 -l 5 /dev/sd[bcd]

查看RAID状态

mdadm -D /dev/md0 查看这个设备的完成情况【查看UUID,创建时间】

cat /proc/mdstat 查看这个设备的完成情况【进度条】

由于md0设备文件属于临时创建,重启系统后会失效,需要建立阵列的配置文件使其永久生效

vim /etc/mdadm.conf

ARRAY /dev/md0 UUID=xxxxxxxxxxxxxxxxxxxxxxx

(mdadm -E -s --brief > /etc/mdadm.conf)

创建逻辑卷

创建分区

      • fdisk /dev/md0[n--->p----->回车---->t------->8e---->w]

磁盘

    • pvcreate /dev/md0【pvs】
    • vgcreate raid-vg /dev/md0【vgs】
    • lvcreate -L 100M -n raid-lv raid-vg【lvs】

    • mkfs.xfs /dev/raid-vg/raid-lv

    • vim /etc/fstab [UUID /mnt/raid xfs defaults 0 0] 【mount /dev/raid-vg/raid-lv /mnt/raid/】

    • mkdir /mnt/raid
    • mount -a

然后在挂载点写入数据,做测试

cp -r /etc /mnt/raid 将/boot目录下的内容复制到/mnt/raid下

模拟RAID5的故障处理

mdadm --manage /dev/md0 --fail /dev/sdb

查看RAID使用情况【mdadm -D /dev/md0 cat /proc/mdstat】

通过df -Th |grep raid 查看设备种的数据是否还在【在此处将逻辑卷扩展200M】

拷贝一个新的数据过去 【cp -r /etc /mnt/raid】

df -Th | grep raid 查看文件占的内存

mdadm --manage /dev/md0 --remove /dev/sdb

查看RAID使用情况【mdadm -D /dev/md0 cat /proc/mdstat】

mdadm --manage /dev/md0 --add/dev/sde

查看RAID使用情况【mdadm -D /dev/md0 cat /proc/mdstat】

--fail将设备设定为出错状态

--remove将设备从阵列中移除

--add 添加设备进入阵列

(加硬盘后,可立即执行mdadm -D /dev/md0,可以看到重建硬盘数据的过程)

RAID阵列停用

1.umount /dev/md0 卸载设备

2.取消设备开机挂载LVM

vim /etc/fstab

#/dev/vg_raid/lv_raid /mnt/raid5 ext4 defaults 0 0 注释有效内容

3.注释后,需要lvremove,vgremove,pvremove删除阵列中创建的逻辑卷,卷组,物理卷

4.取消设备开机加载阵列

vim /etc/mdadm.conf

# ARRAY /dev/md0UUID=xxxxxxxxxxxxxxxxxxxxxxx

注释有效内容或者删除文件,但删除文件适用于没有其他阵列的情况下

5.mdadm -S /dev/md0 停止md0

6.验证

cat /proc/mdstat

mdadm -D /dev/md0

7.彻底清除

cat /proc/mdstat 查看RAID的状态信息

mdadm -S /dev/md0

mdadm --zero-superblock /dev/sd[bcde]

重启

mdadm -D /dev/md0【检查磁盘阵列的状态信息】

监控RAIDs

  • 在/etc/sysconfig/mdadm中
    • 将MDADM_MAIL设置为正确的电子邮件地址
    • 确保邮件到达目的地
  • 开启监视服务
    • systemctl start mdmonitor.service
  • 需要监控RAID系统以避免丢失磁盘故障。允许单个磁盘发生故障是RAID存在的意义(不包括RAID 0)。这意味着磁盘故障可能会被忽视,直到下一个磁盘发生故障并且数据丢失。

扩展:再启动:mdadm -As /dev/md0

1.3块硬盘组成的raid5,使用md0全部空间制作LVM,配置RAID永久生效,配置LVM永久挂载

(文件系统类型位xfs 测试拉伸)

2.模拟sdc故障,RAID测试移除硬盘和加新硬盘时,数据是否存在,移除所有RAID和LVM,正常重启

3.使用主分区(500M)和逻辑分区(1G)建立LVM并永久挂载(文件系统类型为ext3,初始大小为200M,测试拉伸到1G和缩小到400M)

4.删除所有LVM及分区,正常重启fdisk

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/76475
推荐阅读
相关标签
  

闽ICP备14008679号