学无止境……
分类: LINUX
2014-10-23 15:38:38
PE = Physical Extent (默认为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| |
- +--------------+ +--------------+ +--------------+
从上面的图解中,我们可以三步创建出 LV:
- 1.把磁盘初始化为PV ---> 2.基于PV创建VG ---> 3.在VG内划分LV
创建出LV后即作为系统可用的逻辑磁盘,可在上面创建文件系统后挂载使用。
- 4.在LV上创建文件系统 ---> 5. 挂载/使用
战场二: 逻辑卷拉伸
- 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 中
- #lvdisplay
- 5. #mkfs.ext4 /dev/vg_name/lv_name --- 在 LV 上创建文件系统
- 6. #mount /dev/vg_name/lv_name /mount_point --- 挂载 LV 就可以使用了
拉伸逻辑卷前,首先要确保 VG 中剩余足够多的PE.,如果 VG 有足够的PE ,则不需要重新创建PV来拉伸VG.
① 首先拉伸卷组:
准备好新磁盘,并格式化为 PV,为拉伸卷组提供PE
- #pvcreate /dev/sdd
把新创建的 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
同缩小逻辑卷一样,需要注意:确保整个系统所剩空间充足. 避免数据的损坏
- ##pvmove /dev/sdd /dev/sdb --- 将sdd中的数据传到sdb中
- #vgreduce vg_name /dev/sdd --- 把sdd从 vg 中移除
- #vgdisplay