学习笔记:dm、lvm

entos 7软raid的实现:md,dmadm

  • 组成:

    内核模块:md (multi devices)
    用户管理工具:mdadm

  • 命令使用:

    模式化的命令:mdadm [mode] < raiddevice > [options] < component-device >
    支持的raid级别:linear,raid0,raid1,raid4,raid5,raid6,raid10

     	raiddevice:/dev/md#(创建的设备在重启后设备文件名可能变化);
     	component-device:任意块设备;
     	#cat /proc/mdstat :查看当前内核识别到的软raid设备;
     Note:块设备分区格式要设置为fd格式,不然可能会造成raid设备虽然可用,但无法装配;
    

    模式:

     创建:-C(create)
     装配:-A(assemble)(扫描磁盘已有的软raid信息并组合)
     监控:-F(follow or monitor)
     管理:-f,-r,-a等
     
     -C:创建模式;
     	-l #:raid级别;
     	-n #:raid的块设备个数;
     	-x #:备用磁盘个数;
     	-c #:chunk大小
     	-a yes/no:是否自动创建设备文件;
     -D:查看raid设备的详细信息;
     管理模式:
     	-f:模拟块设备故障;
     	-r:移除raid中块设备;
     	-a:向raid中添加块设备;
     -S:停止设备
    

lvm逻辑卷:

  • version:

     version 2(centos 7)
     dm:device map
     pv:组成逻辑卷的任意物理块设备;
     lv:逻辑卷,在vg之上划分的可用卷;
     vg:多个物理块设备组成的逻辑卷组;
     pe:vg属性,定义卷组中的chunk大小;
     设备文件:/dev/mapper/vg_name-lv_name  <--- /dev/vg_name/lv_name
    
  • 管理工具:

    pv管理:pvs、pvdisplay、pvcreate、pvmove

     pvs、pvdisplay:显示pv设备详细信息;
     pvcreate、pvremove:创建或删除pv设备
     pvmove:把某pv的数据移出(vg缩减时会用到)
     resize2fs:重置ext系统文件系统的大小;
    

    vg管理:vgs、vgdisplay、vgcreate、vgremove、vgextend、vgreduce

     vgs、vgdisplay:显示vg信息
     vgcreate vg-name pv-name1 pv-name2 。。。:创建vg;
     	-s # :指定pe大小;
     vgremove vg-name:删除vg(要先删除lv);
     vgextend vg-name pv-name1 pv-name2。。。:扩展vg;
     vgeduce vg-name pv-name :缩减vg(要先pvmove);
     pvmove pv-name:将指定pv的数据移出至其所在vg的其他块设备中;
    

    lv管理:lvcreate、lvremove、lvextend、lvreduce

     lvcreate -n lv-name vg-path/name -L size:创建lv;
     	-n NAME:指定lv名称
     	-L size:指定lv大小;
     	vg-path/name:指定vg设备文件或名称;
     	-s:指定创建为snapshot volume(快照卷)
     	-p r/rw:权限为只读或读写;
     创建快照卷:
     	lvcreate -s -L size -n snap-name -p r/rw lv-path
     	NOTE:快照卷必须和原卷在同一卷组;
     扩展lv:
     	1、umount lv卷;
     	2、fsck -f lv卷;
     	3、lvextend lv-name  -L【+】size,扩展lv卷size或到size;
     	4、resize2fs lv-name:扩展lv卷文件系统至卷边界;
     缩减lv:
     	1、umount lv卷;
     	2、备份数据(lv卷的扩展缩减操作风险较大,一般建议先备份);
     	3、fsck -f lv卷;
     	4、resize2fs lv-name size,缩减lv卷size或到size;
     	5、lvreduce lv-name  -L【-】size,缩减lv卷边界size或到size;
     	6、NOTE:缩减后的文件系大小不能大于缩减后卷的大小;否则文件系统可能损坏
     	7、RECOMMEND:缩减文件系统为大小时,比预定目标小;缩减卷大小时,缩减至目标大小;
     		缩减完成后,resize2fs文件系统至卷边界;
    

    dd命令:转换和复制工具(块级别的复制,不同于cp文件级别的复制)

     用法:dd if=/source/file of=/destination/file 
     	-bz=# :指定block size大小;
     	-count=#:指定块数量
     e,g:磁盘对克
     	dd if=/dev/sda of=/dev/sdb
     e,g备份mbr:
     	dd if=/dev/sda of=/tmp/mbr.bk count=1 bs=512
     e,g清除分区表:
     	dd if=/dev/zero of=/dev/sdb bs=512 count=1
    

备忘:

	1、watch 【options】 command:循环执行某命令
			-n#:循环执行命令的时间间隔;

练习:

1、创建一个可用空间为10G的raid1设备, 要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录;
2、创建一个可用空间为10G的raid0设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录;
3、创建一个至少有两个pv组成的大小为20G的名为testvg的VG,要求PE大小为16MB;创建5G的lv卷testlv挂载至/users目录;
4、新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux目录,复制/etc/pam.d目录至自己的家目录;
5、扩展testlv至7G,要求archlinux用户的文件不能丢失;
6、收缩testlv至3G,要求archlinux用户的文件不能丢;
7、对testlv创建快照,并尝试基于快照备份数据,验证快照的功能;

疑问:

1、centos 7组软raid的设备在停止raid后,设备上依然有软raid信息(cat /proc/mdstat,显示inactive)
开机并重启后,会自动读取块设备上的软raid信息,块设备无法为其他程序使用;如何清除?

猜你喜欢

转载自blog.csdn.net/a904441024/article/details/86599221
dm