LVM磁盘管理

来源:互联网 发布:win8.1改mac地址 编辑:程序博客网 时间:2024/05/18 13:25
动态扩容
LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:
物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
简单来说就是:
PV:是物理的磁盘分区
VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。
LV:也就是从VG中划分的逻辑分区
如下图所示PV、VG、LV三者关系:




扩容原理:用新磁盘创建PV,然后合并到现有的VG中,然后再扩容某个LV。
貌似全程都不用格式化新建分区

安装LVM
首先确定系统中是否安装了lvm工具:
yum install lvm2 apt-get install lvm2

df -h 和 fdisk -l查看分区情况
开始分区:
fdisk /dev/sdb
n 新建
p 设定为主分区
回车 设定起始扇区
回车 设定结束扇区(直接回车默认用全部空间创建,也可以输入+500M设定为500M)

t 此时输入L能看到所有格式的代码,指定分区格式,8e为LVM
Partition number(1-4):1指定分区 ,即为之后创建的sdb1-4(主分区只能4个)
8e 设定为LVM
p 查看当前分区情况
w 写入硬盘

partprobe 重读分区表,可能会提示无法只读。。。。不用理会

查看当前PV
pvdisplay 或 pvscan

创建PV(物理卷)
pvcreate /dev/sdb1使用之前创建的sdb1的全部空间创建PV,不想使用全部空间,之前分区时就要注意了。

查看当前VG(卷组)
vgdisplay 或 vgscan

用/dev/sdb1创建VG并加到已存在的vg_bogon中
vgextend vg_bogon /dev/sdb1[vg_bogon是本机正在使用的vg_name]

查看当前VG
vgdisplay

发现有9.99G的空间

扩容/分区所在的LV(逻辑卷)
【/dev/vg_bogon/LogVol01为正在使用的/分区】
lvextend -l +100%FREE /dev/vg_bogon/LogVol01【路径用/dev/vg_bogon/LogVol01 /dev/mapper/vg_bogon-LogVol01都是可以的df -h就能查看】
lvextend -L +10G  /dev/vg_bogon/LogVol01来增加10G空间。

查看当前VG
vgdisplay
已经扩容了,但df -h 显示没有扩容

重设逻辑卷大小,对于当前正在使用的LogVol01有效
resize2fs /dev/vg_bogon/LogVol01

***************************************************************************************************************************************************

缩小其他分区扩容根分区
1.首先查看磁盘使用情况
df -h
文件系统 容量  已用 可用  已用% 挂载点
Filesystem              Size  Used Avail Use% Mounted on  
/dev/mapper/VolGroup-lv_root154G  7.9G  139G   6% /
tmpfs                  1.9G  100K  1.9G   1% /dev/shm
/dev/sda1              485M   69M  391M  15% /boot
/dev/mapper/VolGroup-lv_home299G  984M  283G   1% /home
2、卸载/home【这里缩小home,把扩容/分区】
umount /home
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
fuser -m /home
3、调整分区大小
resize2fs -p/dev/mapper/VolGroup-lv_home 20G【此处缩小home分区到20G】
如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令: 
[root@localhost ~]#e2fsck -f/dev/mapper/VolGroup-lv_home 然后重新执行命令:
[root@localhost ~]#resize2fs -p/dev/mapper/VolGroup-lv_home 20G
注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合
4、挂载上/home,查看磁盘使用情况
mount /home
df -h
 此时看/home分区只有20G了。

5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
lvreduce -L 20G/dev/mapper/VolGroup-lv_home【刚才只是把/home多余的空间标记为不使用,这一步开始真正分割lv,把/home的lv分割为刚刚设定的大小,只能比20G大,比20G小,多分割出来的地方数据会丢失(上面已经设定了为20G了)】
注:lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G【-L设定为指定大小,-l减小指定大小】
使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。 
 
可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
[root@localhost ~]# vgdisplay
注:vgdisplay为显示LVM卷组的元数据信息 此时可以看到有free空间。
  1. 6
6.把闲置空间挂在到根目录下
lvextend -l +100%FREE/dev/mapper/VolGroup-lv_root 【把free空间全部分给/分区】
注:如果使用lvextend -L +283G则为在文件系统上增加283G
resize2fs -p/dev/mapper/VolGroup-lv_root 【重设磁盘大小】
  1. 7
7、检查调整结果
df -h
OK扩容完成

***************************************************************************************************************************************************
其他命令:
移除lv逻辑卷:
lvdisplay
lvremove -f /dev/vg_bogon/LogVol02 移除该lv逻辑卷

lv逻辑卷重命名:
lvrename /dev/vg_bogon/LogVol02 /dev/vg_bogon/lv_root

如果无法修改可能是因为激活原因,激活VG就可以修改LV名了
lvchange -an /dev/vg_bogon/LogVol02

VG重命名
vgrename vg_bogon vg_new


若不是用于扩容,只是用来做磁盘存储文件,则要挂载分区,开机自动挂载修改/etc/fastab文件。

如果改名的lv卷是启动分区的话,再修改/etc/grub.conf文件


个人学习笔记,不当之处还请指正。
----------不定期更新------------











0 0
原创粉丝点击