linux的逻辑卷管理

简介: linux的逻辑卷管理

linux的逻辑卷管理

一、逻辑卷介绍

逻辑卷
作用:1.整合分散的空间
2.空间支持扩大

逻辑卷制作过程:将众多的物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)

二、建立卷组和逻辑卷


// 建立卷组(VG)                    
// 格式:vgcreate   卷组名    设备路径…….

[root@www ~]# vgcreate systemvg /dev/sdb[1-2]
// 该处是因为之前的sdb1做了交换空间,正常是直接会成功
WARNING: swap signature detected on /dev/sdb1 at offset 4086. Wipe it? [y/n]: y
  Wiping swap signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
  Volume group "systemvg" successfully created
 // 查看物理卷的信息
[root@www ~]# pvs
  PV         VG       Fmt  Attr PSize    PFree
  /dev/sda2  centos   lvm2 a--   <59.00g    4.00m
  /dev/sdb1  systemvg lvm2 a--  1020.00m 1020.00m
  /dev/sdb2  systemvg lvm2 a--  1020.00m 1020.00m
  // 查看卷组的信息
[root@www ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree
  centos     1   3   0 wz--n- <59.00g 4.00m
  systemvg   2   0   0 wz--n-   1.99g 1.99g
 // 可以看到此时的centos也是一个卷组
[root@www ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0    60G  0 disk
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0    59G  0 part
  ├─centos-root 253:0    0  38.3G  0 lvm  /
  ├─centos-swap 253:1    0     2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  18.7G  0 lvm  /home
sdb               8:16   0    10G  0 disk
├─sdb1            8:17   0     1G  0 part
├─sdb2            8:18   0     1G  0 part
├─sdb3            8:19   0     1G  0 part
├─sdb4            8:20   0     1K  0 part
└─sdb5            8:21   0     1G  0 part
sdc               8:32   0    10G  0 disk
├─sdc1            8:33   0 953.7M  0 part
└─sdc2            8:34   0   3.7G  0 part
sr0              11:0    1   4.3G  0 rom  /mydvd


// 建立逻辑卷(LV)  
//  格式: lvcreate  -L   大小G    -n  逻辑卷名字     卷组名


[root@www ~]# lvcreate -L 1G -n vo systemvg
  Logical volume "vo" created.
  // 查看逻辑卷信息
[root@www ~]# lvs
  LV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos   -wi-ao---- <18.70g
  root centos   -wi-ao---- <38.30g
  swap centos   -wi-ao----   2.00g
  vo   systemvg -wi-a-----   1.00g
[root@www ~]# ls /dev/systemvg/vo
/dev/systemvg/vo
// 此处是系统自动做了链接
[root@www ~]# ls -l /dev/systemvg/vo
lrwxrwxrwx. 1 root root 7 Dec 22 03:08 /dev/systemvg/vo -> ../dm-3
// 格式化刚才创建的逻辑卷
[root@www ~]# mkfs.xfs /dev/systemvg/vo
meta-data=/dev/systemvg/vo       isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
// 查看逻辑卷的类型为xfs
[root@www ~]# blkid /dev/systemvg/vo
/dev/systemvg/vo: UUID="35d7aecf-5e01-42c2-916f-f52ba8fc8d7c" TYPE="xfs"
[root@www ~]# pvs
  PV         VG       Fmt  Attr PSize    PFree
  /dev/sda2  centos   lvm2 a--   <59.00g    4.00m
  /dev/sdb1  systemvg lvm2 a--  1020.00m       0
  /dev/sdb2  systemvg lvm2 a--  1020.00m 1016.00m
  // 此时可以看到们的systemvg增加了一个LV
[root@www ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree
  centos     1   3   0 wz--n- <59.00g    4.00m
  systemvg   2   1   0 wz--n-   1.99g 1016.00m
  // 通过lsblk命令也可以看到
[root@www ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0    60G  0 disk
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0    59G  0 part
  ├─centos-root 253:0    0  38.3G  0 lvm  /
  ├─centos-swap 253:1    0     2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  18.7G  0 lvm  /home
sdb               8:16   0    10G  0 disk
├─sdb1            8:17   0     1G  0 part
│ └─systemvg-vo 253:3    0     1G  0 lvm
├─sdb2            8:18   0     1G  0 part
│ └─systemvg-vo 253:3    0     1G  0 lvm
├─sdb3            8:19   0     1G  0 part
├─sdb4            8:20   0     1K  0 part
└─sdb5            8:21   0     1G  0 part
sdc               8:32   0    10G  0 disk
├─sdc1            8:33   0 953.7M  0 part
└─sdc2            8:34   0   3.7G  0 part
sr0              11:0    1   4.3G  0 rom  /mydvd
[root@www ~]#
// 通过挂载来使用逻辑卷
[root@www ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   39G  3.7G   35G  10% /
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0 100% /mydvd
/dev/sda1               1014M  133M  882M  14% /boot
/dev/mapper/centos-home   19G   33M   19G   1% /home
tmpfs                     98M     0   98M   0% /run/user/0
[root@www ~]# mkdir /mylv
[root@www ~]# mount /dev/systemvg/vo /mylv/
[root@www ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   39G  3.7G   35G  10% /
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0 100% /mydvd
/dev/sda1               1014M  133M  882M  14% /boot
/dev/mapper/centos-home   19G   33M   19G   1% /home
tmpfs                     98M     0   98M   0% /run/user/0
/dev/mapper/systemvg-vo 1014M   33M  982M   4% /mylv
[root@www ~]#

三、卷组和逻辑卷的扩展


[root@www ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree
  centos     1   3   0 wz--n- <59.00g    4.00m
  systemvg   2   1   0 wz--n-   1.99g 1016.00m
[root@www ~]# lvs
  LV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos   -wi-ao---- <18.70g
  root centos   -wi-ao---- <38.30g
  swap centos   -wi-ao----   2.00g
  vo   systemvg -wi-ao----   1.00g
  // 1.扩展卷组的空间
[root@www ~]# vgextend systemvg /dev/sdb3 /dev/sdb5
  Physical volume "/dev/sdb3" successfully created.
  Physical volume "/dev/sdb5" successfully created.
  Volume group "systemvg" successfully extended
[root@www ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree
  centos     1   3   0 wz--n- <59.00g 4.00m
  systemvg   4   1   0 wz--n-   3.98g 2.98g
[root@www ~]# lvs
  LV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos   -wi-ao---- <18.70g
  root centos   -wi-ao---- <38.30g
  swap centos   -wi-ao----   2.00g
  vo   systemvg -wi-ao----   1.00g
[root@www ~]# pvs
  PV         VG       Fmt  Attr PSize    PFree
  /dev/sda2  centos   lvm2 a--   <59.00g    4.00m
  /dev/sdb1  systemvg lvm2 a--  1020.00m       0
  /dev/sdb2  systemvg lvm2 a--  1020.00m 1016.00m
  /dev/sdb3  systemvg lvm2 a--  1020.00m 1020.00m
  /dev/sdb5  systemvg lvm2 a--  1020.00m 1020.00m
// 2.扩展逻辑卷的空间
[root@www ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree
  centos     1   3   0 wz--n- <59.00g 4.00m
  systemvg   4   1   0 wz--n-   3.98g 2.98g
[root@www ~]# lvs
  LV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos   -wi-ao---- <18.70g
  root centos   -wi-ao---- <38.30g
  swap centos   -wi-ao----   2.00g
  vo   systemvg -wi-ao----   1.00g
[root@www ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   39G  3.7G   35G  10% /
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0 100% /mydvd
/dev/sda1               1014M  133M  882M  14% /boot
/dev/mapper/centos-home   19G   33M   19G   1% /home
tmpfs                     98M     0   98M   0% /run/user/0
/dev/mapper/systemvg-vo 1014M   33M  982M   4% /mylv
[root@www ~]#
[root@www ~]# lvextend -L 2G /dev/systemvg/vo
  Size of logical volume systemvg/vo changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents).
  Logical volume systemvg/vo successfully resized.
[root@www ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   39G  3.7G   35G  10% /
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0 100% /mydvd
/dev/sda1               1014M  133M  882M  14% /boot
/dev/mapper/centos-home   19G   33M   19G   1% /home
tmpfs                     98M     0   98M   0% /run/user/0
/dev/mapper/systemvg-vo 1014M   33M  982M   4% /mylv
// 扩展后,我们需要刷新文件系统
[root@www ~]# xfs_growfs /dev/systemvg/vo
meta-data=/dev/mapper/systemvg-vo isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 262144 to 524288
[root@www ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   39G  3.7G   35G  10% /
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0 100% /mydvd
/dev/sda1               1014M  133M  882M  14% /boot
/dev/mapper/centos-home   19G   33M   19G   1% /home
tmpfs                     98M     0   98M   0% /run/user/0
/dev/mapper/systemvg-vo  2.0G   33M  2.0G   2% /mylv
[root@www ~]#

四、逻辑卷的删除


// 逻辑卷的删除
// 删除卷组的前提:基于此卷组创建的所有逻辑卷,要全部删除
// 删除逻辑卷的前提:不能删除正在挂载使用的逻辑卷
[root@www ~]# lvremove /dev/systemvg/vo
  Logical volume systemvg/vo contains a filesystem in use.
  // 我们需要先卸载正在挂载使用的逻辑卷
[root@www ~]# umount /mylv/
// 此时就能删除成功
[root@www ~]# lvremove /dev/systemvg/vo
Do you really want to remove active logical volume systemvg/vo? [y/n]: y
  Logical volume "vo" successfully removed
  
// 删除卷组,我们输入y即可
[root@www ~]# vgremove systemvg
[root@www ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   3   0 wz--n- <59.00g 4.00m
[root@www ~]#

相关文章
|
6天前
|
Linux
【Linux 基础】文件与目录管理
文件和目录的基本概念以及常用命令
27 11
|
11天前
|
安全 Linux 数据处理
探索Linux的kmod命令:管理内核模块的利器
`kmod`是Linux下管理内核模块的工具,用于加载、卸载和管理模块及其依赖。使用`kmod load`来加载模块,`kmod remove`卸载模块,`kmod list`查看已加载模块,`kmod alias`显示模块别名。注意需有root权限,且要考虑依赖关系和版本兼容性。最佳实践包括备份、查阅文档和使用额外的管理工具。
|
12天前
|
监控 数据挖掘 Linux
Linux命令jobs:后台任务管理利器
`jobs`是Linux终端的利器,用于管理和查看后台任务。它显示当前会话中的作业状态,如运行、停止,可通过`Ctrl+Z`暂停任务,`bg`放后台,`fg`回前台。参数`-l`显示PID,`-n`显示最近状态变化的作业。`jobs`帮助高效监控和管理长时间运行的命令,如在数据分析时。记得使用正确任务编号,谨慎使用`kill`,并定期检查任务状态。
|
12天前
|
消息中间件 Linux 数据处理
Linux命令ipcrm详解:轻松管理IPC对象
`ipcrm`是Linux下用于删除IPC(进程间通信)对象的命令,如消息队列、共享内存和信号量。它通过指定对象ID或键值进行操作,如`-m ID`删除共享内存,`-q ID`删除消息队列,`-s ID`删除信号量。使用时需注意确认对象未被使用,以免影响系统运行。结合`ipcs`命令检查对象详情,并可定期清理不再需要的IPC对象以优化系统资源。
|
12天前
|
存储 Linux 数据库
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
21 3
|
12天前
|
消息中间件 监控 安全
深入解析Linux命令ipcmk:IPC对象管理新视角
`ipcmk`非标准Linux命令,假设的IPC对象创建工具,用于演示如何管理消息队列、信号量和共享内存。虽无此命令,但理解其概念有助于掌握IPC管理。例如,创建命名消息队列`my_mq`,最大1000消息,可模拟使用`ipcmk -t mq -n my_mq -q 1000`。实际操作中,应根据需求选择合适IPC机制,设置安全权限,监控使用并及时清理。
|
17天前
|
消息中间件 存储 监控
实战Linux I/O多路复用:借助epoll,单线程高效管理10,000+并发连接
本文介绍了如何使用Linux的I/O多路复用技术`epoll`来高效管理超过10,000个并发连接。`epoll`允许单线程监控大量文件描述符,显著提高了资源利用率。文章详细阐述了`epoll`的几个关键接口,包括`epoll_create`、`epoll_ctl`和`epoll_wait`,以及它们在处理并发连接中的作用。此外,还探讨了`epoll`在高并发TCP服务场景的应用,展示了如何通过`epoll`和线程/协程池来构建服务框架。
160 3
|
17天前
|
Linux 数据处理 数据安全/隐私保护
Linux中的groups命令:管理用户组信息的利器
`groups`命令在Linux中用于显示用户所属的用户组,帮助管理员进行权限管理。它读取`/etc/group`和`/etc/passwd`文件获取信息,特点是简单直观,支持多用户组。命令参数如`-a`显示主组,`-g`显示主组ID,`-n`以数字形式显示,`-r`显示实际组。在实际应用中,结合其他命令可进行权限分析和定制输出。注意权限问题及用户组可能随系统变化。
|
23天前
|
监控 安全 Linux
Linux服务器如何管理sshd的连接
【6月更文挑战第6天】Linux服务器如何管理sshd的连接
20 4
|
23天前
|
Linux vr&ar 开发者
Linux 命令 `ar` 详解:静态库的管理利器
`ar` 命令是 Linux 管理静态库的工具,常用于创建、修改和提取 `.a` 文件。基本语法为 `ar [选项] 目标文件 [成员...]`。常用选项包括:`rcs` 创建(更新)静态库,`t` 列出成员,`x` 提取成员,`d` 删除成员。注意文件顺序、创建索引、备份和跨平台兼容性。学习和掌握 `ar` 命令能提升系统开发效率。