当前位置: 首页 > 文档资料 > 技术文档 Cookbook >

LVM

优质
小牛编辑
134浏览
2023-12-01

基本概念

创建逻辑卷

创建一个可用的逻辑卷需要五个步骤:

1. 准备物理设备,可以使用完整磁盘、RAID 阵列或 SAN,也可以一块盘上的多个分区,使用 fdisk、gdisk 或 parted 创建新分区,分区类型需设置为 Linux LVM
fdisk /dev/vda
2. 创建物理卷,使用 pvcreate 为分区(或其他物理设备)添加标签,使其作为物理卷与 LVM 结合使用。会将用于存储 LVM 配置数据的一个标头直接写入到 PV。PV 分为多个固定大小的物理范围 (PE)
pvcreate /dev/vda2 /dev/vdb1
3. 创建卷组,vgcreate 用于创建包含一个或多个物理卷的池,称为卷组。VG 的大小由池中物理范围的总数决定。VG 负责通过向 LV 分配空闲 PE 来托管一个或多个逻辑卷
vgcreate vg-alpha /dev/vda2 /dev/vdb1
4. 创建逻辑卷,lvcreate 根据卷组中的可用物理范围创建新的逻辑卷
lvcreate -n hercules -L 2G vg-alpha
5. 添加文件系统,使用 mkfs 在新逻辑卷上创建 xfs 文件系统
mkfs -t xfs /dev/vg-alpha/hercules

删除逻辑卷

删除一个逻辑卷组件需要四个步骤:

1. 准备文件系统, 备份文件,使用 umount 卸载该文件系统,删除与此文件系统关联的任何 /etc/fstab 条目
umount /mnt/hercules
2. 删除逻辑卷,使用 lvremove 删除不再需要的逻辑卷
lvremove /dev/vg-alpha/hercules
3. 删除卷组,使用 vgremove 删除不再需要的卷组
vgremove vg-alpha
4. 删除物理卷,使用 pvremove 删除不再需要的物理卷。使用空格分隔的 PV 设备列表同时删除多个 PV
pvremove /dev/vda2 /dev/vdb1

创建一个逻辑卷

本部分将添加物理卷、卷组、逻辑卷和 XFS 文件系统

1 - 使用 fdisk 创建大小各为 256MiB 的两个分区,并将其类型设置为 Linux LVM
2 - 更新磁盘分区表
2 - 创建 PV
# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.
3 - 创建 VG
# vgcreate test-vg /dev/sda3
  Volume group "test-vg" successfully created
4 - 创建 LV
# lvcreate -n storage -L 200M test-vg
  Logical volume "storage" created.
5 - Add a Persistent File System
# mkfs -t xfs /dev/test-vg/storage
# mkdir /storage
# vim /etc/fstab
/dev/test-vg/storage  /storage  xfs  defaults  1  2
# mount -a

扩展一个逻辑卷

1 - 创建一个新的分区
# fdisk /dev/sda
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.


Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p
Selected partition 4
First sector (897036288-976773167, default 897036288):
Using default value 897036288
Last sector, +sectors or +size{K,M,G} (897036288-976773167, default 976773167): +500M
Partition 4 of type Linux and of size 500 MiB is set

Command (m for help): t
Partition number (1-4, default 4):
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

# partprobe
2 - 创建 PV
# pvcreate /dev/sda4
  Physical volume "/dev/sda4" successfully created.
3 - 扩展 VG
# vgextend test-vg /dev/sda4
  Volume group "test-vg" successfully extended
4 - 扩展 LV
# lvextend -L 700M /dev/test-vg/storage
  Size of logical volume test-vg/storage changed from 200.00 MiB (50 extents) to 700.00 MiB (175 extents).
  Logical volume test-vg/storage successfully resized.
5 - 扩展文件系统
# xfs_growfs /storage/
meta-data=/dev/mapper/test--vg-storage isize=512    agcount=4, agsize=12800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=51200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 51200 to 179200
Note在步骤 5 执行前后分别执行 df -h | grep storage 将会看到文件系统大小的变化。

最后更新:

类似资料

  • 认证(Authentication) 身份验证是大多数现有应用程序的重要组成部分。有许多不同的方法、策略和方法来处理用户授权。我们最终决定使用什幺取决于特定的应用程序要求,并且与它们的需求密切相关。 passport 是目前最流行的 node.js 认证库,为社区所熟知,并相继应用于许多生产应用中。将此工具与 Nest 框架集成起来非常简单。为了演示,我们将设置 passport-http-bea

  • 下面是一个 XML 技术的列表。 XHTML (可扩展 HTML) 更严格更纯净的基于 XML 的 HTML 版本。 XML DOM (XML 文档对象模型) 访问和操作 XML 的标准文档模型。 XSL (可扩展样式表语言) XSL 包含三个部分: XSLT (XSL 转换) - 把 XML 转换为其他格式,比如 HTML XSL-FO (XSL 格式化对象)- 用于格式化 XML 文档的语言

  • AJAX不能独立工作。 它与其他技术结合使用来创建交互式网页。 JavaScript 松散类型的脚本语言。 在页面中发生事件时调用JavaScript函数。 整个AJAX操作的胶水。 DOM 用于访问和操作结构化文档的API。 表示XML和HTML文档的结构。 CSS 允许将演示样式与内容明确分开,并可通过JavaScript以编程方式进行更改 XMLHttpRequest 与服务器执行异步交互的

  • 可能因为是线下面,再加上公司内部信息流通比较快,一天内的上下午就面完了! 我个人还是对公司的业务非常感兴趣的!所以提前看过好几篇公司业务相关的文章 面试官人很nice,我俩基本上是我一答他一回应,所以我在这里重点挑自己印象里答得不好的地方写写。 技术面 堆和栈的区别?堆是怎么样的数据结构? 数组和链表的具体区别呢?优缺点?存取效率? 原型链?可以先答概念,在用Object和Array来解释各个指向

  • 用例是黑盒测试的功能测试,用于根据系统的使用从系统的开始到结束识别测试用例。通过使用这种技术,测试团队创建了一个测试场景,可以从头到尾根据每个功能的功能运行整个软件。 在这种情况下,有一个测试人员代表用户逐个使用系统的功能。在这种情况下,有一个演员代表用户使用软件系统的功能。 这描述了软件应用程序的逐步功能,可以通过一个例子来理解,假设存在在线资金转移的软件应用程序。转账的各个步骤如下: 用户登录

  • 主要内容:动态分区的缺点,需要分页动态分区的缺点 动态分区的主要缺点是外部碎片。 尽管这可以通过压缩来消除,但正如我们前面所讨论的那样,压缩使得系统效率低下。 我们需要找一种替代机制,以更优化的方式加载分区中的进程。 让我们讨论一个称为分页的动态灵活机制。 需要分页 让我们考虑一个大小为2 MB的进程P1和分为三个分区的主内存。 在三个分区中,两个分区是每个大小为1 MB的空洞。 P1需要在主存中加载2 MB空间。 我们有两个1M