了解LVM卷管理的概念
掌握LVM的创建
掌握LVM的扩容操作
掌握LVM的缩减操作
掌握LVM的删除操作
掌握LVM的快照功能
VMWare环境下使用一台CentOS6.0主机,添加8块硬盘,每块5G。四块硬盘用来模拟raid5,一块用来模拟分区,一块用来模拟物理硬盘,一块用于扩容。创建一个raid5设备, 新建一个分区。对raid5设备、分区和一块物理硬盘创建PV、VG(名称为vg0)。从vg0中分出5G内存创建一个名为lv1的LV,格式化并挂载lv1。利用一块空闲硬盘先对vg0进行扩容,然后给lv1增加5G容量。缩减lv1 6G容量,将新增的硬盘从vg0中移除。为lv1创建一个大小为80M的名称为lv1snap的快照,格式化lv1,还原快照。删除LVM。
- 设置磁盘,为虚拟机增加8个硬盘
fdisk /dev/sdg
fdisk /dev/sdf
fdisk /dev/sdh
fdisk /dev/sdi
/dev/sdj
/dev/sdk
/dev/sdl
/dev/sdm
- 四块硬盘模拟raid5
mdadm -C /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[f,g,h,i]
echo DEVICE /dev/sd{f,g,h,i} >> /etc/mdadm.conf
mdadm -Ds >> /etc/mdadm.conf
vim /etc/mdadm.conf
一块硬盘新建一个分区
fdisk /dev/sdj
- 对raid5设备、分区和一块物理硬盘创建PV
pvcreate /dev/md5 /dev/sdj1 /dev/sdk
pvdisplay
pvs
pvscan
把三个设备组合成一个vg0
vgcreate vg0 /dev/md5 /dev/sdj1 /dev/sdk
vgdisplay
vgs
vgscan
从vg0中分出5G内存创建一个名为lv1的LV
lvcreate -L 5G -n lv1 vg0
vgs
vgscan
lvdisplay
- 格式化并挂载lv1
mkfs.ext4 /dev/vg0/lv1
mkdir /mnt/lv1
mount /dev/vg0/lv1 /mnt/lv1/
df -TH
将挂载信息写入/etc/fstab
vim /etc/fstab
- 向lv1增加测试数据:创建3个文件test_lvm_dynamic.disk、test_lvm_dynamic.disk2、test_lvm_dynamic.disk3
touch /mnt/lv1/test_lvm_dynamic.disk
touch /mnt/lv1/test_lvm_dynamic.disk2
touch /mnt/lv1/test_lvm_dynamic.disk3
- 对vg0增加一块硬盘
resize2fs /dev/vg0/lv1
pvcreate /dev/sdl
vgextend vg0 /dev/sdl
给lv1增加5G容量
lvextend -L +5G /dev/vg0/lv1
- 缩减lv1 6G容量
umount /mnt/lv1/
resize2fs /dev/vg0/lv1 6G
报错后
e2fsck -f /dev/vg0/lv1
resize2fs /dev/vg0/lv1 6G
lvreduce /dev/vg0/lv1 -L -6G
mount /dev/vg0/lv1 /mnt/lv1/
移除vg0中新增的硬盘
umount /mnt/lv1/
pvs
vgreduce vg0 /dev/sdl
pvs
vgs
- 为lv1创建一个大小为80M的名称为lv1snap的快照
umount /mnt/lv1/
lvremove /dev/vg0/lv1
lvcreate -L 100M -n lv1 vg0
格式化lv1
mkfs.ext4 /dev/vg0/lv1
mount /dev/vg0/lv1 /mnt/lv1/
touch /mnt/lv1/test_lvm_snapshot_1
touch /mnt/lv1/test_lvm_snapshot_2
cp -a /etc/ /mnt/lv1/
cp -a /boot/ /mnt/lv1/
df -h
还原快照
ll /mnt/lv1/
lvcreate -L 80M -s -n lv1snap /dev/vg0/lv1
lvdisplay
mkdir /mnt/snapshot
mount /dev/vg0/lv1snap /mnt/snapshot/
rm -rf /mnt/lv1/etc/
ll /mnt/lv1/
ll /mnt/snapshot/
lvdisplay
cd /mnt/snapshot/
ls
tar cjf /tmp/lvm.bz2 *
cd
umount /mnt/snapshot/
lvremove /dev/vg0/lv1snap
umount /mnt/lv1/
mkfs.ext4 /dev/vg0/lv1
mount /dev/vg0/lv1 /mnt/lv1/
tar xjf /tmp/lvm.bz2 -C /mnt/lv1/
ll /mnt/lv1/
- 删除LVM
umount /mnt/lv1
lvs
lvremove /dev/vg0/lv1
vgs
vgremove vg0
vgs
pvs
pvremove /dev/md5 /dev/sdj1 /dev/sdk /dev/sdl
pvs