zoukankan      html  css  js  c++  java
  • LVM应用

    LVM:Logical Volume Manager,Version:2

    驱动:内核中的dm模块,device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块(RAID的驱动是md模块)

     

    设备文件路径:/dev/dm-#,它有两个符号链接文件

    • /dev/mapper/VG_NAME-LV_NAME,例如:/dev/mapper/vol0-root
    • /dev/VG_NAME/LV_NAME,例如:/dev/vol0/root

    物理卷可以创建在磁盘上,分区上,RAID上,等各种块设备上,但是这些设备的分区必须是8e类型

    PV管理工具:

    • pvs:简要pv信息显示
    • pvdisplay:显示pv的详细信息
    • pvcreate /dev/DEVICE:创建pv
    • pvremove /dev/DEVICE:删除pv
    • pvcreate与pvremove的作用相反
    • pvmove /dev/DEVICE:将某个pv中的数据移动到其它pv上,然后才能删除pv

    VG管理工具

    • vgs
    • vgdisplay
    • vgcreate VG_NAME /dev/DEVICE:创建vg,例如:vgcreate myvg /dev/sda3
      • -s:指定PE大小
    • vgextend VG_NAME /dev/DEVICE_TO_ADD:扩大vg,例如:vgextend myvg /dev/sda5
    • vgreduce VG_NAME /dev/DEVICE_TO_REMOVE:缩减vg,但是在缩减之前需要先调用pvmove命令将数据移动到其它pv,例如:vgreduce myvg /dev/sda5
    • vgremove VG_NAME:删除卷组

    LV管理工具

    • lvs
    • lvdisplay
    • lvcreate -L #[mMgGtT...] -n NAME VolumeGroup,例如:lvcreate -L 2G -n mylv myvg
      • 注:大小未必能完全精确,取决于PE的大小
      • 创建lv之后就可以当作一个设备来使用了,例如:
        • mke2fs -t ext4 -b 1024 -L MYLV /dev/myvg/mylv
        • mkdir /backup
        • mount /dev/myvg/mylv /backup
    • lvremove /dev/VG_NAME/LV_NAME:删除lv,需要先unmount么??
    • 扩展逻辑卷
      • lvextend -L [+]#[mMgG...] /dev/VG_NAME/LV_NAME,例如:lvextend -L 5G /dev/myvg/mylv
      • 扩展lv之后,需要扩展文件系统的大小,对于ext文件系统,可以使用resize2fs /dev/myvg/mylv,不指明大小则使用该分区上的所有可用空间
    • 缩减逻辑卷
      • 先缩减文件系统(逻辑边界),而缩减文件系统之前,必须先卸载,最后再缩减逻辑卷
        • umount /dev/VG_NAME/LV_NAME
        • e2fsck -f /dev/VG_NAME/LV_NAME
        • resize2fs /dev/VG_NAME/LV_NAME #[mMgG...]
        • lvreduce -L [-]#[mMgG...] /dev/VG_NAME/LV_NAME
        • mount /dev/VG_NAME/LV_NAME Dir
        • 注:一定要确保缩减后的空间可以容纳现有数据
        • df -lh命令以方便阅读的大小单位显示本地文件系统信息
    • 快照:snapshot

      • 快照卷和原卷必须在一个卷组中,类似于硬链接
      • lvcreate -L #[mMgG...] -P r -s -n SNAPSHOT_LV_NAME ORIGINAL_LV_NAME,例如:lvcreate -s -L 512M -n mylv-snap -p r /dev/myvg/mylv
        • 然后挂载,mount /dev/myvg/mylv-snap /mnt
        • 之后就可以备份快照卷里的所有内容了,例如:cp -a /mnt/{grub.conf, issue} /tmp
        • 然后卸载,umount /mnt
        • 然后删除快照卷:lvremove /dev/myvg/mylv-snap

    练习1:创建一个至少有两个PV组成的大小为20G的名为testvg的VG,要求PE大小为16M,而后在卷组中创建大小为5G的逻辑卷testlv,挂载至/users目录

    练习2:新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录

    练习3:扩展testlv至7G,要求archlinux用户的文件不能丢失

    练习4:收缩testlv至3G,要求archlinux用户的文件不能丢失

    练习5:对testlv创建快照,并尝试基于快照备份数据,验证快照的功能

    文件系统挂载使用:

    • 挂载光盘设备:
      • 光盘设备文件:
        • IDE:/dev/hdc
        • SATA:/dev/sr0
        • 符号链接文件:
          • /dev/cdrom
          • /dev/cdrw
          • /dev/dvd
          • /dev/dvdrw
      • mount -r /dev/cdrom /media/cdrom
      • umount /dev/cdrom

     虚拟机测试U盘

    然后使用fdisk -l,通过大小找出哪个是U盘,然后mount,之后就可以使用了

    • dd命令:convert and copy a file
      • dd if=SrcDir of=TarDir
        • bs=#:block size,复制单元大小,单位是字节
        • count=#:复制多少个bs
      • 备份磁盘:dd if=/dev/sda of=/dev/sdb
      • 备份MBR:dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
      • 清除磁盘分区:dd if=/dev/zero of=/dev/sda bs=512 count=1
      • 破坏MBR中的bootloader:dd if=/dev/zero of=/dev/sda bs=256 count=1
    • 两个特殊设备
      • /dev/null:数据黑洞
      • /dev/zero:吐零机

     补充:LVM在企业级应用中,为了防止磁盘损坏引起数据丢失,逻辑卷不是直接建立在物理卷上的,而是建立在RAID上

  • 相关阅读:
    通过path绘制点击区域
    能添加图标的label
    便利的初始化view以及设置tag值
    递归搜寻NSString中重复的文本
    自动移除的通知中心
    BadgeValueView
    SpringCloud的入门学习之Eureka(Eureka的单节点)
    Elasticsearch 6.x版本全文检索学习之分布式特性介绍
    关于window10更新之后,15.5版本虚拟机不能使用的情况:检测更新版本
    RabbitMQ的消息确认ACK机制
  • 原文地址:https://www.cnblogs.com/jacky1982/p/7811672.html
Copyright © 2011-2022 走看看