千家信息网

Linux中怎么创建及管理LVM逻辑卷

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容主要讲解"Linux中怎么创建及管理LVM逻辑卷",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Linux中怎么创建及管理LVM逻辑卷"吧!概述LV
千家信息网最后更新 2025年01月21日Linux中怎么创建及管理LVM逻辑卷

本篇内容主要讲解"Linux中怎么创建及管理LVM逻辑卷",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Linux中怎么创建及管理LVM逻辑卷"吧!

概述

LVM是Linux系统中对磁盘分区管理的一种机制,LVM本质上是一个虚拟设备驱动,LVM逻辑设备不受物理约束的限制,它不必是连续的空间,它可以跨越许多物理卷,可以任意的调整大小。LVM易于磁盘空间的管理。

特点
特点性质
物理长度PE物理长度是将物理卷组合为卷组后,所划分的最小存储单位,即逻辑意义上磁盘的最小存储单位。LVM默认PE大小为4MB。
物理卷PV物理卷是LVM的最底层概念,是LVM的逻辑存储块,物理卷与磁盘分区是逻辑的对应关系。
卷组VG卷组是LVM逻辑概念上的磁盘设备,通过将单个或多个物理卷组合后生成卷组。卷组的大小取决于物理卷的容量以及个数。
逻辑卷LV逻辑卷就是LVM逻辑意义上的分区,可以指定从卷组中提取多少容量来创建逻辑卷,最后对逻辑卷格式化并挂载使用。

操作流程

 1. fdisk /dev/sdd     #n  新建分区     #t  转换分区格式     #8e  将分区格式转换为8e LVM2格式      2. 创建pv,将扇区转化为pe,并验证     pvcreate /dev/sdd1 /dev/sde1     pvs  查看pv的信息     pvdisplay 查看pv的信息      3. 创建vg虚拟磁盘     vgcreate mytest /dev/sdd1  /dev/sde1     find / -name mytest #查找并查看vg的配置信息     vgs  查看vg虚拟磁盘的信息     vgdisplay  查看vg虚拟磁盘的信息      4. 创建逻辑分区     lvcreate -L +5G mytest(vg名称),创建出一个分区默认lvol0     find /dev -name lvol0 查找分区位置/dev/mytest/lvol0,创建分区时会在dev目录下创建vg命名的目录      5. 格式化文件系统     mkfs.ext4 /dev/mytest/lvol0      6. 挂载使用     mkdir /root/mylv     mount /dev/mytest/lvol0 ./mylv     1234567891011121314151617181920212223242526

相关命令

fdisk命令

语法:fdisk 【参数】 【对象】

必要参数

参数功能
-l列出素所有分区表
-u与"-l"搭配使用,显示分区数目

选择参数

参数功能
-s指定分区
-v版本信息

操作说明

参数功能
m显示菜单和帮助信息
a活动分区标记/引导分区
d删除分区
l显示分区类型
n新建分区
p显示分区信息
q退出不保存
t设置分区号
v进行分区检查
w保存修改
x扩展应用,高级功能
pvcreate命令

语法:pvcreate 【选项】 【参数】

参数功能
-f强制创建物理卷,不需要用户确认
-u指定设备的UUID
-y所有的问题都回答"yes"
-Z是否利用前4个扇区
vgcreate命令

语法:vgcreate 【选项】 【参数】

参数功能
-l卷组上允许创建的最大逻辑卷数
-p卷组中允许添加的最大物理卷数
-s卷组上的物理卷的PE大小
lvresize命令

语法:lvresize 【选项】 【参数】

参数功能
-L指定逻辑卷的大小,单位为"kKmMgGtT"字节
-l指定逻辑卷的大小(LE数)
e2fsck命令

语法:e2fsck 【参数】 【对象】

参数功能
-a检查 partition,如发现问题会自动修复
-b设定 superblock 位置。 www.2cto.com
-B size指定 size 作为区块大小
-c检查 partition 是否有坏轨
-C file将检查结果储存到 file
-d输出 e2fsck debug 结果
-fe2fsck预设只会对错误的档案系统检查,加上 -f 是强制检查
-F在检查前将硬盘的 buffer cache 清空,避免发生错误
-l list记录了坏轨区块加入 list 中
-d打印 e2fsck 的 debug 结果
-f强制检查
-n以 (read-only) 开启档案系
-p关闭互动模式,如有问题自动修复,等同 -a
-v显示详细报告
-y启用使用者互动模式

经典案例

案例要求

  • 创建一个至少有两个PV组成的大小为20G的名为mydisk的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷默认名字为lvol0;挂载至/users目录

  • 新建用户arc,要求其家目录为/users/arc,而后su切换至arc用户,复制/etc/pam.d目录至自己的家目录

  • 扩展testlv至7G,要求archlinux用户的文件不能丢失

  • 收缩testlv至3G,要求archlinux用户的文件不能丢失

  • 对testlv创建快照,并尝试基于快照备份数据,验正快照的功能

首先在虚拟机加入2块10G磁盘,之后利用fdisk命令将磁盘分区并转换LVM格式

1.首先通过lsblk命令查看磁盘状态

 [root@localhost ~]# lsblk NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT sda               8:0    0   45G  0 disk  ├─sda1            8:1    0  500M  0 part /boot └─sda2            8:2    0 44.5G  0 part    ├─centos-root 253:0    0 40.6G  0 lvm  /   └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP] sdb               8:16   0   10G  0 disk  sdc               8:32   0   10G  0 disk  sr0              11:0    1    4G  0 rom  123456789

2.然后利用fdisk命令按要求编辑磁盘

 [root@localhost ~]# fdisk /dev/sdb 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. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xce106979. Command (m for help): n Partition type:    p   primary (0 primary, 0 extended, 4 free)    e   extended Select (default p): p Partition number (1-4, default 1):  First sector (2048-20971519, default 2048):  Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):  Using default value 20971519 Partition 1 of type Linux and of size 10 GiB is set Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Disk /dev/sdb: 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: 0xce106979 Device Boot      Start         End      Blocks   Id  System /dev/sdb1            2048    20971519    10484736   8e  Linux LVM1234567891011121314151617181920212223242526272829

3.利用相同方式将磁盘sdc更改成LVM格式,最后利用lsbkl命令查看分区

 [root@localhost ~]# lsblk NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT sda               8:0    0   45G  0 disk  ├─sda1            8:1    0  500M  0 part /boot └─sda2            8:2    0 44.5G  0 part    ├─centos-root 253:0    0 40.6G  0 lvm  /   └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP] sdb               8:16   0   10G  0 disk  └─sdb1            8:17   0   10G  0 part  sdc               8:32   0   10G  0 disk  └─sdc1            8:33   0   10G  0 part  sr0              11:0    1    4G  0 rom  1234567891011

利用pvcreate命令创建pv,并将扇区转化为pe

1.利用pvcreate命令创建pv

 [root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1   Physical volume "/dev/sdb1" successfully created.   Physical volume "/dev/sdc1" successfully created.12

2.利用pvs命令查看

 [root@localhost ~]# pvs  PV         VG     Fmt  Attr PSize   PFree    /dev/sda2  centos lvm2 a--  44.00m  /dev/sdb1         lvm2 ---    /dev/sdc1         lvm2 ---

利用vgcreate命令创建vg虚拟磁盘

1.利用vgcreate命令创建虚拟磁盘

 [root@localhost ~]# vgcreate mydisk -s 16M  /dev/sdb1 /dev/sdc1   Volume group "mydisk" successfully created1

2.利用vgs命令查看创建情况

 [root@localhost ~]# vgs   VG     #PV #LV #SN Attr   VSize   VFree    centos   1   2   0 wz--n- 44.00m   mydisk   2   0   0 wz--n-  19.99g 19.99g123

接下来需要利用lvcreate命令创建分区大小为5G

1.首先利用lvcreate命令创建分区,并利用lvs命令查看

 [root@localhost ~]# lvcreate -L +5G mydisk   Logical volume "lvol0" created. [root@localhost ~]# lvs   LV    VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert   root  centos -wi-ao----    swap  centos -wi-ao----     lvol0 mydisk -wi-a-----   5.00g                                                     [root@localhost ~]# 1234567

分区创建完毕需要对其进行格式化挂载,利用mount命令挂载即可

1.创建挂载点users并创建文件系统之后挂载分区

 [root@localhost ~]# mkdir users [root@localhost ~]# ls anaconda-ks.cfg  users  [root@localhost users]# mkfs.ext4 /dev/mydisk/lvol0  mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 。。。。。。 Allocating group tables: done                             Writing inode tables: done                             Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done  [root@localhost ~]# mount /dev/mydisk/lvol0 ./users/ [root@localhost ~]# ls anaconda-ks.cfg  users [root@localhost ~]# cd users/ [root@localhost users]# ls lost+found12345678910111213141516171819202122

以上操作结束后接下来是创建arc用户

1.创建用户arc并指定其home目录,由于在root下操作需要将root目录更改权限,最后切换用户查看并复制相关文件

 [root@localhost ~]# chmod 777 /root [root@localhost ~]# useradd -d /root/users/arc arc  [root@localhost ~]# cat /etc/passwd |grep arc arc:x:1003:1003::/root/users/arc:/bin/bash [root@localhost ~]# passwd arc  Changing password for user arc. New password:  BAD PASSWORD: The password is shorter than 8 characters Retype new password:  passwd: all authentication tokens updated successfully.  [root@localhost ~]# ls anaconda-ks.cfg  users [root@localhost ~]# cd users/ [root@localhost users]# ls arc  lost+found  [root@localhost users]# su - arc [arc@localhost ~]$ cp -a /etc/pam.d ./ [arc@localhost ~]$ ls pam.d12345678910111213141516171819202122

接下来是LVM分区扩展收缩操作,以下是操作流程

扩展逻辑卷: #lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME #resize2fs /dev/VG_NAME/LV_NAME #lvresize-r -l +100%FREE /dev/VG_NAME/LV_NAME

缩减逻辑卷: umount/dev/VG_NAME/LV_NAME e2fsck -f /dev/VG_NAME/LV_NAME resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] lvreduce-L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME mount

1.扩展逻辑卷操作如下

 [root@localhost users]# lvextend -L +2G /dev/mydisk/lvol0    Size of logical volume mydisk/lvol0 changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents).   Logical volume mydisk/lvol0 successfully resized. [root@localhost users]# df -h Filesystem                Size  Used Avail Use% Mounted on devtmpfs                  1.9G     0  1.9G   0% /dev tmpfs                     1.9G     0  1.9G   0% /dev/shm tmpfs                     1.9G   12M  1.9G   1% /run tmpfs                     1.9G     0  1.9G   0% /sys/fs/cgroup /dev/mapper/centos-root    41G  1.7G   39G   5% / /dev/sda1                 497M  167M  331M  34% /boot tmpfs                     378M     0  378M   0% /run/user/0 /dev/mapper/mydisk-lvol0  4.8G   21M  4.6G   1% /root/users [root@localhost users]# resize2fs /dev/mydisk/lvol0  resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/mydisk/lvol0 is mounted on /root/users; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/mydisk/lvol0 is now 1835008 blocks long.  root@localhost users]# df -h Filesystem                Size  Used Avail Use% Mounted on devtmpfs                  1.9G     0  1.9G   0% /dev tmpfs                     1.9G     0  1.9G   0% /dev/shm tmpfs                     1.9G   12M  1.9G   1% /run tmpfs                     1.9G     0  1.9G   0% /sys/fs/cgroup /dev/mapper/centos-root    41G  1.7G   39G   5% / /dev/sda1                 497M  167M  331M  34% /boot tmpfs                     378M     0  378M   0% /run/user/0 /dev/mapper/mydisk-lvol0  6.8G   23M  6.4G   1% /root/users12345678910111213141516171819202122232425262728

最后是快照操作,流程如下

创建快照 #lvcreate-l 64 -s -n snap-data -p r /dev/vg0/data 挂载快照 #mkdir-p /mnt/snap #mount -o ro/dev/vg0/snap-data /mnt/snap 恢复快照 #umount/dev/vg0/snap-data #umount/dev/vg0/data #lvconvert–merge /dev/vg0/snap-data 删除快照 #umount/mnt/databackup #lvremove/dev/vg0/databackup

1.以刚刚创建的arc用户为例为其创建快照

 [root@localhost users]# lvcreate -l 64 -s -n arc-snap -p rw /dev/mydisk/lvol0    Logical volume "arc-snap" created.1

2.接下来我们可以切换arc用户进行各种操作

 [root@localhost users]# su - arc Last login: Mon Mar 30 22:11:03 CST 2020 on pts/0 [arc@localhost ~]$ ls pam.d [arc@localhost ~]$ echo jahfkjahgsfj > 1 [arc@localhost ~]$ ls 1  pam.d123456

3.现在我们需要挂载快照,查看快照情况

 [root@localhost ~]# mkdir -p /arc/snap [root@localhost ~]# mount -o rw /dev/mydisk/arc-snap /arc/snap/ [root@localhost ~]# cd /arc/snap/ [root@localhost snap]# ls arc  lost+found [root@localhost snap]# cd arc [root@localhost arc]# ls pam.d [root@localhost arc]# 12345678

4.最后我们需要恢复到快照之前的状态

 [root@localhost arc]# cd ~ [root@localhost ~]# umount /dev/mydisk/arc-snap  [root@localhost ~]# umount /dev/mydisk/lvol0  [root@localhost ~]# lvconvert --merge /dev/mydisk/arc-snap    Merging of volume mydisk/arc-snap started.   mydisk/lvol0: Merged: 89.02%   mydisk/lvol0: Merged: 100.00% [root@localhost ~]# 1234567

5.现在我们登录arc用户查看情况

 [root@localhost ~]# mount /dev/mydisk/lvol0 ./users/ [root@localhost ~]# su - arc Last login: Mon Mar 30 22:34:55 CST 2020 on pts/0 [arc@localhost ~]$ ls pam.d [arc@localhost ~]$

到此,相信大家对"Linux中怎么创建及管理LVM逻辑卷"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

逻辑 命令 磁盘 参数 物理 快照 大小 用户 功能 信息 格式 目录 检查 管理 文件 语法 接下来 系统 设备 单位 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库怎样定义模式 sas最多能处理多大数据库 甘肃网络安全培训 魔兽世界返回服务器列表 北京交友软件开发定做 如何把微信放在自己公司服务器 如何保障网络安全分工 公安局监控网络安全 Pop 数据库 编程软件开发用什么笔记本 汉滨区腾乐软件开发有限公司 数据库哪本课本 四川乐创恒志网络技术有限公司 严格管理网络安全 当老师好还是学计算机网络技术好 厦门恒派网络技术有限公司 大型连锁电脑服务器 移动公司网络安全宣传周方案 软件开发技术评审流程 麒麟系统服务器后台运行怎么关闭 网络技术基础mooc答案 济南软件开发公司对比 河南恒友软件开发有限公司 asu以及bsc数据库中不包括 我要把网络安全的手抄报 顺丰数据库怎么登录 云南 建筑 大数据库 网络安全服务经验如何写 无线路由器如何改成打印服务器 合肥工业大学网络安全院士吴兴
0