什么是LVM
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
怎么使用lvm
首先需要安装LVM管理工具,如果没有安装,那就在光盘或者网络源上安装。
创建分区
首先使用分区工具创建lvm分区
fdisk /dev/sda
将刚刚的标准分区改为lvm的逻辑分区
lvm的格式为8e,其余格式可以用l查看
然后保存退出(w),并且让内核识别分区表项信息
partprobe
同理在sdb磁盘上也创建lvm的逻辑分区,步骤和上面一样。
然后就是创建pv和vg
命令分别是
pvcreate /dev/sda2 /dev/sdb1
vgcreate data /dev/sda2 /dev/sdb1
然后用pvs和vgs查看创建是否成功,创建lv,将两块磁盘放入。
lvcreate -n lv1 -l 100%VG data
-n 后面跟你想要创建lv的名字
-l 后面跟你想要基于lv空间的大小 这里-L和-l不一样,L不可以按百分比划分。
格式化lv并且挂载
/mount 查看是否挂载成功
总结步骤:
1.首先给虚拟机加入两块硬盘
2.fdisk创建两个标准分区
3.标准分区创建成物理卷 pvcreate
4.将两块盘拼凑成一个卷组 vgcreate
5.创建逻辑卷,将刚创建的vg所有空间加入进去 lvcreate lv里可以存在多个vg
缩小逻辑卷
首先需要取消挂载
umount /dev/mapper/data-lv1 (一般创建的逻辑卷都在这个目录下/mapper)
然后检查逻辑卷上的空余空间(可以减少的空间)更改格式类型为ext4(这样格式化文件不易损坏)
mkfs.ext4 /dev/mapper/data/lv1
e2fsck -f /dev/mapper/data/lv1
减少文件系统
resize2fs /dev/mapper/data-lv1 5g(剩余空间的有5个G才可以)
减少逻辑卷系统
lvreduce /dev/data/lv1 -L 5g
使用vgs查看是否成功
重新挂载
mount /dev/data/lv1 /mnt
df -h
扩展逻辑卷
查看闲置空间,如果卷组没有剩余空间就扩大卷组。
vgs
扩展逻辑卷
lvextend -L +3g /dev/data/lv1
重新读取分区信息
resize2fs /dev/data/lv1 (
ext4格式的同步和xfs的不同命令是不一样的xfs_growfs 这个是xfs的)
dh -h
可以看到原本5g的逻辑卷现在变为了8g
卷组中的某块磁盘损坏出现故障转移数据到同卷组的其他磁盘上去(数据迁移)
pvmove /dev/sda2(损坏磁盘) /dev/sdb1(需要移动的同卷组磁盘)
pvs 查看移动是否成功
删除逻辑卷
首先取消挂载
umount /mnt(你的指定挂载点目录)
移除逻辑卷lv
移除卷组vg
移除pv
删除标准分区
fdisk /dev/sdb
partprobe
同理另一个标准分区删除同理
增加swap分区
swap相当于Windows系统下的虚拟内存。作用就是当我们系统中的内存不够用的时候,可以通过SWAP来增加内存。安装Linux系统的时候,必须的两个分区一个是根,一个是SWAP。如果安装系统的时候,SWAP分区分小了的话,需要增加大小,那么接下来的内容就是这个:SWAP分区的创建/扩展。
free -m 查看swap大小
利用磁盘剩余空间增加swap分区
fdisk /dev/sda
n
p
+2g
t
82(swap的标记)
w
partprobe
makswap /dev/sda2
swapon /dev/sda2
查看是否增加成功
free -m
利用分区剩余空间增加swap分区
dd if =/dev/zero of=/swapfile bs=2048M count=1
>mkswap /swapfile
swapon /swapfile
free -m
可以看到swap变成了3个G