LVM

  • LVM:Logical Volume Manager # 逻辑卷管理
  • DM:Device Mapper # 设备映射器,可以将一个或多个物理块设备组成一个逻辑块设备
  • VG:Volume Group # 卷组,一个或多个物理块设备的组合
  • PV:Physical Volume # 实体卷,物理卷,物理分区
  • LV:Logical Volume # 在 VG 上创建的可供系统和应用调用的虚拟块设备,Each block of data in an LV is stored on one or more PV in the VG, according to algorithms implemented by Device Mapper (DM) in the kernel.
  • PE:Physical Extents # 物理区段,硬盘可供指派给逻辑卷的最小单位(通常为4MB)
  • LE:Logic Extends # 逻辑区域,跟PE一样,只不过站在LV的视角上是叫LE

逻辑卷块设备文件在系统的存储位置,以下同为 符号链接文件,指向 /dev/dm<#>

  • /dev/mapper/VG_NAME-LV_NAME
    如:/dev/mapper/vg0-root
  • /dev/VG_NAME/LV_NAME
    如:/dev/vg0/root

1. PV 管理

  • pvcreate # 初始化LVM使用的物理卷
    # pvcreate /dev/sda3
    注:在创建 PV 前,应先把分区类型调整为 Linux LVM (8e)

  • pvs # 显示简要的 PV 信息

  • pvdisplay # 显示详细的 PV 信息

  • pvmove # 移动 PV 上的 PE 信息到另一个 PV

  • pvremove # 删除该 PV,如此以至于 LVM 不会再把该设备识别为 PV

2. VG 管理

  • vgcreate # 创建 VG
vgcreate  [-s #[kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...] 
  -s   指定 PE 大小

# vgcreate myvg /dev/sda{3,5,6}

  • vgs # 显示简要的 VG 信息

  • vgdisplay # 显示详细的卷组信息
    # vgdisplay -v

  • vgrename # 重命名卷组名称
    # vgrename VG VG_new

  • vgextend # 添加 PV 至 VG

vgextend  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]

# vgextend myvg /dev/sda{7,8}

  • vgreduce # 将 PV 从 VG 中移除
vgreduce  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]

注:要先做 pvmove
# pvmove /dev/sda7 # 移动 7 到其他任一 PV
或 # pvmove /dev/sda7 /dev/sda8 # 从 7 移到 8
# vgreduce myvg /dev/sda7 # 从卷组 myvg 中移除 PV /dev/sda7
# vgreduce -a myvg # 从卷组 myvg 中移除所有无用的 PVs
# vgreduce --removemissing myvg # 从卷组 myvg 中移除所有遗失的 PVs

  • vgremove # 删除卷组

3. LV 管理

  • lvcreate # 创建 LV
lvcreate -L size [mMgGtT] -n NAME VolumeGroup 

# lvcreate -L 2G -n mylv1 myvg

  • lvs

  • lvdisplay
    # lvdisplay -v

  • lvextend # 扩展逻辑卷

lvextend -L [+] size [mMgGtT] /dev/VG_NAME/LV_NAME

# lvextend -L 3G /dev/myvg/mylv1
# lvextend -L +1G /dev/myvg/mylv1
then
# resize2fs /dev/VG_NAME/LV_NAME # 针对该 LV 已经格式化后,或用 -r 参数
# lvextend -L +1G -r /dev/myvg/mylv1

  • lvreduce # 缩减逻辑卷
lvreduce -L [-] size [mMgGtT] /dev/VG_NAME/LV_NAME

# lvreduce -L -1G /dev/myvg/mylv1
# lvreduce -L 2G /dev/myvg/mylv1

  • 合理步骤:
    # umount /dev/VG_NAME/LV_NAME
    # e2fsck -f /dev/VG_NAME/LV_NAME
    # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
    # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
    # mount

  • 快照 snapshot

lvcreate -L size [mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

4. 光盘设备和挂载

  • 光盘设备文件:
    IDE: /dev/hdc
    SATA: /dev/sr0

  • 符号链接文件:
    /dev/cdrom
    /dev/cdrw
    /dev/dvd
    /dev/dvdrw

# mount -r /dev/cdrom /media/cdrom # 只读挂载
# umount /dev/cdrom

5. dd 命令

  • dd命令:convert and copy a file
    用法:
    # dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
    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

  • 破坏MBR中的bootloader:
    # dd if=/dev/zero of=/dev/sda bs=256 count=1

  • 两个特殊设备:
    /dev/null: 数据黑洞;
    /dev/zero:吐零机;

你可能感兴趣的:(LVM)