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.pswp.cn/news/917603.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

向日葵参考基因组

向日葵参考基因组升级多个版本 向日葵基因组为油脂代谢、开花调控及菊类植物进化提供新见解-文献精读151-CSDN博客 官网 https://www.sunflowergenome.org/annotations-data/

什么是爬虫协议?

什么是爬虫协议&#xff1f; 爬虫协议&#xff08;Crawl Protocol&#xff09;是指为了有效地收集网页内容而建立的一些规定和标准&#xff0c;用以指导网络爬虫如何在互联网上抓取信息。 爬虫协议主要指的是Robots协议&#xff08;Robots Exclusion Protocol&#xff09;&am…

空间平面旋转与xoy平行

空间平面旋转与xoy平行 法向量 空间平面axbyczd0的其中一个法向量(a,b,c),法向量垂直于空间平面。目标平面平行于xoy的平面为0x0yczd0;其中一个法向量为(0,0,c),c可以为不为0的任意值&#xff0c;取(0,0,1)&#xff0c;目标平面的的法向量垂直于xoy平面 向量叉乘点乘 两个向量的…

odoo reportbro 拖拽式报表设计

报表设计以及下载 在实际业务中应用非常的广泛且频繁。odoo 本身也具有报表设计功能&#xff0c;但都是代码模式。且需要开发人员定制化开发&#xff0c;耗费成本高 所以引入reportbro报表设计就非常的简单快捷。低代码模式 以下以销售报表为例进行演示 报表字段配置报表界面设…

数字信号处理_编程实例1

stem([1,2,3]) 一、初始设置 %% 初始设置 % 清空工作空间&#xff0c;关闭无关页面 clc,clear,close all; % 绘图变量 font_size 12; %全局基础字体大小 axis_size 10; %坐标轴刻度标签字体大小 line_width 2; %绘图线条宽度 legend_size 10.5; %图例字体大小 marker_siz…

Docker 安装部署 OceanBase

1.拉取镜像 docker pull oceanbase/oceanbase-ce:latest2.启动oceanbase容器 docker run -p 2881:2881 --name oceanbase-ce -e MINI_MODE0 -d quay.io/oceanbase/oceanbase-ce3.查看oceanbase初始化的日志信息 docker logs oceanbase-ce4.进入oceanbase容器 docker exec -it o…

【华为机试】685. 冗余连接 II

文章目录685. 冗余连接 II题目描述示例 1&#xff1a;示例 2&#xff1a;提示&#xff1a;解题思路算法分析核心思想算法策略算法对比问题分类流程图并查集环检测流程入度统计与候选边选择情况分析决策树完整算法流程复杂度分析时间复杂度空间复杂度关键实现技巧1. 并查集优化2…

Redis之Hash和List类型常用命令

Redis之Hash和List类型常用命令一、Hash类型详解1. Hash类型的特点2. 常用命令及示例&#xff08;1&#xff09;设置字段值&#xff08;2&#xff09;获取字段值&#xff08;3&#xff09;删除字段&#xff08;4&#xff09;其他常用命令3. 应用场景二、List类型详解1. List类型…

【测试】⾃动化测试概念篇

本节⽬标&#xff1a;⾃动化测试Web⾃动化测试selenium1. ⾃动化1.1 ⾃动化概念⾃动化在⽣活中处处可⻅&#xff0c;⾃动的代替⼈的⾏为完成操作。⾃动洒⽔机&#xff0c;主要通上⽔就可以⾃动化洒⽔并且可以⾃动的旋转。⾃动洗⼿液&#xff0c;免去了⼿动挤压可以⾃动感应出洗…

Java中给List<T> 对象集合去重

Java中给List 对象集合去重List<Student> getStudentList studentMapper.getStudentList();List<Student> distinctInsurance distinctByField(getStudentList, Student::getCertNo);public static <T> List<T> distinctByField(List<T> list…

最小二乘法MSE

最小二乘法MSEx1x2x3x4x5x6x7x8x0y014805-29-31339-41064-14-2-1481-114-1-65-123-32-21305-23105114-81126-15-15-8-157-4-1221-39511-10-243-9-671-87-1404-35101371422-3-7-2-80-6-5-91-3091前景知识: 矩阵相关公式y(339−11430126−395−87422−309)y\begin{pmatrix} 339&a…

Pixel 4D 3.4.4.0 | 支持丰富的壁纸资源,高清画质,高度的个性化设置能力,智能推荐功能

Pixel 4D是一款功能强大且用户体验良好的动态壁纸应用。它提供了丰富的壁纸资源和高清画质&#xff0c;让用户可以轻松找到自己喜欢的壁纸。此外&#xff0c;该应用还具备高度的个性化设置能力&#xff0c;允许用户根据自己的喜好调整壁纸效果。智能推荐功能则能帮助用户发现更…

<PhotoShop><JavaScript><脚本>基于JavaScript,利用脚本实现PS软件批量替换图片,并转换为智能对象?

前言 PhotoShop软件支持JavaScript脚本,来扩展软件的功能,官方本身也提供了一些常用脚本,如图像处理等,同时也支持自定义的JavaScript脚本。 环境配置 系统:windows 平台:visual studio code 语言:JavaScript 软件:PhotoShop 2022 版本:23.2.1 概述 本文利用Java…

【Linux】System V - 基于建造者模式的信号量

目录 信号量和P、V原语 信号量集结构体 信号量操作接口 semget semctl semop 封装Sem 关于建造者模式 信号量和P、V原语 信号量和 P、V 原语由 Dijkstra &#xff08;迪杰斯特拉&#xff09;提出 信号量值含义 S>0: S 表⽰可⽤资源的个数 S0: 表⽰⽆可⽤资源&a…

机器学习(11):岭回归Ridge

岭回归是失损函数通过添加所有权重的平方和的乘积(L2)来惩罚模型的复杂度。均方差除以2是因为方便求导&#xff0c;w_j指所有的权重系数, λ指惩罚型系数&#xff0c;又叫正则项力度特点:岭回归不会将权重压缩到零&#xff0c;这意味着所有特征都会保留在模型中&#xff0c;但它…

调整Idea缓存目录,释放C盘空间

本文使用 Idea2024 Idea 会将一些配置默认缓存在C盘&#xff0c;使用久了会占用大量空间&#xff08;本人的Idea占用了将近5个G&#xff0c;以至于不得不进行迁移&#xff09; 缓存目录主要涉及以下四个目录&#xff0c;四个目录可以分为两组&#xff0c;每组目录必须一起调整 …

手搓栅格工具-山体阴影

一、概述 山体阴影工具通过为栅格中的每个像元确定照明度&#xff0c;来获取表面的假定照明度。 通过设置假定光源的位置并计算每个像元相对于相邻像元的照明度值来实现此目的。 它可以显著增强用于分析或图形显示的表面的可视化效果&#xff0c;尤其是在使用透明度时。 默认情…

Censtos docker安装方法

#设置防火墙 systemctl stop firewalld.service setenforce 0 #安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 #yum-utils&#xff1a;提供了 yum-config-manager 工具。 #device mapper&#xff1a; 是Linux内核中支持逻辑卷管理的通用设备映射机制…

单片机51 day46

单片机 一&#xff1a;基础概念 一&#xff1a;单片机最小系统 单片机&#xff1a;电源时钟&#xff08;晶振&#xff09;复位 //实现的最小组件 电源&#xff1a;5V直流 时钟(晶振)&#xff1a;决定系统运行的速率 一般12M&#xff08;不超过50M&#xff09;&#xff0c…

【无标题】解锁未来无线网络的无限可能——Mesh自组网设备

在科技迅猛发展的今天&#xff0c;无线网络已经成为了现代生活不可或缺的一部分。无论是在家庭中娱乐观看视频、在线游戏&#xff0c;还是在企业中进行办公、远程协作&#xff0c;网络的稳定性和覆盖范围都直接影响着我们的使用体验。传统的Wi-Fi网络在面临多设备同时连接或大面…