Linux LVM 总结
LVM全称是Logical Volume Manager. 它主要是实现硬盘容量的动态扩展. 一般用于存储数据量无法预估的场景, 例如Linux的根目录用lvm存储.
LVM创建过程一般是这样的
1. 硬盘先分区: 一般是一个硬盘一个分区, 或者是多个分区在一个硬盘
命令: fdisk
2. PV(Physcial Volumes)划分, 可以把几个硬盘分区化成PV
命令: pvcreate, pvs, pvdisplay, pvremove, pvmove, pvscan
3. VG(Volume Group), 把几个或所有PV划分成可用空间, 有就是一定大小的块, 块的大小可以自己定义, 默认是4M
命令:vgcreate, vgs, vgdisplay, vgreduce, vgextend, vgscan
4. LV(Logical Volumes), 逻辑卷划分, 将vg划分成大小不超过vg总量的lv
命令: lvcreate, lvs, lvdisplay, lvremove, lvreduce, lvextend, lvscan
5. 格式化磁盘
命令: mke2fs
6. 挂载
命令: mount
实例分别为2G, 3G, 4G的硬盘, 全部划分成pv, 其中的5G划分成lv, 并格式化成ext4.
1. 三块硬盘分别分成3个区
[root@centos ~]# fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
switch off the mode (command ‘c‘) and change display units to
sectors (command ‘u‘). Command (m for help): p Disk /dev/sdb: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x289452a0 Device Boot Start End Blocks Id System Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6527, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-6527, default 6527): +2G Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (263-6527, default 263):
Using default value 263
Last cylinder, +cylinders or +size{K,M,G} (263-6527, default 6527): +3G Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (656-6527, default 656):
Using default value 656
Last cylinder, +cylinders or +size{K,M,G} (656-6527, default 6527): +4G Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.
[root@centos ~]# fdisk -l /dev/sdb Disk /dev/sdb: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x289452a0 Device Boot Start End Blocks Id System
/dev/sdb1 1 262 2104483+ 83 Linux
/dev/sdb2 263 655 3156772+ 83 Linux
/dev/sdb3 656 1178 4200997+ 83 Linux
2. 三个分区全部转换成pv
[root@centos ~]# pvcreate /dev/sdb{1,2,3}
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdb3" successfully created
[root@centos ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_centos lvm2 a-- 49.51g 0
/dev/sdb1 lvm2 --- 2.01g 2.01g
/dev/sdb2 lvm2 --- 3.01g 3.01g
/dev/sdb3 lvm2 --- 4.01g 4.01g
3. pv转换成vg并且取名testvg
[root@centos ~]# vg testvg /dev/sdb{1,2,3}
-bash: vg: command not found
[root@centos ~]# vgcreate testvg /dev/sdb{1,2,3}
Volume group "testvg" successfully created
[root@centos ~]# vgs
VG #PV #LV #SN Attr VSize VFree
testvg 3 0 0 wz--n- 9.02g 9.02g
vg_centos 1 2 0 wz--n- 49.51g 0
4. 划分成5G lv并且取名testlv
[root@centos ~]# lvcreate testvg -L 5G -n testlv
Logical volume "testlv" created
[root@centos ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv testvg -wi-a----- 5.00g
lv_root vg_centos -wi-ao---- 47.57g
lv_swap vg_centos -wi-ao---- 1.94g
5. 格式化新建的testlv为ext4
[root@centos ~]# mke2fs -t ext4 /dev/testvg/testlv
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736 Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
6. 加载新建的lv并确定4G
[root@centos ~]# mount /dev/testvg/testlv /data
[root@centos ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
47G 4.7G 40G 11% /
tmpfs 495M 72K 495M 1% /dev/shm
/dev/sda1 477M 29M 424M 7% /boot
/dev/mapper/testvg-testlv
4.8G 10M 4.6G 1% /data
需要几点
1. 扩展物理边界可以直接加硬盘,pvcreate, vgextend, lvextend
[root@centos ~]# lvextend -L 6G testlv
Path required for Logical Volume "testlv"
Please provide a volume group name
Run `lvextend --help‘ for more information.
[root@centos ~]# lvextend -L 6G /dev/testvg/testlv
Size of logical volume testvg/testlv changed from 5.00 GiB (1280 extents) to 6.00 GiB (1536 extents).
Logical volume testlv successfully resized
2.缩减硬盘, 要先离线, 强制检测, 缩减逻辑空间, vgreduce
[root@centos ~]# e2fsck -f /dev/testvg/testlv
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/testvg/testlv: 12/327680 files (0.0% non-contiguous), 55950/1310720 blocks
[root@centos ~]# resize2fs /dev/testvg/testlv 3G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/testvg/testlv to 786432 (4k) blocks.
The filesystem on /dev/testvg/testlv is now 786432 blocks long. [root@centos ~]# lvreduce testlv -L 3G
Path required for Logical Volume "testlv"
Please provide a volume group name
Run `lvreduce --help‘ for more information.
[root@centos ~]# lvreduce -L 3G /dev/testvg/testlv
WARNING: Reducing active logical volume to 3.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce testlv? [y/n]: y
Size of logical volume testvg/testlv changed from 6.00 GiB (1536 extents) to 3.00 GiB (768 extents).
Logical volume testlv successfully resized
[root@centos ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
47G 4.7G 40G 11% /
tmpfs 495M 72K 495M 1% /dev/shm
/dev/sda1 477M 29M 424M 7% /boot #用pedisplay查出内个硬盘的快是free的
[root@centos ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name testvg
PV Size 2.01 GiB / not usable 3.16 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 513
Free PE 513
Allocated PE 0
PV UUID QsN7uK-DTsA-IVdF-2TFY-jjcs-dN4E-UPa9XP
--- Physical volume ---
PV Name /dev/sdb3
VG Name testvg
PV Size 4.01 GiB / not usable 2.54 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1025
Free PE 257
Allocated PE 768
PV UUID 2XqZ73-EBnb-yJF9-mIQQ-8VRg-46h3-T1fwLW
--- Physical volume ---
PV Name /dev/sdb2
VG Name testvg
PV Size 3.01 GiB / not usable 2.79 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 770
Free PE 770
Allocated PE 0
PV UUID BRUkrH-rSgS-a3VD-2KRC-yxHV-Cd76-eI6MX4
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_centos
PV Size 49.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 12674
Free PE 0
Allocated PE 12674
PV UUID CbCr1K-jw10-L3fC-Bsxm-Owql-zxQd-60cNab
#从vg移除硬盘, 不能直接reduce vg先用用pe移除硬盘块数据
[root@centos ~]# vgreduce testvg /dev/sdb1
Physical volume "/dev/sdb3" still in use
[root@centos ~]# pvmove /dev/sdb1
No data to move for testvg
[root@centos ~]# pvmove /dev/sdb2
/dev/sdb2: Moved: 0.5%
/dev/sdb2: Moved: 25.5%
/dev/sdb2: Moved: 51.0%
/dev/sdb2: Moved: 77.0%
/dev/sdb2: Moved: 100.0%
再reduce
[root@centos ~]# vgreduce testvg /dev/sdb1
Removed "/dev/sdb1" from volume group "testvg"
[root@centos ~]# vgreduce testvg /dev/sdb2
Removed "/dev/sdb2" from volume group "testvg"
[root@centos ~]# vgreduce testvg /dev/sdb3
3. lv的正式设备文件是在/dev/dm-*, 有两个符号连接文件指向这个文件/dev/vg名字/lv名字 和/dev/mapper/vg名字-lv名字
[root@centos ~]# ll /dev/testvg/testlv
lrwxrwxrwx. 1 root root 7 Sep 23 11:12 /dev/testvg/testlv -> ../dm-2
[root@centos ~]# ll /dev/mapper/testvg-testlv
lrwxrwxrwx. 1 root root 7 Sep 23 11:12 /dev/mapper/testvg-testlv -> ../dm-2
补充:snapshot
snapshot就是快照的意思, 它是实现来相同逻辑卷上的"备份"功能, 需要注意的是, snapshot不能取代一般意义上的备份.
快照的创建方式和创建lv一样, 只是要添加-s来指定快照卷.
接着上面的立即来创建个128M快照卷, 并且挂载到/snap
[root@centos ~]# lvcreate -L 128M -s -n lvsnap /dev/testvg/testlv
Logical volume "lvsnap" created
[root@centos ~]# mount /dev/testvg/lvsnap /snap
注意: 创在快照卷的时候, 最好停止在lv上的所有操作, 以免数据混乱
Linux LVM 总结的更多相关文章
- Linux LVM学习总结——扩展卷组VG
Linux服务器由于应用变更或需求的缘故,有可能出现分区空间不足的情况,此时往往需要进行扩容(要增加分区的空间),而采用LVM的好处就是可以在不需停机的情况下可以方便地调整各个分区大小.如下所示,分区 ...
- Linux LVM学习总结——创建卷组VG
在Linux平台如何创建一个卷组(VG)呢?下面简单介绍一下卷组(VG)的创建步骤.本文实验平台为Red Hat Enterprise Linux Server release 6.6 (Santia ...
- Linux LVM学习总结——删除物理卷
本篇介绍LVM管理中的命令vgreduce, pvremove.其实前面几篇中以及有所涉及. vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量.注意:不能删除LVM卷组中剩余的最后一个物理 ...
- Linux LVM简明教程
逻辑卷管理LVM是一个多才多艺的硬盘系统工具.无论在Linux或者其他类似的系统,都是非常的好用.传统分区使用固定大小分区,重新调整大小十分麻烦.但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物 ...
- [转载]Linux LVM硬盘管理及LVM扩容
最近项目中一直在用Linux,其中涉及到了Linux的LVM,本来想自己写一篇关于LVM的文章,搜了一下,发现了一篇更好的,转载过来,也感谢作者gaojun 原文Linux LVM硬盘管理及LVM扩容 ...
- LINUX LVM和快照卷配置和管理
具体参考这个文章把: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_042_lvm.html 1.LVM是什么 逻辑卷管理LVM是一个多 ...
- Linux LVM动态扩容
引用自: https://blog.csdn.net/u012439646/article/details/73380197 xfs_growfs /dev/centos/root 一.首先安 ...
- Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
- Linux LVM使用小记
对于Linux LVM一直不太理解,直到最近使用了简单功能后才稍微明白点. 对于硬盘空间物理上的使用,我们都是先对硬盘进行分区,然后格式化成文件系统支持的类型,最后给操作系统使用.但是这种使用方式很不 ...
- Linux LVM磁盘管理
几个概念: PV:物理卷,指LVM的基本逻辑卷,包含LVM的基本参数,如/dev/sdb1等. VG:卷组,类似于非LVM的硬盘,由多个PV组成. LV:逻辑卷,类似于非LVM硬盘中的分区. PE:物 ...
随机推荐
- Linux下Valgrind的使用概述 来源:Linux社区 作者:dndxhej
本地使用情况,在Ubantu系统上编写的测试性能: 1,下载:sudo apt-get install valgrind; 2,验证是否安装成功:试着valgrind ls -l来检测是否正常工作: ...
- IT软件外包行业深入分析:现状、前途、趋势、待遇 什么是软件外包 外包公司是怎么工作的 软件外包公司的面试 软件外包公司需要什么样的人
目录: [0] - 为什么要对大学生谈软件外包? [1] - 什么是软件外包? [2] - 软件为什么要外包? [3] - 为什么要承接软件外包 [4] - 做软件外包有前途吗? [5] - 外包公司 ...
- 寻找自己的道路——与技术同胞共勉 一种划分为七个阶段的道路:自信=>意志=>布局=>切入点=>团队=>渠道=>产品
寻找自己的道路——与技术同胞共勉 每个人的幸福都是不一样的.我喜欢田园式的生活,在人多的地方总是不舒服. 对我来说,最幸福莫过于在工作中做着自己喜欢的事情.闲暇时,在能够眺望江边的地方,端着一杯红酒, ...
- MapReduce 模式、算法和用例
翻译自:http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/ 在这篇文章里总结了几种网上或者论文中常见的MapReduc ...
- 【Linux】字符转换命令tr
tr (traslate的缩写)可以用来删除一段信息当中的文字,或者是进行文字信息的替换! [root@www ~]# tr [-ds] SET1 ... 选项与参数: -d :删除信息当中的 SET ...
- 测试Js权限
'12222' 测试一下 刚兴趣的可以参考: http://www.cnblogs.com/littledu/archive/2011/05/08/2040298.html http://www.cn ...
- Android插件化与热修复(六)-微信Tinker原理分析
Tinker热修复原理分析 热补丁技术是在用户不需要重新安装应用的情况下实现应用更新,可快速解决一些线上问题.热补丁省去了Android应用发布版本的成本,而且用户端的更新也是无感知的. Tinker ...
- 解决虚拟机vmware虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题
前言 虚拟机使用的是VMware Workstation,并且首次在虚拟机体验64 位系统.在新建好虚拟机,运行时候就出现了VMware Workstation 的提醒:此主机支持 Intel VT- ...
- NTC电阻抑制冷机启动浪涌电流
开关电源高压直流回路中常用串联负温度系数热敏限流电阻器(NTC)的方法抑制开机浪涌电流,然而这种简单的方法具有很多缺点:如NTC电阻器的限流效果受环境温度影响较大.限流效果在短暂的输入主电网中断(约几 ...
- hive元数据研究
hive的元数据存放在关系型数据库中,元数据中存储了hive中所有表格的信息,包括表格的名字,表格的字段,字段的类型,注释.这些信息分散的存放在各个表中,给定一个hive中的表格名字,查询这个表中含有 ...