[RHEL] 配置 LVM 卷

一、Introduction

基础预览 :LVM 认知与扩容操作

高端实战:Linux系统如何迁移至LVM磁盘


之前转过一篇文章 LVM分区在线扩容 ,其原因是我需要给公司的 LVM 卷进行一个扩展卷的扩大。

那其实,不仅只有扩大。还有:缩小以及修复

二、Environment

[root@server0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk
└─vdb1 253:17 0 512M 0 part
└─finance-loans 252:0 0 256M 0 lvm /finance/loans

注释:可以看到系统内已经有了一个 LVM 卷了,但系统还有剩余空间(9.5G)还未被使用。

Firest:Format File System

...
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: 0x0009f6d4 Device Boot Start End Blocks Id System
/dev/vdb1 2048 1050623 524288 8e Linux LVM

**提示: **上述具体 Command 解释,位于文章底部有附录—— Command_action

**注意: **the next reboot or after you run partprobe(8) or kpartx(8)

Second:Create Physical Volume

[root@server0 ~]# pvcreate /dev/vdb2

Third: Create Volume Group

[root@server0 ~]# vgcreate vg /dev/vdb2
Volume group "vg" successfully created

BTW: " -s" 可定义 PEnum 块大小;

Finished:Make Volume Group join LVM

[root@server0 ~]# lvcreate -n lvm vg -L 100M
Logical volume "lvm" created

BTW: "-l" 可定义 PEnum 数量

**注意: ** " -L " 可使用 +size|-size|size(means equal)

三、Expand Space

1、单盘扩大

[root@server0 ~]# lvextend -L +100M /dev/vg/lvm --resizefs
fsck from util-linux 2.23.2
/dev/mapper/vg-lvm: clean, 11/25688 files, 8896/102400 blocks
Extending logical volume lvm to 200.00 MiB
Logical volume lvm successfully resized
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/vg-lvm to 204800 (1k) blocks.
The filesystem on /dev/mapper/vg-lvm is now 204800 blocks long.

注意:我这里偷了一个懒把俩条命令结合在一起了,否则 lvs /path/to/lvm 空间大小是不会立即生效的。

Q1:fsadm: Cannot get FSTYPE of "/dev/vg/lvm" Filesystem check failed.

A1:please format Filesystem promptly.

Q2:Forgot to add option "--resizefs"

A2:redo or ext2/ext3/ext4 filesystem to execute resizefs /path/to/lvm , but xfs filesystem must to be execute xfs_growfs mountpoint . The difference is looking what's command admin execute mkfs.ext4 or mkfs.xfs. Attention:XFS must to use mountpoint or not to use /path/to/lvm

2、加磁盘扩大

fdisk /dev/disk
new
default
size
type
choose
82
print
write
pvcreate /path/to/new/create/lvm_disk
vgcreate <vg_name> /path/to/new/crate/lvm_disk

提示:其他一样。

四、Reduce Space

[root@server0 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk
├─vdb1 253:17 0 512M 0 part
│ └─finance-loans 252:0 0 256M 0 lvm /finance/loans
└─vdb2 253:18 0 1G 0 part
└─vg-lvm 252:1 0 200M 0 lvm

Firest:unmount device

[root@server0 ~]# umount /dev/vg/lvm

Second:check a Linux ext2/ext3/ext4 file system

[root@server0 ~]# e2fsck -f /dev/vg/lvm
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/vg/lvm: 11/49400 files (9.1% non-contiguous), 11884/204800 blocks

Third:resize umount and e2fsck device

[root@server0 ~]# resize2fs /dev/vg/lvm 66M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg/lvm to 67584 (1k) blocks.
The filesystem on /dev/vg/lvm is now 67584 blocks long.

提示:当需要进行 LVM 缩小操作时,所有操作必须相反。所以该步异常重要,下一步需要使 RHEL 重新识别被缩小的 LVM 卷。

Finished:reduce device

[root@server0 ~]# lvreduce -L 60M /dev/vg/lvm
WARNING: Reducing active logical volume to 60.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvm? [y/n]: y
Reducing logical volume lvm to 60.00 MiB
Logical volume lvm successfully resized
[root@server0 ~]# vgs vg
VG #PV #LV #SN Attr VSize VFree
vg 1 1 0 wz--n- 1020.00m 960.00m
[root@server0 ~]# lvs vg
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lvm vg -wi-a----- 60.00m

Q:why the output tell me that "Rounding size to boundary between physical extents"

A:the lvm have the boundary and the defaults PE size was 4MB. You can change them with lvchange -s {1..4} <vgname> and check it with vgdisplay <vgname>.

五、Restore Destroyed LVM

Firest:Check LVM devices

[root@server0 ~]# vgcfgrestore -l vg 

  File:		/etc/lvm/archive/vg_00033-587950815.vg
VG name: vg
Description: Created *before* executing 'vgscan'
Backup Time: Sun Nov 5 23:28:28 2017 File: /etc/lvm/archive/vg_00034-1362264111.vg
VG name: vg
Description: Created *before* executing 'vgscan'
Backup Time: Sun Nov 5 23:28:28 2017 File: /etc/lvm/backup/vg
VG name: vg
Description: Created *after* executing 'vgscan'
Backup Time: Sun Nov 5 23:28:28 2017

Second:Restore

vgcfgrestore -f <file_list_print> <vg>
Exameple: vgcfgrestore -f /etc/lvm/archive/vg_00034-1362264111.vg vg

Finished:unActive and Active

lvchange -an /dev/<vg>/<lvm>
lvchange -ay /dev/<vg>/<lvm>

Others

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

[RHEL] 配置 LVM 卷的更多相关文章

  1. CentOS 6.7 配置LVM (逻辑卷管理)

    LVM 简介 LVM是逻辑盘卷组管理 (Logical Volume Manager) 的简称. LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性,在一定程度上解决普通磁盘分区带来 ...

  2. 烂泥:【解决】修改LVM卷组名重启系统后,无法进入进入系统

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 一台服务器系统已经安装完毕,但是LVM的卷组vg使用的是默认的VolGroup名称,使用起来感觉不舒服,打算把这个卷组名称修改为vg. 先来查看系统中有 ...

  3. 基于LVM卷的MYSQL快照恢复

    在mysql数据库环境中,如果数据库数据很重要,可以使用LVM卷管理的方式,通过对数据卷进行快照,得到快速备份的目的, 首先回顾一下LVM卷管理的几个概念: 物理磁盘PD,physical disk, ...

  4. Linux LVM卷组管理

    Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...

  5. 新添加一块硬盘制作LVM卷并进行分区挂载

    linux服务器新添加一块硬盘,可以直接将盘格式化挂载就能用,比如挂载在/usr/local目录,但是这样有一个弊端,就是如果这一块磁盘满了,后续想要扩容的话,不能继续挂载这个/usr/local挂载 ...

  6. LVM卷的创建及案例演示

    LVM:Logical Volume Manager, Version:2dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块. /dev/dm-# 这里的#表示数字,代 ...

  7. 管理lvm 卷 system-storage-manager

    安装 sudo yum install system-storage-manager [root@si-test-blueking--4 ~]# ssm list 创建物理磁盘到物理卷,<poo ...

  8. 手动给kvm虚机挂载lvm卷

    1.查看计算节点上虚机挂载的卷 [root@xgto01n010243186070 ~]# virsh domblklist instance- Target Source ------------- ...

  9. 【linux】新添加一块硬盘制作LVM卷并进行分区挂载

    linux服务器新添加一块硬盘,可以直接将盘格式化挂载就能用,比如挂载在/usr/local目录,但是这样有一个弊端,就是如果这一块磁盘满了,后续想要扩容的话,不能继续挂载这个/usr/local挂载 ...

随机推荐

  1. Redis 集群二

    [Redis 集群二] 集群的客户端 Redis 集群现阶段的一个问题是客户端实现很少. 以下是一些我知道的实现: redis-rb-cluster 是我(@antirez)编写的 Ruby 实现, ...

  2. java基础二(阅读Head First Java记录)

    写在前面的话 本部分是在语法基础上的一些内容,比如内部java函数库,继承多态等   “与”和“或”运算符 1.短运算符(&&,||)    &&与,必须表达式两边都为 ...

  3. 使用rem的原理,62.5%,根据屏幕宽度等比压缩网页

    一.前言 我们在编写网页时,往往需要兼顾网页在不同屏宽情况下的显示 而有时为了省事,没时间写新的页面,也为了兼容考虑,这就需要使用等比压缩了 等比压缩的核心是rem 二.正文 (一).rem的使用   ...

  4. Shrio03 Authenticator、配置多个Realm、SecurityManager认证策略

    1 Authenticator 简介 1.1 层次结构图 1.2 作用 职责是验证用户帐号,是ShiroAPI中身份验证核心的入口点:接口中声明的authenticate方法就是用来实现认证逻辑的. ...

  5. 查看http的并发请求数及其TCP连接状态

    统计80端口的连接数据 netstat -nat | grep -i "80" | wc -l 统计httpd协议连接数 ps -ef | grep httpd | wc -l 统 ...

  6. gen_empty_obj算子的作用

    gen_empty_obj 算子解释: Create an empty object tuple. 其算子签名为: gen_empty_obj( : EmptyObject : : ) 那么有人要问: ...

  7. 23 DesignPatterns学习笔记:C++语言实现

    DesignPatterns学习笔记:C++语言实现 (转载请注明出处:http://www.cnblogs.com/icmzn/p/5680784.html) 1. 创建型设计模式: (1)Faco ...

  8. Android-ImageUtils工具类

    图片相关的工具类 public class ImageUtils { public static boolean saveImage(Bitmap photo, String spath) { try ...

  9. 如何注册GitHub

    一.个人介绍 姓名:张志龙 学号:1413042026 班级:网工141 爱好:宅物 能力:c++编程 二.注册 注册GitHub其实很简单 首先我们要做的是打开官网 www.github.com(如 ...

  10. Objective-C 学习笔记(四) 数组

    Objective-C 数组作为函数参数传递 如果想在一个函数作为参数,通过一维数组,就必须声明函数形式参数 方式一    指针作为形式参数 - (void) myFunction(int *) pa ...