Linux - lvm逻辑卷的操作
执行 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_root
、vg_idcpoc60-lv_swap
、vg_idcpoc60-lv_home
现有需求:将 home
的526.4G
拿出300G
出来,给根目录200G
,100G
给/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、将home
的526.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 —
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2022-11-24 Linux - 基础环境检查