Ⅱ第六章学习博客

Ⅱ第六章学习博客,第1张

Ⅱ第六章学习博客 Linux修炼之旅第六章!

本章顺着上一次的博客接着来学习Linux的新知识,介绍了Linux存储的基高级管理。主要介绍了lvm(拉伸收缩)和vdo(数据存储优化)两个功能。
下面就开始吧


文章目录
  • Linux修炼之旅第六章!
  • 一、LVM
    • 1 lvm设备建立与拉伸
    • 2 vg不足时如何给vg扩容
    • 3 lvm缩减
    • 4 lvm快照
    • 5 删除lvm
  • 二、vdo
    • 1 vdo的建立与测试
    • 2 vdo卸载


实验之前先来配置实验环境
虚拟机nodea加一块硬盘10g

mkdir /data
监视
watch -n1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /data"
pv 物理卷 被处理过的物理分区
pe 物理扩展 设定存储最小单元
vg 物理卷组 捆绑pv到一个组中
lv 逻辑卷 分配最终的使用设备

一、LVM

LVM虚拟设备
可以对物理分区容量进行管理
用橙汁的例子来理解这个概念

lv必须是pe的整数倍
pv是橙子扎好的橙汁
vg是倒橙汁的大杯子
lv是用户,用户要多少就从vg取多少
pe是最小存储单元,lv必须是pe的整数倍

1 lvm设备建立与拉伸

首先建立一个lvm设备
用fdik新建分区,

然后按t,将Type设置为lvm(8e)
保存完输入udevadm settle
之后的执行程序及注释如下

	pvcreate /dev/vdb1 #创建pv
    vgcreate vg0 /dev/vdb1 
    vgs
    vgdisplay
    vgremove vg0
    vgcreate -s 2M vg0 /dev/vdb1 #创建vg -s设定pe大小位2M
    vigdisplay
    vgdisplay
    lvcreate -L 200M -n lv0 vg0 #创建lvm -L指定大小 -n指定名称 lv必须是pe的整数倍
    mkfs.xfs /dev/vg0/lv0 #格式化
    mount /dev/vg0/lv0 /data/ #挂载
    lvextend -L 500M /dev/vg0/lv0 #给创建好的lv扩展容量
    xfs_growfs /dev/vg0/lv0

创建pv


设置pe大小

设定lv大小为200M

给创建好的lv扩展容量,扩展到500M

2 vg不足时如何给vg扩容
     umount /data
     mkfs.ext4 /dev/vg0/lv0 #改格式
     mount /dev/vg0/lv0 /data/ #挂载
     lvextend -L 800M /dev/vg0/lv0 #逻辑卷扩展
     resize2fs /dev/vg0/lv0 #重定义
     
给pv加完容量,才有足够空间给vg加了

     fdisk /dev/vdb
     udevadm settle
     pvcreate /dev/vdb2
     vgextend vg0 /dev/vdb2
     lvextend -L 1500M /dev/vg0/lv0 设备(硬件)
     resize2fs /dev/vg0/lv0 文件系统(软件)

由于之后的容量缩减实验中,当前格式不支持,所以先换成支持缩减的ext4格式

扩展为800M

但是如果想要扩展到1.5G,明显vg就没有1.5G,下面就开始给vg加容量
但是物理硬盘空间不足,所以就得先区分区,多分出来一块拿来用

这样就可以达到目的了

3 lvm缩减
     umount /data #减容量必须先卸载
     e2fsck -f /dev/vg0/lv0 #查看
     resize2fs /dev/vg0/lv0 100M #文件系统缩减为100M
     lvreduce -L 100M /dev/vg0/lv0 #设备缩减
     mount /dev/vg0/lv0 /data/ #挂载

先卸载

缩减为100M

再挂载一下,可以看到缩减成功

4 lvm快照

与虚拟机快照类似,快照的 *** 作不会影响本体,只会保留在“镜子”上。
lv也可以创建快照,母盘不动快照可以无限复制,快照的 *** 作记录不影响母盘

     touch /data/westosfile{1..10}
     ls /data/
     umount /data #卸载
     lvcreate -L 30M -n lv0-backup -s /dev/vg0/lv0 #创建一个30M的快照
     mount /dev/vg0/lv0-backup /data/ #挂载快照
     rm -rf /data/westos* #删除之前创建的文件
     ls /data/
     umount /data #卸载快照
     lvremove /dev/vg0/lv0-backup #删除快照
     lvcreate -L 30M -n lv0-backup -s /dev/vg0/lv0 #再新建一个快照
     mount /dev/vg0/lv0-backup /data/ #挂载
     ls /data/ #可以看到之前母盘中的东西还在,没有被快照的删除 *** 作影响


5 删除lvm

删除的思路很简单
正着建立,倒着删除

     umount /data #先卸载
     lvremove /dev/vg0/lv0-backup #顺着上个实验把挂载文件删除
     lvremove /dev/vg0/lv0 #卸掉lv
     vgremove vg0 #卸掉vg
     pvremove /dev/vdb2 #卸掉pv
     pvremove /dev/vdb1 




可以在左边的监控中看到删除过程的顺序与建立时相反。

二、vdo 1 vdo的建立与测试

vdo的建立,检测重复,重复的文件不会再占用空间
测试前必须保证测试的硬盘是全新的没有分过区的

     vdo create --name westos_vdo1 --device /dev/vdb
     vdo status --name /dev/mapper/westos_vdo1
     mkfs
     vdo status
     mkfs.xfs /dev/mapper/westos_vdo1 
     mount /dev/mapper/westos_vdo1 /data/
     ls /data/

然后在主机中尝试传输install.img测试

    scp install.img [email protected]:/data
    scp install.img [email protected]:/data/test.img

在nodea另一个terminal中监测
watch -n1 vdostats --human-readable
可以看到传输两次相同的文件,内存并没有变化

2 vdo卸载
     umount /dev/mapper/westos_vdo1 
     vim /etc/fstab #该文件输入可以永久保存更改,删除时必须在该文件中删除相应的代码行。 
     vdo status 
     vdo stop --name westos_vdo1 #暂时删除,可以用start恢复
     vdo remove --name westos_vdo1 #永久删除,不可恢复
     vdo status
     ls
     cd /data/
     ls

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5443785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存