当前位置: 首页 > news >正文

Linux 逻辑卷管理

练习

创建物理卷(pv->vg->lv)
  • 物理卷(PV)就像把一块块独立的硬盘,标记成 "可用于搭建 LVM 的积木",让系统知道这些硬盘可以被 LVM 管理。

#把sdb这块硬盘标记为物理卷(相当于给这块积木盖章,说明 "这是 LVM 专用积木")[root@server ~ 10:59:59]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.#同时把sdc和sdd两块硬盘也标记为物理卷(一次性处理多个积木)[root@server ~ 11:18:01]# pvcreate /dev/sd{c,d}Physical volume "/dev/sdc" successfully created.Physical volume "/dev/sdd" successfully created.#查看所有物理卷的状态(pvs是 "物理卷列表" 的缩写)[root@server ~ 11:18:21]# pvsPV         VG     Fmt  Attr PSize  PFree /dev/sda2  centos lvm2 a--  52.00g  4.00m/dev/sdb          lvm2 ---  20.00g 20.00g  #20G空闲还是未使用的/dev/sdc          lvm2 ---  20.00g 20.00g/dev/sdd          lvm2 ---  20.00g 20.00g#查看sdb这块物理卷的详细信息(比如大小、是否被使用等),确认它是 20G 的新卷[root@server ~ 11:18:31]# pvdisplay /dev/sdb"/dev/sdb" is a new physical volume of "20.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdbVG Name               PV Size               20.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               fSUdiC-O7r0-t3jf-Kxc5-aEpE-0Lbk-RA1weH​
创建卷组
  • 卷组(VG)就像一个 "收纳盒",把多个物理卷(积木)装进去,统一管理。之后创建的逻辑卷会从这个盒子里取空间

#创建一个叫webapp的卷组(收纳盒),把sdb这块物理卷(积木)放进去[root@server ~ 11:18:39]# vgcreate webapp /dev/sdbVolume group "webapp" successfully created#再创建一个叫dbapp的卷组,把sdc和sdd两块物理卷放进去(一个盒子可以装多块积木)[root@server ~ 11:19:45]# vgcreate dbapp /dev/sd{c,d}Volume group "dbapp" successfully created#再次查看物理卷,发现sdb属于webapp卷组,sdc和sdd属于dbapp卷组(积木已经放进对应盒子了)[root@server ~ 11:20:06]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--   52.00g   4.00m/dev/sdb   webapp lvm2 a--  <20.00g <20.00g/dev/sdc   dbapp  lvm2 a--  <20.00g <20.00g/dev/sdd   dbapp  lvm2 a--  <20.00g <20.00g#查看所有卷组的状态(vgs是 "卷组列表" 的缩写)。#结果显示:dbapp卷组有 2 块物理卷(#PV=2),总空间约 40G(20G+20G),目前全是空的(VFree=39.99g);webapp卷组有 1 块物理卷,总空间约 20G[root@server ~ 11:20:10]# vgsVG     #PV #LV #SN Attr   VSize   VFree  centos   1   2   0 wz--n-  52.00g   4.00mdbapp    2   0   0 wz--n-  39.99g  39.99gwebapp   1   0   0 wz--n- <20.00g <20.00g#查看dbapp卷组的详细信息,确认它的总空间是 40G,且完全空闲(所有积木都没被用)[root@server ~ 11:20:26]# vgdisplay dbapp--- Volume group ---VG Name               dbappSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizable......VG Size               39.99 GiBPE Size               4.00 MiBTotal PE              10238Alloc PE / Size       0 / 0   Free  PE / Size       10238 / 39.99 GiBVG UUID               kUsUui-4yZ8-SqKL-6xIN-Bdfq-sgWh-e9Z1hR
创建逻辑卷
  • 逻辑卷(LV)就像从卷组(收纳盒)里切割出的一块 "虚拟硬盘",可以直接用它来存数据。大小可以灵活调整,不受物理硬盘限制

#从webapp卷组(收纳盒)里切割出一块 5G 的空间,取名webapp01(逻辑卷)。#-n:指定逻辑卷名字;-L 5G:指定大小为 5G[root@server ~ 11:20:37]# lvcreate -n webapp01 -L 5G webappLogical volume "webapp01" created.#从dbapp卷组里切割出 25G 的空间,取名data01(dbapp总共有 40G,足够分 25G)[root@server ~ 11:21:40]# lvcreate -n data01 -L 25G dbappLogical volume "data01" created.#查看所有逻辑卷(lvs是 "逻辑卷列表" 的缩写),确认webapp01(5G)和data01(25G)已创建[root@server ~ 11:21:50]# lvsLV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot     centos -wi-ao---- 50.00g                                                    swap     centos -wi-ao----  2.00g                                                    data01   dbapp  -wi-a----- 25.00g                                                    webapp01 webapp -wi-a-----  5.00g                                                    ​
#逻辑卷设备名由如下三种格式:- /dev/vname/lvame- /dev/mapper/vname-lvame- /dev/dm-N​​#逻辑卷的访问路径有多种方式,比如/dev/dbapp/data01或/dev/mapper/dbapp-data01,其实都是指向同一个逻辑卷(相当于一个文件有多个快捷方式)​[root@server ~ 11:21:56]#  ls -l /dev/dbapp/data01 /dev/mapper/dbapp-data01lrwxrwxrwx 1 root root 7 8月   4 11:21 /dev/dbapp/data01 -> ../dm-3lrwxrwxrwx 1 root root 7 8月   4 11:21 /dev/mapper/dbapp-data01 -> ../dm-3​
# 查看data01逻辑卷的详细信息,确认它属于dbapp卷组,大小 25G[root@server ~ 11:22:19]# lvdisplay /dev/dbapp/data01--- Logical volume ---LV Path                /dev/dbapp/data01LV Name                data01VG Name                dbappLV UUID                QKSeZN-4S6s-AJyx-NNm1-l29s-WCf6-tkCKnlLV Write Access        read/writeLV Creation host, time server.lyk.cloud, 2025-08-04 11:21:50 +0800LV Status              available# open                 0LV Size                25.00 GiB......​# 再次查看物理卷,发现webapp卷组的sdb用了 5G(因为webapp01是 5G);dbapp卷组的sdc(20G)全用完了,sdd用了 5G(因为data01要 25G,sdc的 20G 不够,就从sdd再取 5G)[root@server ~ 11:23:20]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--   52.00g   4.00m/dev/sdb   webapp lvm2 a--  <20.00g <15.00g/dev/sdc   dbapp  lvm2 a--  <20.00g      0 /dev/sdd   dbapp  lvm2 a--  <20.00g  14.99g​# 用lsblk查看硬盘分区关系,清晰看到data01逻辑卷横跨了sdc和sdd两块物理硬盘(这就是 LVM 的灵活之处:逻辑卷可以跨多个硬盘)[root@server ~ 11:23:58]# lsblk /dev/sd{b..d}NAME              MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsdb                 8:16   0  20G  0 disk └─webapp-webapp01 253:2    0   5G  0 lvm  sdc                 8:32   0  20G  0 disk └─dbapp-data01    253:3    0  25G  0 lvm  sdd                 8:48   0  20G  0 disk └─dbapp-data01    253:3    0  25G  0 lvm  ​

创建文件系统

  • 逻辑卷创建后,需要格式化(创建文件系统)才能用,就像新买的 U 盘要格式化一样

#给webapp01逻辑卷格式化,用xfs文件系统(相当于给这块 25G 的虚拟硬盘格式化,让系统能识别文件)[root@server ~ 11:24:24]# mkfs.xfs /dev/webapp/webapp01meta-data=/dev/webapp/webapp01   isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0data     =                       bsize=4096   blocks=1310720, imaxpct=25=                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0#把webapp01逻辑卷挂载到/var/www/html文件夹(网站目录),以后往这个文件夹存东西,实际就是存在webapp01逻辑卷里。[root@server ~ 11:24:44]# mount /dev/webapp/webapp01 /var/www/html​#/var/www/html 是 Linux 里默认的网页存放目录(就像网站的 “仓库”),index.html 是网站的首页文件。这条命令相当于在首页文件里写了 “hello” 这行字[root@server ~ 11:31:47]# echo hello >> /var/www/html/index.html​#安装 httpd 软件(Apache 服务器,相当于电脑上的 “网页发布工具”,能让其他设备通过网络访问你的网页)[root@server ~ 11:32:38]# yum install -y httpd[root@server ~ 11:32:51]# systemctl start httpd​#curl 是个查看网页内容的工具,http://localhost 指的是 “本机的网页地址”。执行后输出 “hello”,说明[root@server ~ 11:32:54]# curl http://localhosthello​

清理(lv->vg->pg)

#我们把webapp01这个逻辑卷(虚拟硬盘)挂载到了/var/www/html(网页目录),现在先取消这个关联,就像拔 U 盘前先 “安全弹出”,避免数据出问题[root@server ~ 11:41:33]# umount /dev/webapp/webapp01​#相当于 “把从收纳盒里拼好的虚拟硬盘拆成零散积木”。#这里要删除两个逻辑卷:webapp01(5G)和data01(25G)。系统会确认 “真的要删吗?”,输入y(是)后,这两个 “虚拟硬盘” 就被拆掉了,卷组里的空间变回空闲状态[root@server ~ 11:41:55]# lvremove /dev/webapp/webapp01 /dev/dbapp/data01Do you really want to remove active logical volume webapp/webapp01? [y/n]: yLogical volume "webapp01" successfully removedDo you really want to remove active logical volume dbapp/data01? [y/n]: yLogical volume "data01" successfully removed​#相当于 “把装积木的收纳盒扔掉”。#之前创建的webapp和dbapp两个卷组(收纳盒),现在里面的逻辑卷已经删掉了,就可以把空盒子直接移除,彻底清理[root@server ~ 11:42:54]# vgremove webapp dbappVolume group "webapp" successfully removedVolume group "dbapp" successfully removed​#相当于 “擦掉积木上的 LVM 标记,变回普通积木”。#最后把sdb、sdc、sdd这三块物理卷(原始硬盘)上的 LVM 标识清除,它们就变回了普通硬盘,以后可以重新用来创建新的 LVM,或者做其他用途(比如分区、创建 RAID 等)[root@server ~ 11:43:01]#  pvremove /dev/sd{b..d}Labels on physical volume "/dev/sdb" successfully wiped.Labels on physical volume "/dev/sdc" successfully wiped.Labels on physical volume "/dev/sdd" successfully wiped.​​#整个过程就是 “拆除” 的逆向操作:先卸载使用中的设备,再删除逻辑卷(虚拟硬盘),接着删除卷组(收纳盒),最后清除物理卷标记(恢复原始硬盘),让所有资源回到初始状态,方便下次重新规划使用

扩展卷组和缩减卷组

  • 首先得有个 “积木盒”(卷组),里面放 “积木块”(物理磁盘),再从盒子里拿出一块 “橡皮泥”(逻辑卷)随便捏

环境准备

# 创建卷组(积木盒)叫webapp,放进第一块积木/dev/sdb[root@server ~ 13:27:12]# vgcreate webapp /dev/sdbPhysical volume "/dev/sdb" successfully created.Volume group "webapp" successfully created# 从盒子里揪一块10G的橡皮泥(逻辑卷),叫webapp01[root@server ~ 13:36:11]# lvcreate -n webapp01 -L 10G webappWARNING: xfs signature detected on /dev/webapp/webapp01 at offset 0. Wipe it? [y/n]: yWiping xfs signature on /dev/webapp/webapp01.Logical volume "webapp01" created.
  • 这里vgcreate就像给一堆磁盘起个集体名字,lvcreate就是从这堆磁盘里划出一块可用空间

扩展卷组

  • 如果原来的积木不够用了,就往盒子里加新积木(新磁盘)

# 给webapp盒子加两块新积木/dev/sdc和/dev/sdd
[root@server ~ 13:37:11]# vgextend webapp /dev/sd{c,d}Physical volume "/dev/sdc" successfully created.Physical volume "/dev/sdd" successfully created.Volume group "webapp" successfully extended#执行后用vgs查看:webapp卷组从 1 块积木变成 3 块,总容量变大了(VSize从 20G 变成约 60G)
[root@server ~ 13:39:00]# vgsVG     #PV #LV #SN Attr   VSize   VFree  centos   1   2   0 wz--n-  52.00g   4.00mwebapp   3   1   0 wz--n- <59.99g <49.99g#pvs命令能看到每块积木(物理卷)的使用情况,比如/dev/sdb用了 10G,还剩 10G
[root@server ~ 13:39:47]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--   52.00g   4.00m/dev/sdb   webapp lvm2 a--  <20.00g <10.00g/dev/sdc   webapp lvm2 a--  <20.00g <20.00g/dev/sdd   webapp lvm2 a--  <20.00g <20.00g

缩减卷组

  • 想拿走一块积木,得先把上面的 “零件”(数据)移到其他积木上,不然会散架

[root@server ~ 13:39:47]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--   52.00g   4.00m/dev/sdb   webapp lvm2 a--  <20.00g <10.00g/dev/sdc   webapp lvm2 a--  <20.00g <20.00g/dev/sdd   webapp lvm2 a--  <20.00g <20.00g# 直接拿/dev/sdb会报错(上面有数据)  
# 将物理卷/dev/sdb从卷组webapp中剔除,则会报错
[root@server ~ 13:40:24]# vgreduce webapp /dev/sdbPhysical volume "/dev/sdb" still in use# 先把/dev/sdb的数据搬到其他积木上
# 解决方法:将物理卷/dev/sdb中数据移动到卷组中其他物理卷  
[root@server ~ 13:41:41]# pvmove /dev/sdb/dev/sdb: Moved: 0.31%/dev/sdb: Moved: 100.00%   pvmove没选择目标,默认拿本组下一个的容量
# 现在可以安全拿走了(虽然命令里没写,但pvmove后/dev/sdb已空,默认从卷组移除)[root@server ~ 13:43:50]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--   52.00g   4.00m/dev/sdb          lvm2 ---   20.00g  20.00g/dev/sdc   webapp lvm2 a--  <20.00g <10.00g/dev/sdd   webapp lvm2 a--  <20.00g <20.00g

扩展和缩减逻辑卷

  • 逻辑卷就像橡皮泥,能直接变大或变小(前提是卷组有空间)

扩展逻辑卷
# 把webapp01从10G捏到12G(+2G)
[root@server ~ 13:43:55]# lvextend -L +2G /dev/webapp/webapp01 Size of logical volume webapp/webapp01 changed from 10.00 GiB (2560 extents) to 12.00 GiB (3072 extents).Logical volume webapp/webapp01 successfully resized.
[root@server ~ 13:47:37]# lvs /dev/webapp/webapp01LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-a----- 12.00g   
缩减逻辑卷
# 再捏回10G(-2G)
[root@server ~ 13:47:44]# lvreduce -L -2G /dev/webapp/webapp01WARNING: Reducing active logical volume to 10.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce webapp/webapp01? [y/n]: ySize of logical volume webapp/webapp01 changed from 12.00 GiB (3072 extents) to 10.00 GiB (2560 extents).Logical volume webapp/webapp01 successfully resized.
[root@server ~ 13:48:08]# lvs /dev/webapp/webapp01 LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-a----- 10.00g                                                    
指定逻辑卷大小lvresize
# 直接指定大小(比如捏到15G)
[root@server ~ 13:50:49]# lvresize -L 15G /dev/webapp/webapp01Size of logical volume webapp/webapp01 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).Logical volume webapp/webapp01 successfully resized.
[root@server ~ 13:51:41]# lvs /dev/webapp/webapp01 LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-a----- 15.00g   

扩展和缩减文件系统

  • 逻辑卷变大后,外面的 “袋子”(文件系统)也要跟着放大,不然装不下东西

扩展 XFS 文件系统
  • XFS 文件系统(只能放大,不能缩小)

[root@server ~ 13:51:46]# mkfs.xfs /dev/webapp/webapp01 
[root@server ~ 13:58:06]# mkdir /var/www/html
[root@server ~ 13:58:15]# mount /dev/webapp/webapp01 /var/www/html
[root@server ~ 13:58:40]# cp /etc/host* /var/www/html
[root@server ~ 13:59:01]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny
# 第一步:扩展逻辑卷
[root@server ~ 13:59:08]# lvextend -L 15G /dev/webapp/webapp01 New size (3840 extents) matches existing size (3840 extents).
[root@server ~ 14:00:28]# lvs /dev/webapp/webapp01 LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 15.00g                                                    
# 第二步:扩展文件系统# 同步文件系统大小(挂载点路径)
[root@server ~ 14:00:40]# xfs_growfs /var/www/html
......
realtime =none                   extsz=4096   blocks=0, rtextents=0[root@server ~ 14:01:04]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   15G   33M   15G    1% /var/www/html[root@server ~ 14:01:15]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny# 先把逻辑卷放大到20G(-r参数会自动同步文件系统)
# 块设备和文件系统一并扩展***r***一定要在L前面,或者写成 -r -L
[root@server ~ 14:01:55]# lvextend -rL 20G /dev/webapp/webapp01[root@server ~ 14:02:38]# lvs /dev/webapp/webapp01 LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 20.00g                                                    
[root@server ~ 14:03:33]# df -h /var/www/html/
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   20G   33M   20G    1% /var/www/html

扩展 EXT4 文件系统

  • EXT4 文件系统(能放大也能缩小)

[root@server ~ 14:03:46]# umount /var/www/html
#<<< 'y'免输入y
[root@server ~ 14:04:42]# mkfs.ext4 /dev/webapp/webapp01 <<< 'y'[root@server ~ 14:05:07]# mount /dev/webapp/webapp01 /var/www/html
[root@server ~ 14:06:32]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   20G   45M   19G    1% /var/www/html[root@server ~ 14:06:40]# cp /etc/host* /var/www/html
[root@server ~ 14:06:53]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found

# 第一步:扩展逻辑卷 # 先放大逻辑卷到25G
[root@server ~ 14:06:59]# lvextend -L 25G /dev/webapp/webapp01Size of logical volume webapp/webapp01 changed from 20.00 GiB (5120 extents) to 25.00 GiB (6400 extents).Logical volume webapp/webapp01 successfully resized.
[root@server ~ 14:07:32]# lvs /dev/webapp/webapp01LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 25.00g    # 第二步:扩展文件系统# 放大文件系统(EXT4用resize2fs)
[root@server ~ 14:07:38]# resize2fs /dev/webapp/webapp01
[root@server ~ 14:08:04]# df -h /var/www/html/
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   25G   44M   24G    1% /var/www/html
[root@server ~ 14:08:33]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found# 块设备和文件系统一并扩展
[root@server ~ 14:08:55]# lvextend -rL 30G /dev/webapp/webapp01
[root@server ~ 14:09:31]# lvs /dev/webapp/webapp01 LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 30.00g  [root@server ~ 14:09:42]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   30G   44M   28G    1% /var/www/html

缩减 EXT4 文件系统

缩减EXT4文件系统注意事项:

  • 不支持在线缩减,必须卸载后缩减。

  • 缩减后的容量,不能小于当前使用的容量。

ext4 减容流程:

  1. 卸载文件系统

  2. e2fsck 文件系统

  3. 缩减文件系统

  4. 缩减lv

  5. 挂载测试

[root@server ~ 14:10:45]# df -hT /var/www/html/
#卸载文件系统# 缩小的话,先卸载挂载点,检查文件系统(重要!)
[root@server ~ 14:15:00]# umount /var/www/html [root@server ~ 14:15:16]# fsck /dev/webapp/webapp01
fsck,来自 util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
/dev/mapper/webapp-webapp01: clean, 16/1966080 files, 167447/7864320 blocks
#检测文件系统# 检查并修复错误
[root@server ~ 14:15:51]# e2fsck -f /dev/webapp/webapp01
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/webapp/webapp01: 16/1966080 files (0.0% non-contiguous), 167447/7864320 blocks#缩减文件系统# 先缩小文件系统到10G(必须小于逻辑卷当前大小)
[root@server ~ 14:16:04]# resize2fs /dev/webapp/webapp01 10G#缩减逻辑卷# 再缩小逻辑卷到10G
[root@server ~ 14:16:15]# lvreduce -L 10G /dev/webapp/webapp01[root@server ~ 14:16:26]# mount /dev/webapp/webapp01 /var/www/html
[root@server ~ 14:19:57]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01  9.8G   37M  9.2G    1% /var/www/html[root@server ~ 14:20:21]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found
总结:
#核心流程
卷组(VG):用vgextend加磁盘,vgreduce减磁盘(减前用pvmove移数据)。
逻辑卷(LV):用lvextend/lvreduce/lvresize调整大小。
文件系统:XFS 用xfs_growfs放大;EXT4 用resize2fs放大 / 缩小(缩小要先卸挂载点 + 检查)。

逻辑卷快照

我们可以使用快照记录了lv中数据,后续可以用来恢复数据

[root@server ~ 14:20:31]# lvcreate -s -n webapp01-snap1 -L 10G /dev/webapp/webapp01Logical volume "webapp01-snap1" created.# 卸载原始卷,挂载快照
[root@server ~ 14:45:16]# mkdir -p /webapp/webapp01[root@server ~ 14:45:24]# mount /dev/webapp/webapp01-snap1 /webapp/webapp01/
[root@server ~ 14:45:36]#  umount /dev/webapp/webapp01[root@server ~ 14:46:38]#  ls /webapp/webapp01/
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found[root@server ~ 14:46:48]# echo hello world > /webapp/webapp01/hello.txt
[root@server ~ 14:48:17]# cat /webapp/webapp01/hello.txt
hello world

创建raid1 逻辑卷

清理
[root@server ~ 14:55:07]# umount /dev/webapp/webapp01-snap1
[root@server ~ 14:56:30]# lvs /dev/webappLV             VG     Attr       LSize  Pool Origin   Data%  Meta%  Move Log Cpy%Sync Convertwebapp01       webapp owi-a-s--- 10.00g                                                      webapp01-snap1 webapp swi-a-s--- 10.00g      webapp01 0.01                                   
[root@server ~ 14:56:30]#  lvremove /dev/webapp/webapp01*[root@server ~ 14:57:00]# lvs /dev/webapp
创建
[root@server ~ 14:57:02]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--   52.00g   4.00m/dev/sdb          lvm2 ---   20.00g  20.00g/dev/sdc   webapp lvm2 a--  <20.00g <20.00g/dev/sdd   webapp lvm2 a--  <20.00g <20.00g[root@server ~ 15:00:08]#  lvcreate --type raid1 -n webapp01 -L 15G webapp
WARNING: ext4 signature detected on /dev/webapp/webapp01_rmeta_0 at offset 1080. Wipe it? [y/n]: yWiping ext4 signature on /dev/webapp/webapp01_rmeta_0.Logical volume "webapp01" created.[root@server ~ 15:00:53]# pvsPV         VG     Fmt  Attr PSize   PFree /dev/sda2  centos lvm2 a--   52.00g  4.00m/dev/sdb          lvm2 ---   20.00g 20.00g/dev/sdc   webapp lvm2 a--  <20.00g  4.99g/dev/sdd   webapp lvm2 a--  <20.00g  4.99g[root@server ~ 15:01:34]#  mkfs.xfs /dev/webapp/webapp01 
[root@server ~ 15:01:58]#  mount /dev/webapp/webapp01 /var/www/html/
[root@server ~ 15:02:12]# cp /etc/ho* /var/www/html/
[root@server ~ 15:02:17]# ls /var/www/html/
host.conf  hostname  hosts  hosts.allow  hosts.deny[root@server ~ 15:02:44]#  wipefs -a /dev/sdd
wipefs: error: /dev/sdd: probing initialization failed: 设备或资源忙[root@server ~ 15:04:06]# dd if=/dev/zero of=/dev/sdd bs=1M count=256
记录了256+0 的读入
记录了256+0 的写出
268435456字节(268 MB)已复制,0.0826577 秒,3.2 GB/秒[root@server ~ 15:04:46]# pvs
....../dev/sda2  centos lvm2 a--   52.00g  4.00m/dev/sdb          lvm2 ---   20.00g 20.00g/dev/sdc   webapp lvm2 a--  <20.00g  4.99g[unknown]  webapp lvm2 a-m  <20.00g  4.99g
[root@server ~ 15:05:13]# ls /var/www/html/
host.conf  hostname  hosts  hosts.allow  hosts.deny[root@server ~ 15:05:23]# umount /var/www/html
[root@server ~ 15:06:15]# mount /dev/webapp/webapp01 /var/www/html/
[root@server ~ 15:06:21]# ls /var/www/html/
host.conf  hostname  hosts  hosts.allow  hosts.deny
修复raid
[root@server ~ 15:06:26]# vgreduce --removemissing webapp --force 
[root@server ~ 15:11:45]# vgextend webapp /dev/sdd
[root@server ~ 15:12:13]# lvconvert --repair webapp/webapp01
[root@server ~ 15:12:51]# pvs|grep webapWARNING: Not using lvmetad because a repair command was run./dev/sdc   webapp lvm2 a--  <20.00g  4.99g/dev/sdd   webapp lvm2 a--  <20.00g  4.99g
http://www.lryc.cn/news/609884.html

相关文章:

  • Javascript面试题及详细答案150道之(046-060)
  • Redis之Hash和List类型常用命令
  • Dubbo 3.x源码(32)—Dubbo Provider处理服务调用请求源码
  • 《算法导论》第 1 章 - 算法在计算中的作用
  • Java开发时出现的问题---语言特性与基础机制陷阱
  • 从HTTP到WebSocket:打造极速实时通讯体验
  • 安全扫描:目标主机支持RSA密钥交换问题
  • 国产化低代码平台如何筑牢企业数字化安全底座
  • 消防器材检测数据集介绍-9,600 张图片 智慧安防系统 建筑施工安全监管 AI 消防巡检机器人 自动审核系统 公共场所安全监测
  • Solidity全局变量与安全实践指南
  • [论文阅读] 人工智能 + 教学 | 从代码到职业:用机器学习预测竞赛程序员的就业潜力
  • 安全扫描:目标使用过期的TLS1.0 版协议问题
  • 【乐企板式文件】不动产销售类发票已支持
  • MySQL三大日志详解(binlog、undo log、redo log)
  • 赋能未来:数字孪生驱动能源系统智能化升级
  • 【项目实践】在系统接入天气api,根据当前天气提醒,做好plan
  • Linux(centos)安全狗
  • 【芯片设计专用执行单元:PWM如何重塑能源与智能控制】
  • sqli-labs靶场less29~less35
  • 2025.08.04 移除元素
  • 【测试工程思考】测试自动化基础能力建设
  • 使用mybatis生成器生成实体类mapper和查询参数文件,实现简单增删改查。使用log4j输出日志到控制台。使用配置文件注册Bean,配置视图解析器
  • 每天学一个Linux命令(38):vi/vim
  • Excel商业智能分析报表 【销售管理分析仪】
  • 免费MCP: JSON 转 Excel MCP
  • Vim 高效使用指南
  • Flutter 事件总线 Event Bus
  • HarmonyOS 多屏适配最佳实践:基于 ArkUI 的响应式 UI 方案
  • 计算机网络:理解路由的下一跳
  • 第四十六章:AI的“瞬时记忆”与“高效聚焦”:llama.cpp的KV Cache与Attention机制