Linux磁盘管理之LVM
来源:互联网 发布:东京奥运会知乎 编辑:程序博客网 时间:2024/06/05 21:16
LVM:Logical Volume Manager 逻辑卷管理
传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。
LVM使用原理结构,如下图所示。
命令总览:
功能
物理卷管理
卷组管理
逻辑卷管理
Scan扫描
pvscan
vgscan
lvscan
Create建立
pvcreate
vgcreate
lvcreate
Display显示
pvdisplay
vgdisplay
lvdisplay
Remove删除
pvremove
vgremove
lvremove
Extend扩展
vgextend
lvextend
准备磁盘分区
通过fdisk命令创建/dev/sdb5,/dev/sdb6,/dev/sdb7,/dev/sdb8四个分区。大小可以不同
[root@localhost ~]# fdisk /dev/sdb
Command (m for help): tPartition number (1-8, default 8): 5Hex code (type L to list all codes): 8eChanged type of partition 'Linux' to 'Linux LVM'
分区创建好之后应有如下输出:
[root@localhost ~]# fdisk -l /dev/sdbDisk /dev/sdb: 64.4 GB, 64424509440 bytes, 125829120 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xc0d9ee4a Device Boot Start End Blocks Id System/dev/sdb1 2048 20973567 10485760 fd Linux raid autodetect/dev/sdb2 20973568 23070719 1048576 fd Linux raid autodetect/dev/sdb3 23070720 44042239 10485760 83 Linux/dev/sdb4 44042240 125829119 40893440 5 Extended/dev/sdb5 44044288 65015807 10485760 8e Linux LVM/dev/sdb6 65017856 85989375 10485760 8e Linux LVM/dev/sdb7 85991424 96477183 5242880 8e Linux LVM/dev/sdb8 96479232 106964991 5242880 8e Linux LVM
准备物理卷
[root@localhost ~]# pvcreate /dev/sdb{5,6,7} Physical volume "/dev/sdb5" successfully created Physical volume "/dev/sdb6" successfully created Physical volume "/dev/sdb7" successfully created
创建完成后可以用pvdisplay查看。这里跳过。
删除物理卷的命令为:
[root@localhost ~]# pvremove /dev/sdb5
准备卷组
创建一个名为testvg的卷组
[root@localhost ~]# vgcreate testvg /dev/sdb{5,6,7} Volume group "testvg" successfully created
卷组创建好之后就可以用vgdisplay看一下
[root@localhost ~]# vgdisplay --- Volume group --- VG Name testvg System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 11.99 GiB PE Size 4.00 MiB Total PE 3069 Alloc PE / Size 0 / 0 Free PE / Size 3069 / 11.99 GiB VG UUID ofhCb0-42oG-3lEF-Tq7S-cLEv-dH91-mvcdOe
删除的命令为:
[root@localhost ~]# vgremove testvg
在卷组里创建逻辑卷
创建一个大小8G,名为testlv的逻辑卷
[root@localhost ~]# lvcreate -L 8G -n testlv testvg Logical volume "testlv" created.
使用lvdisplay查看
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/testvg/testlv LV Name testlv VG Name testvg LV UUID b3OHcq-LnQy-lNfj-XDgM-s9tx-rAtq-levoi1 LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-03-17 16:28:39 +0800 LV Status available # open 0 LV Size 8.00 GiB Current LE 2048 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
删除逻辑卷的命令为:
[root@localhost ~]# lvremove /dev/testvg/testlv
接下来,这个逻辑卷就相当于一个可以动态扩容的盘了
先格式化并挂载使用。
[root@localhost ~]# mke2fs -t ext4 /dev/testvg/testlv[root@localhost ~]# mkdir /lvm-mount[root@localhost ~]# mount /dev/testvg/testlv /lvm-mount/
扩展LVM逻辑卷
给刚刚创建的testlv增加2G空间
扩展时可以不用卸载此设备。
[root@localhost ~]# lvextend -L +2G /dev/testvg/testlv Size of logical volume testvg/testlv changed from 8.00 GiB (2048 extents) to 10.00 GiB (2560 extents). Logical volume testlv successfully resized.
运行 resize2fs命令,更新文件系统
[root@localhost ~]# resize2fs /dev/testvg/testlv resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/testvg/testlv is mounted on /lvm-mount; on-line resizing requiredold_desc_blocks = 1, new_desc_blocks = 2The filesystem on /dev/testvg/testlv is now 2621440 blocks long.
验证:现在应该增加到10G了
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/testvg/testlv LV Name testlv VG Name testvg LV UUID b3OHcq-LnQy-lNfj-XDgM-s9tx-rAtq-levoi1 LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-03-17 16:28:39 +0800 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
缩减逻辑卷
注意:在对逻辑卷减小操作时,需要先把逻辑卷卸载。若缩减后分区大小小于数据时,存储在后面的数据会丢失。
[root@localhost ~]# umount /dev/testvg/testlv
卸载过后,需要使用fsck检查磁盘是否出错(-f强制检查)
[root@localhost ~]# fsck.ext4 -f /dev/testvg/testlv
完成以后,减少逻辑卷大小
[root@localhost ~]# lvresize -L 5G /dev/testvg/testlv
接下来缩小文件系统,更新ext4信息
[root@localhost ~]# resize2fs /dev/testvg/testlv
使用lvdisplay验证一下:
[root@localhost ~]# lvdisplay [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/testvg/testlv LV Name testlv VG Name testvg LV UUID b3OHcq-LnQy-lNfj-XDgM-s9tx-rAtq-levoi1 LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-03-17 16:28:39 +0800 LV Status available # open 0 LV Size 5.00 GiB Current LE 1280 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
接下来就可以挂载使用了。
扩展一个卷组:
其实,扩展卷组和扩展逻辑卷差不多。需要一个空闲分区或硬盘,在创建时选择8e类型。(我选择了刚创建的/dev/sdb8分区)
先查看一下
[root@localhost ~]# vgdisplay --- Volume group --- VG Name testvg System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 11.99 GiB PE Size 4.00 MiB Total PE 3069 Alloc PE / Size 1280 / 5.00 GiB Free PE / Size 1789 / 6.99 GiB VG UUID ofhCb0-42oG-3lEF-Tq7S-cLEv-dH91-mvcdOe
使用vgextend命令扩展
[root@localhost ~]# vgextend /dev/testvg /dev/sdb8 Physical volume "/dev/sdb8" successfully created Volume group "testvg" successfully extended
使用vgdisplay来验证(可以看到卷组大小已经增大)。
[root@localhost ~]# vgdisplay --- Volume group --- VG Name testvg System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 4 Act PV 4 VG Size 13.98 GiB PE Size 4.00 MiB Total PE 3580 Alloc PE / Size 1280 / 5.00 GiB Free PE / Size 2300 / 8.98 GiB VG UUID ofhCb0-42oG-3lEF-Tq7S-cLEv-dH91-mvcdOe
完~~~
本文出自 “我的学习笔记” 博客,请务必保留此出处http://zhaoyongtao.blog.51cto.com/10955972/1752246
- Linux磁盘管理之LVM
- Linux磁盘管理之LVM技术
- linux LVM磁盘管理
- Linux磁盘管理之LVM及RAID管理一之LVM管理
- linux磁盘管理LVM使用指南
- linux LVM磁盘管理实战
- 磁盘管理三之LVM
- linux下磁盘管理之利器 lvm使用介绍
- Linux磁盘管理之LVM与RAID(转载)
- linux下磁盘管理之利器 lvm使用介绍
- Linux磁盘管理之LVM及RAID管理二之RAID管理
- linux LVM磁盘管理及扩容
- 34-Linux-磁盘管理-LVM基本概念
- 用lvm管理Linux磁盘的大小
- Linux磁盘管理:LVM逻辑卷
- Linux磁盘管理:LVM逻辑卷
- linux 磁盘管理(fdisk parted 和LVM)
- Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理
- 两个队列实现栈
- Byte、bit、bps、Bps详解
- Linux之grep
- Linux磁盘管理之GPT分区
- Linux之磁盘RAID
- Linux磁盘管理之LVM
- Linux软件管理之RPM、YUM、源码编译安装
- WifiDog 认证原理和流程
- 在c++中“\n”与endl之间的区别
- 字符串处理中substring()和substr()的比较
- Linux网络配置之一 ifconfig、route、netstat命令详解
- Linux之sed详解
- tomcat jdbc 连接池
- Linux网络配置之二ip、ss、网络相关配置文件