执行 lsblk如下所示:

[root@idc-poc-60 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom
sdb 8:16 0 200G 0 disk
sda 8:0 0 600G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 599.5G 0 part
├─vg_idcpoc60-lv_root (dm-0) 253:0 0 50G 0 lvm /
├─vg_idcpoc60-lv_swap (dm-1) 253:1 0 23.1G 0 lvm [SWAP]
└─vg_idcpoc60-lv_home (dm-2) 253:2 0 526.4G 0 lvm /home
sdc 8:32 0 200G 0 disk
sdd 8:48 0 200G 0 disk
[root@idc-poc-60 ~]#

/dev/sda 的分区 /dev/sda2 有逻辑卷 vg_idcpoc60-lv_rootvg_idcpoc60-lv_swapvg_idcpoc60-lv_home

现有需求:将 home 526.4G 拿出300G出来,给根目录200G100G/var/log,操作如下:

1、执行blkid可以获取到逻辑卷vg_idcpoc60-lv_home对应的目录

[root@idc-poc-60 ~]# blkid
/dev/mapper/vg_idcpoc60-lv_root: UUID="5cfa9083-7e14-4d36-8603-899223b22656" TYPE="ext4"
/dev/sda1: UUID="44dfc256-4543-4751-afe0-357e21a049b0" TYPE="ext4"
/dev/sda2: UUID="mlr7WF-xkV7-f4Z3-lq0X-X1YT-A9yj-cOKTzH" TYPE="LVM2_member"
/dev/mapper/vg_idcpoc60-lv_swap: UUID="19180ea2-aaca-410c-9309-f8ffe397e8ee" TYPE="swap"
/dev/mapper/vg_idcpoc60-lv_home: UUID="e8a17152-4694-4d39-addc-9462f0888d7d" TYPE="ext4"
/dev/sdb1: UUID="1e9ae322-1c6a-44ad-8467-6ccbd1a7de6f" TYPE="ext4"
/dev/sdd1: UUID="c40b32c6-7842-4eee-886f-3db86f4641bc" TYPE="ext4"
/dev/sdc1: UUID="46eac5ad-61e4-4900-8a06-c8c618eb4da6" TYPE="ext4"
[root@idc-poc-60 ~]#

2、将home526.4G拿出300G

[root@idc-poc-60 ~]# lvresize -L -300G /dev/mapper/vg_idcpoc60-lv_home
WARNING: Reducing active and open logical volume to 226.43 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_idcpoc60/lv_home? [y/n]: y
Size of logical volume vg_idcpoc60/lv_home changed from 526.43 GiB (134766 extents) to 226.43 GiB (57966 extents).
Logical volume lv_home successfully resized.

3、给根目录分200G

[root@idc-poc-60 ~]# lvresize -L +200G /dev/mapper/vg_idcpoc60-lv_root
Size of logical volume vg_idcpoc60/lv_root changed from 50.00 GiB (12800 extents) to 250.00 GiB (64000 extents).
Logical volume lv_root successfully resized.

4、 创建逻辑卷vg_idcpoc60-lv_varlog,并给100G空间

[root@idc-poc-60 ~]# lvcreate -L 100G -n lv_varlog /dev/mapper/vg_idcpoc60
Logical volume "lv_varlog" created.

5、调整之后,lsblk结果如下

[root@idc-poc-60 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom
sdb 8:16 0 200G 0 disk
sda 8:0 0 600G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 599.5G 0 part
├─vg_idcpoc60-lv_root (dm-0) 253:0 0 250G 0 lvm /
├─vg_idcpoc60-lv_swap (dm-1) 253:1 0 23.1G 0 lvm [SWAP]
├─vg_idcpoc60-lv_home (dm-2) 253:2 0 226.4G 0 lvm /home
└─vg_idcpoc60-lv_varlog (dm-3) 253:3 0 100G 0 lvm
sdc 8:32 0 200G 0 disk
sdd 8:48 0 200G 0 disk

6、但是执行df -h发现根目录还是50G、home目录是526.4G,根目录执行以下命令

[root@idc-poc-60 home]# resize2fs /dev/mapper/vg_idcpoc60-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_idcpoc60-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 16
Performing an on-line resize of /dev/mapper/vg_idcpoc60-lv_root to 65536000 (4k) blocks.

7、home目录是缩容,需要先卸载(umount),然后需要格式化,再挂载

[root@idc-poc-60 ~]# umount /dev/mapper/vg_idcpoc60-lv_home
[root@idc-poc-60 ~]# mkfs.ext4 /dev/mapper/vg_idcpoc60-lv_home
...
[root@idc-poc-60 ~]# mount /dev/mapper/vg_idcpoc60-lv_home /home

8、varlog逻辑卷需要格式化后挂载

[root@idc-poc-60 transwarp]# mkfs.ext4 /dev/mapper/vg_idcpoc60-lv_varlog
mke2fs 1.41.12 (17-May-2010)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
800 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, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872 Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@idc-poc-60 transwarp]#

9、可以执行blkid,使用uuid在/etc/fstab中进行配置,然后执行mount -a可以自动挂载

10、最终结果如下

[root@idc-poc-60 transwarp]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom
sda 8:0 0 600G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 599.5G 0 part
├─vg_idcpoc60-lv_root (dm-0) 253:0 0 250G 0 lvm /
├─vg_idcpoc60-lv_swap (dm-1) 253:1 0 23.1G 0 lvm [SWAP]
├─vg_idcpoc60-lv_home (dm-2) 253:2 0 226.4G 0 lvm /home
└─vg_idcpoc60-lv_varlog (dm-3) 253:3 0 100G 0 lvm /var/log
sdb 8:16 0 200G 0 disk
└─sdb1 8:17 0 200G 0 part /mnt/disk1
sdd 8:48 0 200G 0 disk
└─sdd1 8:49 0 200G 0 part /mnt/disk2
sdc 8:32 0 200G 0 disk
└─sdc1 8:33 0 200G 0 part /mnt/disk3
[root@idc-poc-60 transwarp]#

— END —

Linux - lvm逻辑卷的操作的更多相关文章

  1. Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)

    Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据, ...

  2. Linux 笔记 - 第十七章 Linux LVM 逻辑卷管理器

    一.前言 在实际生产中,有时会遇到磁盘分区空间不足的情况,这时候就需要对磁盘进行扩容,普通情况下需要新加一块磁盘,重分区.格式化.数据复制.卸载旧分区.挂载新分区等繁琐的步骤,而且有可能造成数据的丢失 ...

  3. Linux lvm 逻辑卷篇

    Linux LVM逻辑卷配置过程详解(创建.增加.减少.删除.卸载) 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用 ...

  4. Linux LVM逻辑卷配置过程详解

    许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...

  5. (转)Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)

    一.预备知识 LVM全称为Logical Volume Manager 逻辑卷管理器,LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘 ...

  6. 动态扩容lvm逻辑卷的操作记录

    在进行动态扩容LVM逻辑卷的之前,先看这篇文章:https://www.cnblogs.com/huhyoung/p/9689776.html.以下是我实操记录. 在上班期间,测试经理突然找我,能不能 ...

  7. Linux LVM 逻辑卷管理

    使用Linux好久了,一定会意识到一个问题,某个分区容量不够用了,想要扩容怎么办?这里就涉及到LVM逻辑卷的管理了,可以动态调整Linux分区容量. LVM 概述 全称Logical Volume M ...

  8. Linux随笔 - Linux LVM逻辑卷配置过程详解[转载]

    许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...

  9. LINUX——LVM逻辑卷管理

    LVM: logical volumes manager LVM逻辑卷部署 物理卷—>卷组—>逻辑卷 第一步:关机添加磁盘:两个磁盘可以构成一个磁盘组. 第二步:查看磁盘 # ls /de ...

  10. LVM基础详细说明及动态扩容lvm逻辑卷的操作记录

    LVM概念:---------------------------------------------------------------------------------------------- ...

随机推荐

  1. QT日志类SimpleQtLogger的简单记录

    在现代软件开发中,日志记录是必不可少的部分.它不仅帮助开发者在调试和维护软件时了解程序的运行状态,还能提供关键的错误信息.对于使用Qt框架开发应用程序的开发者来说,选择一个合适的日志库至关重要.本文将 ...

  2. acode连接termux

    在acode中安装AcodeX - Terminal插件 在termux中运行 curl -sL https://raw.githubusercontent.com/bajrangCoder/acod ...

  3. [转]E1接口介绍

    E1 通道本来设计用来传输电话的,每个 E1(带宽 2.048M)可以传 30 路电话,后来扩大的应用范围,可以用作传网络,串口等不同的业务:E1 是一个基本的传输单元,其最终还是通过光纤来传输的,如 ...

  4. 跟着源码学IM(十):基于Netty,搭建高性能IM集群(含技术思路+源码)

    本文原题"搭建高性能的IM系统",作者"刘莅",内容有修订和改动.为了尊重原创,如需转载,请联系作者获得授权. 1.引言 相信很多朋友对微信.QQ等聊天软件的实 ...

  5. [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(03):图像的导入、显示、调整(暨image部件的使用介绍)

    前言 本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发. iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动. 本合集是基于新版本的关于分 ...

  6. Pycharm:鼠标滚动控制字体大小

    Pycharm字体放大的设置 1.File -> setting -> Keymap ->在搜寻框中输入:increase -> Increase Font Size(双击) ...

  7. linux:正则表达式

    介绍 一种模式匹配语言,可以使永远筛选数据以查找特定的内容,可以应用在vim.grep.less.perl.python中 基础 .(点) 匹配除 \n 之外的任何单个字符,若要匹配包括 \n ,则应 ...

  8. 2006. 差的绝对值为 K 的数对数目

    给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k . |x| 的值定义为: 如果 x &g ...

  9. Kotlin:【标准库函数】apply(配置函数)、let、run函数

    (调用apply会返回接受者对象,最终file对象被返回,apply函数起到配置函数的作用) 组合使用实践: guestName不为空时: guestName为空时: 不使用let的写法 run函数: ...

  10. Bottleup pg walkthrough Intermediate

    一开始看到page=view/.html的时候就想到目录穿越了尝试../../../../../../../../../../../etc/passwd 发现不行 找半天其他可能存在漏洞的地方又找不到 ...