- 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:吐零机;
网友评论