Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

admin 2021年5月27日08:34:59评论98 views字数 3742阅读12分28秒阅读模式
Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列
目录
Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

LVM简介

LVM的创建

LVM的拉伸

LVM的缩小

LVM的删除

RAID磁盘阵列的添加


LVM简介
Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

LVM(Logical Volume Manager) 逻辑卷管理器,可以动态调整磁盘容量,提高磁盘管理灵活性。绝大多数分区可以基于LVM创建,但是 /boot 挂载分区不能基于LVM创建。LVM底层文件系统ID为8e。

LVM的创建步骤:

  1. 在创建磁盘分区的第二步,创建完分区后输入 t 选择分区然后修改分区类型,再输入对应的分区类型ID: 8e 即可。

  2. 将磁盘分区初始化为物理卷,pvcreate /dev/sdb1 ,意思是将sdb1分区初始化为物理卷

  3. 将初始化的物理卷加入卷组,vgcreate myvg /dev/sdb1 ,意思是将sdb1物理卷组成myvg卷组

  4. 在已有的卷组中,创建逻辑卷,lvcreate -L 1G -n mylv myvg ,意思是将myvg卷组中抽出1G的空间建立逻辑卷mylv。然后给逻辑卷分配文件系统 mkfs.ext4 /dev/myvg/mylv

  5. 修改 /etc/fstab 文件,重新挂载所有 mount -a

注:当用一整块硬盘做逻辑卷时,第一步的创建分区和指定分区类型这一步可以省略,直接从第二步开始,将整块硬盘初始化为物理卷。

LVM的组成:

  1. PV(Physical Volume) 物理卷,物理卷可以由整个硬盘也可以是独立分区转化而成。物理卷包括了许多默认大小为4MB的PE(Physical Extent)基本单元

  2. VG(Volumn Group) 卷组,卷组由一个或多个物理卷组成的整体

  3. LV(Logical Volume) 逻辑卷,从卷组中抽出一部分空间,可以建立文件系统

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

| 功能 | 物理卷PV | 卷组VG | 逻辑卷LV | | ---- | -------- | -------- | --------------------- | | 创建 | pvcreate | vgcreate | lvcreate | | 删除 | pvremove | vgremove | lvremove | | 增大 | | vgextend | lvextend / lvresize | | 减小 | | vgreduce | lvresize | | 显示 | pvs | vgs | lvs |


01
一:LVM的创建

第一步:创建分区,并将其分区类型修改为LVM

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

第二步:磁盘分区初始化为物理卷,pvcreate /dev/sdb1

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

第三步:将初始化的物理卷加入卷组,vgcreate myvg /dev/sdb1

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

第四步:在已有的卷组中,创建逻辑卷,lvcreate -L 1G -n mylv myvg 。

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

使用命令 lvs 查看下我们创建的逻辑卷 mylv

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

给逻辑卷分配文件系统 mkfs.ext4 /dev/myvg/mylv ,并且 blkid 查看信息。Linux中默认将所有逻辑卷链接到 /dev/mapper/ 目录下。/dev/mapper/myvg_mylv 是 /dev/myvg/mylv 是软连接

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

第五步:修改/etc/fstab 文件,将逻辑卷挂载信息加进去。

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列mount -a 重新挂载,df -Th 查看,可以看到,我们的 /dev/mapper/myvg-mylv 已经成功挂载上了

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

假如我们要再建立一个逻辑卷,那么一二三步都可以不用做,直接第四步,在已有的卷组中创建逻辑券(前提是你的卷组还有剩余空间),然后剩余的步骤一样。我之后又创建了一个xfs文件系统的逻辑卷 mylv2 。

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列


02
二:LVM的拉伸

拉伸有两条命令:lvextend 、lvresize 。两条命令相同的用法。当卷组空间足够分配给逻辑卷时,拉伸LVM分为两步:

  1. 拉伸逻辑卷 lvresize / lvextend -L 300M /dev/myvg/mylv

  2. 通知文件系统 resize2fs /dev/myvg/mylv (EXT文件系统) xfs_growfs /dev/myvg/mylv (XFS文件系统)

第一步:拉伸之前,先用vgs查看卷组中剩余空间的大小,可以看到,我们还剩余1.5G

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

我们之前分配的 mylv 是1G ,mylv2是500M ,现在我们把mylv拉伸到1.9G,mylv2拉伸到1.1G。这样,就用完了卷组的空间了

lvresize -L 1.9G /dev/myvg/mylv 
lvresize -L 1.09G /dev/myvg/mylv2

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

第二步:扩展完之后,我们要去通知我们的文件系统,通知完之后,可以看到逻辑卷的空间变大了 resize2fs /dev/myvg/mylv
xfs_growfs /dev/myvg/mylv2

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

可以看到,我们的卷组的空间已经用完了。如果我们还想扩容的话,我们就需要扩大我们的卷组空间了

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

卷组的扩大:

扩大卷组空间,先新建一个分区,初始化为物理卷,然后加入 myvg 卷组中。可以看到,我们卷组的空间又变大了。接下来,对LVM进行扩容和上面的一样。vgextend myvg /dev/sdb2

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列


03
三:LVM的缩小

  1. 将挂载的文件系统下线 umount /mnt/lvm

  2. 强制磁盘检查 e2fsck -f /dev/myvg/mylv

  3. 通知文件系统缩小 resize2fs /dev/myvg/mylv 100M

  4. 缩小逻辑卷 lvresize -L 100M /dev/myvg/mylv

  5. 重新挂载 mount -a

注:xfs文件系统的逻辑卷不能缩小

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

注:当给文件系统通知的是400M ,而实际缩小到600M,这样最后挂载,实际只有400M,也就是浪费了200M 当给文件系统通知的600M ,而实际缩小到400M ,这样挂载不上,会报错 。所以给文件系统通知的大小,和实际缩小的大小一定要相同。


04
四:LVM的删除

  1. 删除或注释磁盘挂载信息 vim /etc/fstab ;将挂载的文件系统下线 umount /mnt/lvm

  2. 删除逻辑卷 lvremove /dev/myvg/mylv ;删除卷组 vgremove myvg ;删除卷组底层的物理卷 pvremove /dev/sdb1

  3. 删除磁盘分区 fdisk /dev/sdb ,一路狂按d和enter

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

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列


05
五:RAID磁盘阵列的添加

RAID(Redundant Arrays of Inexpensive Disks)容错式廉价磁盘阵列。RAID技术可以通过软件或硬件实现,将多个磁盘整合成为一个较大的磁盘装置,该装置不仅有存储功能,还具有数据保护的功能。RAID具有多个不同的等级,每个等级的对整合后的磁盘实现不同的功能。常用等级有RAID5

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

RAID的建立 1:利用3块硬盘组建RAID5 mdadm -C /dev/md0 -n3 -l5 /dev/sd[bcd] 。并且查看其状态 mdadm -D /dev/md0 或 cat /proc/mdstat

  • -C 创建阵列存储设备

  • -n 添加磁盘的数量

  • -l RAID的等级

2:创建配置文件 /etc/mdadm.conf ,并且写入配置信息 3:然后把md0设备建立逻辑卷,修改配置文件 fstab,重新挂载

第一步:建立RAID存储设备md0,并且查看其状态,记住UUID

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

第二步:创建配置文件 /etc/mdadm.conf ,并且写入以下的信息

ARRAY /dev/md0 UUID=417c8b54:e78b0978:35ea0e66:63fa5f12

第三步:创建逻辑卷,修改配置文件,重新全部挂载。可以看到,我们的基于RAID的逻辑卷已经成功挂载了。

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

/dev/myraidvg/myraidlv /mnt/raid xfs defaults 0 0

模拟RAID故障:

模拟其中一块硬盘挂了之后,数据仍然完好无损,然后重新加入一块硬盘。

先查看 RAID 状态 ,可以看到,三块硬盘都是正常的。cat /proc/mdstat

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

我们先往逻辑卷里写入900M的文件,模拟生产情况下的数据

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

我们模拟其中的 sdb 挂了

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

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

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

  • --add 添加设备进入阵列

可以看到 ,sdb已经挂了 。但是我们的900M的文件还是依然完好无损

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

那我们先把挂了的 sdb 移除,然后加上一个好的 sde 。madam --manage /dev/md0 --remove /dev/sdb madam --manage /dev/md0 --add /dev/sde 可以看到,加上sde后,三个硬盘又组成了RAID。sde会同步其他两块硬盘上的数据

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

RAID阵列的停用

  1. umount /mnt/raid 卸载设备 ; 修改 /etc/fstab 文件中的配置信息

  2. 删除阵列中创建的逻辑卷,卷组,物理卷: lvremove,vgremove,pvremove

  3. 删除 /etc/mdadm.conf 配置文件,取消设备开机加载阵列

  4. 停止 md0: mdadm -S /dev/md0

  5. 验证 cat /proc/mdstat mdadm -D /dev/md0

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

注:如果取消挂载设备的时候,显示设备正忙,可以使用 fuser -mv /mnt/xxx 看看是哪个进程在使用这个挂载点,然后杀死这个进程即可。

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

END

相关链接:

Linux系统安全(三) | Linux下磁盘分区卸载和磁盘配额

Linux系统安全(二) | SELinux入门

Linux系统安全(一) | Linux下的用户、组和权限


本文始发于微信公众号(安世加):Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年5月27日08:34:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux系统安全(四) | Linux下逻辑卷LVM的管理和RAID磁盘阵列http://cn-sec.com/archives/279773.html

发表评论

匿名网友 填写信息