lvm拉伸与快照
一.拉伸
*用fdisk分区
*构建pv
*将pv加入vg
*将pv内的pe加入lv
*通过resize将文件系统的容量增加
1.分区
[root@server3 ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
All primary partitions are in use
Adding logical partition 6
First sector (8394752-20971519, default 8394752):
Using default value 8394752
Last sector, +sectors or +size{K,M,G} (8394752-20971519, default 20971519): +1G
Partition 6 of type Linux and of size 1 GiB is set
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa859763d
Device Boot Start End Blocks Id System
/dev/vdb1 2048 2099199 1048576 8e Linux LVM
/dev/vdb2 2099200 4196351 1048576 8e Linux LVM
/dev/vdb3 4196352 6293503 1048576 8e Linux LVM
/dev/vdb4 6293504 20971519 7339008 5 Extended
/dev/vdb5 6295552 8392703 1048576 8e Linux LVM
/dev/vdb6 8394752 10491903 1048576 83 Linux
Command (m for help): t
Partition number (1-6, default 6): 6
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa859763d
Device Boot Start End Blocks Id System
/dev/vdb1 2048 2099199 1048576 8e Linux LVM
/dev/vdb2 2099200 4196351 1048576 8e Linux LVM
/dev/vdb3 4196352 6293503 1048576 8e Linux LVM
/dev/vdb4 6293504 20971519 7339008 5 Extended
/dev/vdb5 6295552 8392703 1048576 8e Linux LVM
/dev/vdb6 8394752 10491903 1048576 8e Linux LVM
2.构建pv
[root@server3 ~]# pvcreate /dev/vdb6
Physical volume "/dev/vdb6" successfully created.
[root@server3 ~]# pvscan
PV /dev/vdb1 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb2 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb3 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb5 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb6 lvm2 [1.00 GiB]
Total: 5 [4.94 GiB] / in use: 4 [3.94 GiB] / in no VG: 1 [1.00 GiB]
3.将pv加入vg
[root@server3 ~]# vgextend vgn /dev/vdb6
Volume group "vgn" successfully extended
[root@server3 ~]# vgdisplay
--- Volume group ---
VG Name vgn
System ID
Format lvm2
Metadata Areas 5
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 5
Act PV 5
VG Size 4.92 GiB
PE Size 16.00 MiB
Total PE 315
Alloc PE / Size 252 / 3.94 GiB
Free PE / Size 63 / 1008.00 MiB **这里显示的时未使用的pe,-l参数可以看这里
VG UUID JjHOlH-RdcV-71dR-4wmK-NQ3N-pnRS-1y5dIV
4.将pv内的pe加入lv
[root@server3 ~]# lvresize -l +63 /dev/vdb
/dev/vdb1 /dev/vdb2 /dev/vdb3 /dev/vdb5 /dev/vdb6
[root@server3 ~]# lvresize -l +63 /dev/vgn/lvn
Size of logical volume vgn/lvn changed from 3.94 GiB (252 extents) to 4.92 GiB (315 extents).
Logical volume vgn/lvn successfully resized.
[root@server3 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgn/lvn
LV Name lvn
VG Name vgn
LV UUID 3cZBXM-Ef2z-wDLR-Fyxx-TmzD-Payq-BJ6eTm
LV Write Access read/write
LV Creation host, time server3, 2019-01-21 20:32:58 +0800
LV Status available
# open 1
LV Size 4.92 GiB
Current LE 315
Segments 5
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:0
5.文件系统的扩展
[root@server3 ~]# df -h
/dev/mapper/vgn-lvn 3.9G 16M 3.6G 1% /mnt/lvm
[root@server3 ~]# resize2fs /dev/vgn/lvn
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vgn/lvn is mounted on /mnt/lvm; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vgn/lvn is now 1290240 blocks long.
[root@server3 ~]# df -h /dev/vgn/lvn
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgn-lvn 4.8G 16M 4.6G 1% /mnt/lvm
二.缩小LV容量
[root@server3 ~]# pvscan
PV /dev/vdb1 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb2 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb3 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb5 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb6 VG vgn lvm2 [1008.00 MiB / 0 free]
Total: 5 [4.92 GiB] / in use: 5 [4.92 GiB] / in no VG: 0 [0 ]
[root@server3 ~]# umount /dev/vgn/lvn
[root@server3 ~]# resize2fs /dev/vgn/lvn 4032M
resize2fs 1.42.9 (28-Dec-2013)
Please run 'e2fsck -f /dev/vgn/lvn' first.
[root@server3 ~]# e2fsck -f /dev/vgn/lvn
e2fsck 1.42.9 (28-Dec-2013)
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/vgn/lvn: 11/322560 files (0.0% non-contiguous), 40670/1290240 blocks
[root@server3 ~]# resize2fs /dev/vgn/lvn 4032M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vgn/lvn to 1032192 (4k) blocks.
The filesystem on /dev/vgn/lvn is now 1032192 blocks long.
[root@server3 ~]# mount /dev/vgn/lvn /mnt/lvm
[root@server3 ~]# df -h /mnt/lvm/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgn-lvn 3.9G 16M 3.6G 1% /mnt/lvm
可以通过pvdisplay查看pe个数
[root@server3 ~]# lvresize -l 63 /dev/vgn/lvn
WARNING: Reducing active and open logical volume to 1008.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vgn/lvn? [y/n]: y
Size of logical volume vgn/lvn changed from 4.92 GiB (315 extents) to 1008.00 MiB (63 extents).
Logical volume vgn/lvn successfully resized.
[root@server3 ~]# pvscan
PV /dev/vdb1 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb2 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb3 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb5 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb6 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
Total: 5 [4.92 GiB] / in use: 5 [4.92 GiB] / in no VG: 0 [0 ]
[root@server3 ~]# pvmove /dev/vdb1 /dev/vdb6
/dev/vdb1: Moved: 7.94%
/dev/vdb1: Moved: 100.00%
[root@server3 ~]# vgreduce vgn /dev/vdb1
Removed "/dev/vdb1" from volume group "vgn"
[root@server3 ~]# pvscan
PV /dev/vdb2 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb3 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb5 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb6 VG vgn lvm2 [1008.00 MiB / 0 free]
PV /dev/vdb1 lvm2 [1.00 GiB]
Total: 5 [4.94 GiB] / in use: 4 [3.94 GiB] / in no VG: 1 [1.00 GiB]
[root@server3 ~]# pvremove /dev/vdb1
Labels on physical volume "/dev/vdb1" successfully wiped.
[root@server3 ~]# pvscan
PV /dev/vdb2 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb3 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb5 VG vgn lvm2 [1008.00 MiB / 1008.00 MiB free]
PV /dev/vdb6 VG vgn lvm2 [1008.00 MiB / 0 free]
Total: 4 [3.94 GiB] / in use: 4 [3.94 GiB] / in no VG: 0 [0 ]
三.lvm系统快照
1.快照区的创建
[root@server3 ~]# vgdisplay
--- Volume group ---
VG Name vgn
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 10
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 4
Act PV 4
VG Size 3.94 GiB
PE Size 16.00 MiB
Total PE 252
Alloc PE / Size 63 / 1008.00 MiB
Free PE / Size 189 / 2.95 GiB
VG UUID JjHOlH-RdcV-71dR-4wmK-NQ3N-pnRS-1y5dIV
[root@server3 ~]# lvcreate -l 80 -s -n vv /dev/vgn/lvn
Using default stripesize 64.00 KiB.
Reducing COW size 1.25 GiB down to maximum usable size 1.00 GiB.
Logical volume "vv" created.
[root@server3 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgn/lvn
LV Name lvn
VG Name vgn
LV UUID 3cZBXM-Ef2z-wDLR-Fyxx-TmzD-Payq-BJ6eTm
LV Write Access read/write
LV Creation host, time server3, 2019-01-21 20:32:58 +0800
LV snapshot status source of
vv [active]
LV Status available
# open 1
LV Size 1008.00 MiB
Current LE 63
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:0
--- Logical volume ---
LV Path /dev/vgn/vv
LV Name vv
VG Name vgn
LV UUID az5JDg-Njjn-c51c-qdzc-ItEl-pLme-9RHnA7
LV Write Access read/write
LV Creation host, time server3, 2019-01-22 17:40:43 +0800
LV snapshot status active destination for lvn
LV Status available
# open 0
LV Size 1008.00 MiB
Current LE 63
COW-table size 1.00 GiB **快照区的实际容量
COW-table LE 64 **快照区占用的PE数量
Allocated to snapshot 0.00%
Snapshot chunk size 4.00 KiB
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:3
挂载查看一下,发现数据与原本的lvn相同
[root@server3 ~]# mkfs.ext4 /dev/vgn/vv
[root@server3 ~]# mount /dev/vgn/vv /mnt/ks/
[root@server3 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda3 20243456 3441148 16802308 17% /
devtmpfs 493580 0 493580 0% /dev
tmpfs 508248 84 508164 1% /dev/shm
tmpfs 508248 13568 494680 3% /run
tmpfs 508248 0 508248 0% /sys/fs/cgroup
/dev/vda1 201380 133424 67956 67% /boot
tmpfs 101652 20 101632 1% /run/user/42
tmpfs 101652 0 101652 0% /run/user/0
/dev/mapper/vgn-lvn 3998400 16120 3769816 1% /mnt/lvm
/dev/mapper/vgn-vv 999576 2524 929060 1% /mnt/ks
2.利用快照区复原系统
改变/mnt/lvm中的数据内容,然后再以快照还原
[root@server3 mnt]# df /mnt/lvm/ /mnt/ks/
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vgn-lvn 999576 48280 883304 6% /mnt/lvm
/dev/mapper/vgn-vv 999576 2524 929060 1% /mnt/ks
[root@server3 mnt]# lvdisplay
......
--- Logical volume ---
LV Path /dev/vgn/vv
LV Name vv
VG Name vgn
......
Allocated to snapshot 7.56% 快照已被使用了7.56%
Snapshot chunk size 4.00 KiB
......
[root@server3 /]# mkdir /backup **创建一个目录来备份
[root@server3 mnt]# cd /mnt/ks
[root@server3 ks]# tar -jcvf /backup/lvm.tar.bz2 *
[root@server3 backup]# umount /mnt/ks/ **数据已备份,将快照删除
[root@server3 backup]# lvremove /dev/vgn/vv
Do you really want to remove active logical volume vgn/vv? [y/n]: y
Logical volume "vv" successfully removed
[root@server3 backup]# umount /mnt/lvm/
[root@server3 backup]# mkfs.ext4 /dev/vgn/lvn **将原本的lv格式化
[root@server3 backup]# mount /dev/vgn/lvn /mnt/lvm/
[root@server3 backup]# tar -jxvf /backup/lvm.tar.bz2 -C /mnt/lvm/
[root@server3 backup]# ll /mnt/lvm/
total 16
drwx------ 2 root root 16384 Jan 22 17:45 lost+found
[root@server3 backup]# df /mnt/lvm/
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vgn-lvn 999576 2524 929060 1% /mnt/lvm
发现数据还原
lvm拉伸与快照的更多相关文章
- GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.最大的优点是在不损伤数据的前提下调整存储空间的大小. 本篇主要讲述L ...
- lvm拉伸逻辑卷分区小总结
文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/vg_znl-lv_root ...
- Linux磁盘管理之LVM逻辑卷快照
一.快照的工作原理 所谓快照就是将当时的系统数据记录下来,在未来若有数据变动,则会将变更前的数据放入快照区进行保存.我们可理解为快照就是给系统拍了一张照片,记录当时系统在拍快照的状态.只不过现实生活中 ...
- lvm创建和快照
查看磁盘 创建分区 新建1G的1分区 新建1G的2分区 新建1G的3分区 查看新建的分区 因标准分区是83交换分区是82做lv是8e所以要改变类型 查看: 保存退出: 创建物理卷pv 将物理卷pv创建 ...
- lvm之创建/扩容/缩容/快照及关闭的全部流程操作记录
基本介绍Linux用户安装Linux 操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间.随着 Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解, l ...
- LVM常规操作记录梳理(扩容/缩容/快照等)
基本介绍Linux用户安装Linux 操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间.随着 Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解, l ...
- 基于LVM卷的MYSQL快照恢复
在mysql数据库环境中,如果数据库数据很重要,可以使用LVM卷管理的方式,通过对数据卷进行快照,得到快速备份的目的, 首先回顾一下LVM卷管理的几个概念: 物理磁盘PD,physical disk, ...
- LVM : 快照
LVM 机制还提供了对 LV 做快照的功能,也就是说可以给文件系统做一个备份,这也是设计 LVM 快照的主要目的.LVM 的快照功能采用写时复制技术(Copy-On-Write,COW),这比传统的备 ...
- 使用LVM快照进行数据库备份
使用mysqldump备份时,如果存储引擎为MyISAM,则只能实现温备份,并需使用选项--lock-all-tables锁定所有表.如果存储引擎为InnoDB,则加上--single-transac ...
随机推荐
- Java 前台后台数据传递、中文乱码解决方法
1.向前台传递数据;2.向后台传递数据;3.ajax post 提交数据到服务端时中文乱码解决方法;4.数组类型参数传递; 1.向前台传递数据:1.1 字符串数据传递: 这种方式只是单一的向前台传递 ...
- SpringMVC 细节学习
使用Spring MVC,配置DispatcherServlet是第一步 DispatcherServlet是前置控制器,配置在web.xml文件中的 .拦截匹配的请求,Servlet拦截匹配规则要 ...
- MVC各个层的作用
(1)控制器的作用是调用模型,并调用视图,将模型产生的数据传递给视图.并让相关视图去显示.(2)模型的作用是获取数据并处理数据.(3)视图的作用是将取得的数据进行组织.美化等,并最终向用户终端输出.
- Linux比较操作符
http://blog.csdn.net/ithomer/article/details/6836382
- 使用#include消除重复代码
消除重复代码代码很多种,比如: 1)提炼成函数复用 2)使用宏 3)继承 4)使用闭包(boost::bind.boost::function) 上述是最为常用的,对于C++程序,闭包可能用得相对少一 ...
- js基础巩固练习
---恢复内容开始--- 今天讲了js的基础知识 js的组成3部分1 ECMAscript 核心 2 DOM 文本对象模型 3BOM 浏览器模型 js 的引入方式三种 1 在body里作为标 ...
- 关于iReport中纸张的大小 换算
在iReprot里中进行报表设计时 第一步先确定纸张的大小 如A4纸 直接选就行了 A2 A3一样的,但还会在这种情况这种纸没有选择的怎么办? 比如 那种代小孔的纸 279*241m ...
- Arduino I2C + 温湿度传感器HTS221
主要特性 HTS221是意法半导体(STMicroelectronics)生产的小体积.数字式温湿度传感器IC.该IC目前在官网仍处在“评估”状态.其主要特性: 工作电压:1.7~3.6V 数据输出频 ...
- 基于 ZKEACMS 的云建站 / 自助建站解决方案
基于ZKEACMS的云建站 / 自助建站解决方案,一站式托管,解决企业建站需求,功能强大,高度自定义.用户只需在界面上输入一些基本信息,选择相应的主题 / 网站模板,然后就可以快速创建一个独一无二的网 ...
- C# Redis辅助类封装与简单聊天室的实现思路说明
虽然redis api的功能比较齐全,但个人觉得为了更好的方便学习和使用,还是很有必有做一个类似DBHelper的帮助类 辅助类主要功能(代码会在最后放出来) 1. 事件监听: 重新配置广播时(主从同 ...