Linux使用入门教程之LVM

Linux使用入门教程之LVM

1.pvscan #查看当前系统是否存在 PV(物理卷)

2.fdisk -l #查看当前系统分区

3.pvcreate /dev/sda{5,6} /dev/sdb1 #sda的两个分区和整块的sdb,两块硬盘来做LVM

4.pcscan #查看当前系统的PV,可以看到出现三块PV,但是这三块PV并未分配到任何VG(卷组)里面

5.vgsacn #查看当前系统是否存在VG

6.vgcreate vg0 /dev/sda{5,6} #将sda上的两个分区拿来创建卷组vg0

7.vgscan #查看当前系统是否成功创建vg0

8.vgdisplay #查看当前系统中所有的vg信息

9.vgdisplay vg0 #查看当前系统中指定vg0的信息

当当前系统的LV(逻辑卷)大小不够用时,需要增加VG容量,方能扩展LV

10.vgextend vg0 /dev/sdb1 #将经过初始化的sdb也加入vg0中

当想减少VG容量时

11.vgreduce vg0 /dev/sdb1 #将sdb从vg0中移除

12.vgrename vg0 vg1 #将指定VG改名

13.vgremove vg0 #删除VG

关于VG,还有很多命令,按下vg+连按两下Tab键,查看相关命令,具体用法,查看Linux最强大的man

14.vgcreate vg0 -s 8 /dev/sda{5,6} /dev/sdb1 #以8M的PE大小创建vg0(VG的最小的单位是PE:物理扩展,系统分区的最小单位是磁盘上的一个柱面)

15.lvscan #查看当前系统是否存在LV

16.lvcreate -n lv0 -L 198M vg0 #创建198M的LV,但系统分配200M,因为LV也是以PE为基本单位

17.lvcreate -n lv1 -l 8 vg0 #创建8个PE大小的LV

18.lvdisplay #查看当前系统中所有lv的信息


19.lvdisplay /dev/vg0/lv1 #查看当前系统中指定LV的信息

20.lvremove /dev/vg0/lv1 #删除当前系统中指定的LV


21.mkfs.ext4 /dev/vg0/lv0 #以ext4文件系统格式化LV


22.mkdir /aa

mount /dev/vg0/lv0 /aa

vim /etc/fstab #写入配置文件,使其开机能够自动启动

/dev/vg0/lv0    /aa    ext4    defaults    0 0

23.df -Th #查看当前系统中已挂在的分区信息

/dev/mapper/vg0-lv0 等价于 /dev/vg0/lv0

#逻辑卷扩展

24.lvextend -L +800M /dev/vg0/lv0 #扩大lv0至1G

25.lvscan 1000M


26.df -Th 200M #因为扩展的800M空间,并没有文件系统(即未扩展文件系统)

27.resize2fs /dev/vg0/lv0 #扩展相应的文件系统


28.df -Th #再度查看的时候,已经妥妥的了

#逻辑卷减小(尽量以图形化界面)

#如果服务器上无X-Window,请谨慎处理之:


########################################################

1.umount /aa/ #卸载文件系统,经常会出现异常,logout then login


2.fsck -f /dev/vg0/lv0 #磁盘自检

3.resize2fs /dev/vg0/lv0 300M #########将文件系统首先减至300M

4.lvreduce -L -700M /dev/vg0/lv0 ######将逻辑卷减至300M


5.mount /dev/vg0/lv0 /aa #重新挂载


6.df -Th #妥妥的

注:在逻辑卷扩展和减小的过程中,服务器上的数据都是妥妥的

########################################################

基于LVM制作 snapshot

lvcreate -n lv1 -L 90M -s /dev/vg0/lv0 # snapshot的大小为源文件的30%左右即可

lvscan #即可看到两份lv,一份是Original,一份是Snapshot

如果此时lv1中的数据丢失了

umount /bb/ ###卸载不成功,重新登陆下即可

lvremove -f /dev/vg0/lv1 #删除lv1

这是把lv0翻出来,再整个快照就妥妥的了,就可以恢复数据了

cd /root

vim sos.sh

#!/bin/bash

echo -n "The data is resuming!!!"

umount /bb


( lvremove -f /dev/vg0/lv1) &> /dev/null

( lvcreate -n lv1 -L 90M -s /dev/vg0/lv0) &>null

mount /dev/vg0/lv0 /bb/

sleep 5

echo

echo "Congratulation!!!The data has come back!!!"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18141.html