linux LVM
LVM: Logical Volumn Manager将一个或多个底层块设备组织一个逻辑的工具
Block Devices:
Pysical Extent
PE: 大小固定
存储空间边界:
物理边界:
逻辑边界
逻辑卷:
扩展:物理 --> 逻辑
缩减:逻辑 --> 物理
ps: 缩减不能少于已经存储的所有数据空间的大小
逻辑卷创建
LVM:
块设备:分区,RAID
pv --> vg --> lv
pv:
pvcreate, pvs, pvdisplay, pvremove, pvmove, pvscan
vg:
vgcreate, vgs, vgdisplay, vgremove, vgextend, vgreduce, vgscan
lv:
lvcreate, lvs, lvdisplay, lvremove, lvextend, lvreduce, lvscan
例如:10G的vg,
1:10G PV
2: 3+7G PV
创建逻辑卷:lvcreate
-n lv_name
-L #UNIT {mMgGtT}
VG_NAME
lv的访问路径:
1、/dev/VG_NAME/LV_NAME
/dev/myvg/mylv
2、/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/myvg-mylv
此两者均为符号链接,指向的文件为/dev/dm-#
如何扩展逻辑卷:
1、先确定扩展的目标大小;并确保对应的卷组中有足够的空闲空间可用;
2G, 目标为4G
+2G
4G
2、扩展物理边界
lvextend -L 4G /dev/myvg/mylv
3、扩展逻辑边界
resize2fs /dev/myvg/mylv
缩减很危险!缩减要离线
1、先确定缩减后的目标大小;并确保对应的目标逻辑卷大小中有足够的空间可容纳原有所有数据;
2、先制裁文件系统,并要执行强制检测
e2fsck -f
3、缩减逻辑边界
resize2fs DEVICE
4、缩减物理边界
lvreduce
创建快照卷: lvcreate
-L
-n
-s
-p r
注意:快照卷是对某逻辑卷进行的,因此必须跟目标逻辑卷在同一个卷组中;无须指明卷组;
dd 命令
if=/path/to/src_file
of=/path/to/dest_file
bs=256K
count=#
100M
dd if=/dev/zero of=/dev/sdb bs=512 count=1
/dev/null: 吞进所有数据,直接丢弃
/dev/zero: 泡泡机,吐零
dd if=/dev/sdb of=/backup/mbr.backup bs=1 count=512
dd if=/backup/mbr.backup of=/dev/sdb bs=512 count=1
swap空间吃紧,创建新的swap设备
示例
1、创建一个由至少两个物理卷组成的大小为10G的卷组;要求,PE大小8M;而后在卷组中创建大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录; 2、新建用户mageedu,其家目录为/users/mageedu,而后su至mageedu用户,复制/etc/fstab文件至自己的家目录; 3、扩展mylv1至7G,确保/users/mageedu的数据不受影响;而后su至mageedu用户,验正数据可正常访问; 4、缩减mylv1至4G,确保/users/mageedu的数据不受影响;而后su至mageedu用户,验正数据可正常访问; 5、对mylv1创建快照卷snap-mylv1,并通过其cp内部的数据至/backups/目录中,要求保留原有属主属组等信息;

浙公网安备 33010602011771号