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 ...
随机推荐
- UEFI下win10+Ubuntu双启动后完全纯净卸载Ubuntu,重建BCD
以下内容操作具有风险,操作前请提前备份数据.建议由有丰富经验的人使用,需要掌握diskpart. 背景 使用ubuntu+win10 dual boot后,需要重置回纯净win10系统. BCD是Bo ...
- 阿里云OSS-web直传---在服务端c#签名,浏览器直传
OSS web直传---在服务端php签名,浏览器直传 本文:OSS web直传---在服务端c#签名,浏览器直传 其他语言的范例地址:https://help.aliyun.com/document ...
- HDU 4126 Genghis Khan the Conqueror (树形DP+MST)
题意:给一图,n个点,m条边,每条边有个花费,给出q条可疑的边,每条边有新的花费,每条可疑的边出现的概率相同,求不能经过原来可疑边 (可以经过可疑边新的花费构建的边),注意每次只出现一条可疑的边,n个 ...
- route -A inet6 增加下一跳 提示错误 SIOCADDRT: No route to host
1.增加前路由表: 2. route -A inet6 增加下一跳 提示错误 SIOCADDRT: No route to host 3.删除已有的下一条路由表项: 4.再次尝试 route -A i ...
- 第几天——第九届蓝桥杯C语言B组(省赛)第一题
原创 标题:第几天 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容. 这题是送分题,只需要注意一下2000年 ...
- heartbeat+nginx搭建高可用HA集群
前言: HA即(high available)高可用,又被叫做双机热备,用于关键性业务.简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器 ...
- layui后台框架的搭建
layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用.其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从 ...
- WPF 简洁的主界面
用的是dev的TileLayouotControl控件. <dxwui:PageAdornerControl Header="" Padding="30" ...
- Python【 模块】
module模块:一个py文件就是一个模块 好处: 提高代码的可维护性 可重用 使用模块可以避免函数名和变量名冲突 分类: 标准库模块 第三方模块 自定义模块 调用方法: import 模块 # .p ...
- Page.FindControl(string id) 与母版页结合后发现的一个问题
MSDN上解释Page.FindControl(string id)方法用于查找指定ID的控件.例如: <asp:TextBox id="Email" runat=" ...