练习:

创建一个由至少两个物理卷组成的大小为10G的卷组;要求,PE大小8M;而后在卷组中创建大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录;

新建用户mageedu,其家目录为/users/mageedu,而后su至mageedu用户,复制/etc/fstab文件至自己的家目录;

扩展mylv1至7G,确保/users/mageedu的数据不受影响;而后su至mageedu用户,验正数据可正常访问;

缩减mylv1至4G,确保/users/mageedu的数据不受影响;而后su至mageedu用户,验正数据可正常访问;

对mylv1创建快照卷snap-mylv1,并通过cp其内部的数据至/backups/目录中,要求保留原有属主属组等信息;

操作过程:

首先,创建两个分区,一个6G,一个4G,将分区格式转换为8e(lvm格式),在示例中使用的是/dev/sda3(6G)和/dev/sda5(4G),如图:

使用LVM创建LV示例

创建PV:# pvcreate /dev/sda3 /dev/sda5

使用LVM创建LV示例

创建VG:# vgcreate -s 8MB myvg /dev/sda3 /dev/sda5

使用LVM创建LV示例

# vgdisplay myvg

使用LVM创建LV示例

创建5G的LV:# lvcreate -n mylv1 -L 5G /dev/myvg

使用LVM创建LV示例

格式化该5G的LV并创建/users目录:

# mke2fs -t ext4 /dev/myvg/mylv1

# mkdir /users

# vim /etc/fstab;设置开机自动挂载

使用LVM创建LV示例

# mount -a 

# mount

使用LVM创建LV示例

新建用户mageedu

# useradd -d /users/mageedu mageedu

# su - mageedu

$ cp /etc/fstab .

使用LVM创建LV示例

扩展lv至7G:# lvextend /dev/myvg/mylv -L 7G

使用LVM创建LV示例

验证数据可以正常访问

# su - mageedu

$ cat fstab

使用LVM创建LV示例

缩减LV至4G,先卸载/users目录,使用e2fsck -f 检测mylv1,后先使用resize2fs缩减逻辑边界,再使用lvreduce缩减物理边界:

# umount /users

# e2fsck -f /dev/myvg/mylv1

# resize2fs /dev/myvg/mylv1 4G

# lvreduce /dev/myvg/mylv1 -L 4G

使用LVM创建LV示例

可以看到mylv1的大小变化:

使用LVM创建LV示例

将分区重新挂载至/users目录,验证数据是否可用:

# mount -a

# mount 

使用LVM创建LV示例

# su - mageedu

$ cat fstab

使用LVM创建LV示例

对mylv1卷创建快照卷snap-mylv1,先将mylv1重新挂载成只读模式,避免其他进程修改数据卷中数据

# mount -o remount,ro /dev/myvg/mylv1 /users

# lvcreate -s -n /dev/myvg/snap-mylv1 -L 512M -p r /dev/myvg/mylv1

# mount -o remount,rw /dev/myvg/mylv1 /users

# mkdir /temp-backup

# mount /dev/myvg/snap-mylv1 /temp-backup

# cp -a /temp-backup /backups

至此整个过程结束。