您好,登录后才能下订单哦!
本篇内容主要讲解“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 【参数】 【对象】
必要参数
| 参数 | 功能 | 
|---|---|
| -l | 列出素所有分区表 | 
| -u | 与”-l”搭配使用,显示分区数目 | 
选择参数
| 参数 | 功能 | 
|---|---|
| -s | 指定分区 | 
| -v | 版本信息 | 
操作说明
| 参数 | 功能 | 
|---|---|
| m | 显示菜单和帮助信息 | 
| a | 活动分区标记/引导分区 | 
| d | 删除分区 | 
| l | 显示分区类型 | 
| n | 新建分区 | 
| p | 显示分区信息 | 
| q | 退出不保存 | 
| t | 设置分区号 | 
| v | 进行分区检查 | 
| w | 保存修改 | 
| x | 扩展应用,高级功能 | 
语法:pvcreate 【选项】 【参数】
| 参数 | 功能 | 
|---|---|
| -f | 强制创建物理卷,不需要用户确认 | 
| -u | 指定设备的UUID | 
| -y | 所有的问题都回答“yes” | 
| -Z | 是否利用前4个扇区 | 
语法:vgcreate 【选项】 【参数】
| 参数 | 功能 | 
|---|---|
| -l | 卷组上允许创建的最大逻辑卷数 | 
| -p | 卷组中允许添加的最大物理卷数 | 
| -s | 卷组上的物理卷的PE大小 | 
语法:lvresize 【选项】 【参数】
| 参数 | 功能 | 
|---|---|
| -L | 指定逻辑卷的大小,单位为“kKmMgGtT”字节 | 
| -l | 指定逻辑卷的大小(LE数) | 
语法: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  1234567892.然后利用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 LVM12345678910111213141516171819202122232425262728293.利用相同方式将磁盘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.122.利用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 created12.利用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.12.接下来我们可以切换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.d1234563.现在我们需要挂载快照,查看快照情况
 [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]# 123456784.最后我们需要恢复到快照之前的状态
 [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 ~]# 12345675.现在我们登录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逻辑卷”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。