zhangbinmy 发表于 2018-5-18 09:54:22

Linux实现LVM

  LVM在生产环境中做测试还是挺有用的

  LVM
  结合内核中的dm模块,将一个或多个底层块设备组织成一个逻辑设备的模块;通俗来说就是将多个物理设备(分区也行)组成一个可“灵活”伸缩的文件系统
  PV物理卷->VG卷组->LV逻辑卷
  PV物理卷的理解就是一个个的物理硬盘,分区,RAID也可以;将这些PV物理卷在划分成一个大的VG卷组;然后VG卷组将下面的PV物理卷划分成一个个的PE空间(physical extent),来组成最后的LV逻辑卷;比方说VG将一个PV划分出来上有四个PE,一个PE大小为4M,那么LV空间大小就为16M;
  同时,增加PV的大小,也就会相应增加LV的大小。支持动态扩展LV,不会影响LV上正在操作的数据。这也是LVM的优势。
  pv管理工具
  pvs:简要pv信息显示
  pvdisplay:显示pv的详细信息
  1.pvcreate /dev/DEVICE :创建pv例子:pvcreate /dev/sdb1 /dev/sdc(要是分区接下要创建文件系统并更改id为8e)
  pvremove:删除
  pvmove 搬家 移动PE空间到同一个卷组上的成员上 例:pvmove /dev/sdb
  vg管理工具
  vgs
  2.vgcreate vgNAME/dev/DEVICE 创建vg -s可以指定PE大小(默认4M大小) 例子:vgcreate vg0 -s 16M /dev/sdb1 /dev/sdc
  vgdisplay
  vgextend vgNAME DEVICE扩展
  vgreduce vgNAME DEVICE移除
  先做pvmove 将pv上的pe空间移动到同一个卷组的pv上
  lv管理工具
  lvs
  lvdisplay
  lvremove移除移除之前需要先卸载
  4.lvextend扩展 -L 指定大小 例子:lvextend -L 5G /dev/vg0/lv1注意ext文件系统需要执行:resize2fs /dev/vg0/lv1(给扩展的空间“装修文件系统”)
  注意xfs文件系统需要执行:xfs_growfs /dev/vg0/lv0(lvextend /dev/vg0/lv0 -l +100%FREE所有空闲空间全部都使用)
  又或者lvextend -r -L 4G /dev/vg0/lv1 这条命令一步到位,将空间和文件系统一并扩展(可以省掉上面扩展文件系统的命令)
  注意缩减时需要离线缩减,且只有ext文件系统支持缩减。顺序是先缩减文件系统,在缩减空间
  例:缩减逻辑卷
  1、umount 先卸载
  2、e2fsck -f /dev/vg0/lv1 检查文件系统完整性
  3、resize2fs /dev/vg0/lv1 3G 缩减文件系统到3G
  4、lvreduce -L 3G /dev/vg0/lv1 缩减空间
  5、mount
  lvresize指定逻辑卷大小
  lvmconf逻辑卷配置文件
  3.lvcreate -n指定名字 -L大小   例子:lvcreate -n vg0 -L 10G vg0(指定vg0这个卷组)
  mkfs.xfs /dev/vg0/lv0创建文件系统
  mount /dev/vg0/lv0 /mnt/lv0挂载
  

  lv拍摄快照:lvcreate-n snap-shot-lv0-2 -L 2G -s -p r /dev/vg0/lv0-n指定名字 -s指定创建快照逻辑卷 -p r指定只读权限
  
页: [1]
查看完整版本: Linux实现LVM