LVM图解
LVM
= Logic Volume Manager
PE
= Physical Extent
(LVM的最小操作单元,默认为4M)
PV
= Physical Volume
VG
= Volume Group
LV
= Logic Volume
+------------PV----------------+ +-------------PV---------------+ /dev/sda <--- | ____ ____ ____ ____ | | ____ ____ ____ ____ | ---> /dev/sdb | |PE| |PE|....|PE| |PE| | .... | |PE| |PE|....|PE| |PE| | +------------------------------+ +------------------------------+ | | | | \_/ \_/ +---------------------------VG----------------------------+ | ____ ____ ____ ____ ..... ____ ____ ____ | | |PE| |PE| |PE| |PE| ..... |PE| |PE| |PE| | +---------------------------------------------------------+ | | | | | | \_/ \_/ \_/ +------LV1-----+ +------LV2-----+ +------LV3-----+ | ____ ____ | | ____ ____ | | ____ ____ | | |PE| .. |PE| | | |PE| .. |PE| | | |PE| .. |PE| | +--------------+ +--------------+ +--------------+
|
LVM创建流程
从上面的图解中,我们可以三步创建出 LV:
创建出LV后即作为系统可用的逻辑磁盘,但是必须在上面创建文件系统后才可以挂载使用。
LVM实战
战场一: 空磁盘划分LVM,并挂载使用.
1. #fdisk -l --- 查看磁盘信息
2. #pvcreate /dev/sdb /dev/sdc --- 初始化磁盘为物理卷 #pvdisplay
3. #vgcreate vg_name /dev/sdb /dev/sdc --- 把物理卷中的 PE 添加至卷组中 #vgdisplay
4. #lvcreate -n lv_name -L 4G vg_name --- 从 VG 取出所需的 PE 创建 LV,创建好的 LV 将在 /dev/vg_name/lv_name 中.或者使用 -l 指定 PE 数量 #lvdisplay
5. #mkfs.ext4 /dev/vg_name/lv_name --- 在 LV 上创建文件系统
6. #mount /dev/vg_name/lv_name /mount_point --- 挂载 LV 就可以使用了
7. # vim /etc/fstab -- 添加如下,设置开机自动挂载 /dev/vg_name/lv_name /mount_point ext4 defaults 0 0
|
战场二: 逻辑卷拉伸
拉伸逻辑卷前,首先要确保 VG 中剩余足够多的PE.,如果 VG 有足够的PE ,则不需要重新创建PV来拉伸VG.
① 首先拉伸卷组:
准备好新磁盘,并格式化为 PV,为拉伸卷组提供PE
把新创建的 PV 并入 VG
#vgextend vg_name /dev/sdd #vgdisplay
|
② 再扩容 LV
#lvextend -L +10G /dev/vg_name/lv_name #lvdisplay
|
③ 最后更新文件系统.(文件系统可能不能自动识别 扩容的LV,需要手动更新)
#resize2fs /dev/vg_name/lv_name
|
战场三: 逻辑卷缩小
逻辑卷的缩小必须严格按照步骤来,否则将损坏数据.
首先卸载挂载的 LV
#umount /dev/vg_name/lv_name
|
然后缩小文件系统
#resize2fs /dev/vg_name/lv_name 5G
|
最后才缩小 LV
#lvreduce -L -5 /dev/vg_name/lv_name
|
重新挂载 LV 使用
#mount /dev/vg_name/lv_name /mount_point
|
战场三: 卸载加入到 VG 中的 PV
同缩小逻辑卷一样,需要注意:确保整个系统所剩空间充足. 避免数据的损坏
##pvmove /dev/sdd /dev/sdb --- 将sdd中的数据传到sdb中 #vgreduce vg_name /dev/sdd --- 把sdd从 vg 中移除 #vgdisplay
|
注意事项:
- 使用 fdisk 工具格式化过的硬盘分区不能创建 LVM
- 除非必要,尽量不要缩小 LVM 相关单元.操作过程中一定要注意系统磁盘剩余空间
- 此外使用
pvs
vgs
lvs
可以查看 LVM 简要的信息
—By LuoYe
[QQ:291268775]
2014/10/23