LVM的入门指南

版本1.0
作者:Falko Timme
最后更新:2015-02-09

本指南介绍如何在Linux上使用LVM(逻辑卷管理)。 它还描述了如何在一个额外的章节中将RAID与RAID1一起使用。 由于LVM是一个相当抽象的主题,本文附带了可以下载并启动的Debian Etch VMware映像,在该Debian Etch系统中,您可以运行我在此处执行的所有命令,并将我们的结果与我们进行比较。 通过这种实用的方法,您应该很快用于LVM。

但是,我不保证本教程将为您工作!

1初步说明

本教程的灵感来自于我阅读的两篇文章:

这些都是伟大的文章,但如果您以前从未使用过LVM,很难理解。 这就是为什么我创建了可以在VMware Server或VMware Player中下载并运行的Debian Etch VMware映像 (请参阅https://www.youcl.com/info/7256了解如何执行此操作)。

我在Debian Etch系统的本指南过程中安装了我们需要的所有工具(通过运行)

apt-get install lvm2 dmsetup mdadm reiserfsprogs xfsprogs

),所以你不需要担心。

Debian Etch系统的网络通过DHCP配置,所以您不必担心IP地址冲突。 root密码是youcl 。 您还可以使用像PuTTY这样的SSH客户端连接到该系统。 要查找Debian Etch系统的IP地址,请运行

ifconfig

该系统有六个SCSI硬盘, / dev / sda - / dev / sdf/ dev / sda用于Debian蚀刻系统本身,而我们将使用/ dev / sdb - / dev / sdf作为LVM和RAID。 / dev / sdb - / dev / sdf每个都有80GB的磁盘空间。 在开始的时候,我们会像每个磁盘空间只有25GB(因此每个磁盘空间只能使用25GB),而在本教程中,我们将用“80GB”的硬盘“替换”我们的25GB硬盘,从而展现了如何您可以在LVM中更换较小的硬盘。

文章http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html使用250GB和800GB的硬盘,但是某些命令(如pvmove)很长一段时间,这样的硬盘大小,这就是为什么我决定使用25GB和80GB的硬盘(这足以理解LVM如何工作)。

1.1总结

下载此Debian Etch VMware映像 (〜310MB),并启动它。 以root用户身份登录密码youcl

2 LVM布局

基本上LVM看起来像这样:

您有一个或多个物理卷(在我们的示例中为/ dev / sdb1 - / dev / sde1 ),并且在这些物理卷上,您创建一个或多个卷组(例如, fileserver ),并且在每个卷组中,您可以创建一个或多个逻辑卷。 如果使用多个物理卷,则每个逻辑卷可能大于底层物理卷之一(但当然逻辑卷的总和不能超过物理卷提供的总空间)。

将逻辑卷的全部空间分配到一个很好的做法,但是会留下一些空间。 这样,您可以稍后放大一个或多个逻辑卷,如果您需要它。

在这个例子中,我们将创建一个名为fileserver的卷组,我们还将创建逻辑卷/ dev / fileserver / share/ dev / fileserver / backup/ dev / fileserver / media (这将只占用一半的空间由我们现在的物理卷提供 - 这样我们可以在稍后(也在本教程中介绍)中切换到RAID1。

3我们的第一个LVM设置

我们来看看我们的硬盘:

fdisk -l

输出如下所示:

server1:~# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          18      144553+  83  Linux
/dev/sda2              19        2450    19535040   83  Linux
/dev/sda4            2451        2610     1285200   82  Linux swap / Solaris

Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table

Disk /dev/sdd: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn't contain a valid partition table

Disk /dev/sde: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sde doesn't contain a valid partition table

Disk /dev/sdf: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdf doesn't contain a valid partition table

/ dev / sdb - / dev / sdf上没有分区。 我们将创建分区/ dev / sdb1/ dev / sdc1/ dev / sdd1/ dev / sde1 ,现在让/ dev / sdf保持原样。 我们现在的行为就好像我们的硬盘现在只有25GB的空间而不是80GB,因此我们将/ dev / sdb1/ dev / sdc1/ dev / sdd1/ dev / sde1分配给25GB。

fdisk /dev/sdb

server1:〜#fdisk / dev / sdb

此磁盘的柱面数设置为10443。
没有什么问题,但是这大于1024,
并且在某些设置中可能会导致以下问题:
1)在引导时运行的软件(例如,LILO的旧版本)
2)从其他操作系统启动和分区软件
(例如DOS FDISK,OS / 2 FDISK)

命令(m为帮助): < - m
命令行动
一个可启动标志的切换
b编辑bsd disklabel
c切换dos兼容性标志
d删除一个分区
l列出已知的分区类型
m打印此菜单
n添加一个新的分区
o创建一个新的空DOS分区表
p打印分区表
q退出而不保存更改
s创建一个新的空的Sun磁盘标签
t更改分区的系统ID
u更改显示/输入单位
v验证分区表
w将表写入磁盘并退出
x额外功能(仅限专家)

命令(m帮助): < - n
命令行动
e扩展
p主分区(1-4)
< - p
分区号(1-4): < - 1
第一个圆筒(1-10443,默认为1): < - <ENTER>
使用默认值1
最后一个圆柱体或+大小或+ sizeM或+ sizeK(1-10443,默认为10443): < - + 25000M

命令(m为帮助): < - t
所选分区1
十六进制代码(L型列表代码): < - L

0空1e隐藏W95 FAT1 80旧Minix是Solaris启动
1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris
2 XENIX root 39计划9 82 Linux交换/ So c1 DRDOS / sec(FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS / sec(FAT-
4 FAT16 <32M 40 Venix 80286 84 OS / 2隐藏C:c6 DRDOS /秒(FAT-
5扩展41 PPC PReP引导85 Linux扩展c7 Syrinx
6 FAT16 42 SFS 86 NTFS卷集da非FS数据
7 HPFS / NTFS 4d QNX4.x 87 NTFS卷集db CP / M / CTOS /。
8 AIX 4e QNX4.x第2部分88 Linux纯文本戴尔实用程序
9 AIX可启动4f QNX4.x第3部分8e Linux LVM df BootIt
OS / 2 Boot Manag 50 OnTrack DM 93变形虫e1 DOS访问
b W95 FAT32 51 OnTrack DM6 Aux 94变形虫BBT e3 DOS R / O
c W95 FAT32(LBA)52 CP / M 9f BSD / OS e4 SpeedStor
e W95 FAT16(LBA)53 OnTrack DM6 Aux a0 IBM Thinkpad Hi eb BeOS fs
f W95 Ext'd(LBA)54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI(FAT-12/16 /
11隐藏FAT12 56金弓a7 NeXTSTEP f0 Linux / PA-RISC b
12 Compaq diagnostics 5c Priam Edisk a8达尔文UFS f1 SpeedStor
14隐藏FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16隐藏FAT16 63 GNU HURD或Sys ab达尔文启动f2 DOS二级
17 Hidden HPFS / NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI交换fe LANstep
1b隐藏W95 FAT3 70 DiskSecure多bb启动向导隐藏ff BBT
1c隐藏W95 FAT3 75 PC / IX
十六进制代码(类型L列出代码): < - 8e
更改系统类型的分区1到8e(Linux LVM)

命令(m为帮助): < - w
分区表已被更改!

调用ioctl()重新读取分区表。
同步磁盘

现在我们对硬盘/ dev / sdc - / dev / sde做同样的事情:

fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde

然后跑

fdisk -l

再次。 输出应如下所示:

server1:~# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          18      144553+  83  Linux
/dev/sda2              19        2450    19535040   83  Linux
/dev/sda4            2451        2610     1285200   82  Linux swap / Solaris

Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        3040    24418768+  8e  Linux LVM

Disk /dev/sdc: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        3040    24418768+  8e  Linux LVM

Disk /dev/sdd: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1        3040    24418768+  8e  Linux LVM

Disk /dev/sde: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1        3040    24418768+  8e  Linux LVM

Disk /dev/sdf: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdf doesn't contain a valid partition table

现在我们为LVM准备新的分区:

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdc1" successfully created
  Physical volume "/dev/sdd1" successfully created
  Physical volume "/dev/sde1" successfully created

为了训练目的,让我们回顾一下这个最后一个动作:

pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
server1:~# pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
  Labels on physical volume "/dev/sdb1" successfully wiped
  Labels on physical volume "/dev/sdc1" successfully wiped
  Labels on physical volume "/dev/sdd1" successfully wiped
  Labels on physical volume "/dev/sde1" successfully wiped

然后跑

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

再次:

server1:~# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdc1" successfully created
  Physical volume "/dev/sdd1" successfully created
  Physical volume "/dev/sde1" successfully created

现在跑

pvdisplay

了解您的体积的当前状态:

server1:~# pvdisplay
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               23.29 GB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               G8lu2L-Hij1-NVde-sOKc-OoVI-fadg-Jd1vyU

  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name
  PV Size               23.29 GB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               40GJyh-IbsI-pzhn-TDRq-PQ3l-3ut0-AVSE4B

  --- NEW Physical volume ---
  PV Name               /dev/sdd1
  VG Name
  PV Size               23.29 GB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               4mU63D-4s26-uL00-r0pO-Q0hP-mvQR-2YJN5B

  --- NEW Physical volume ---
  PV Name               /dev/sde1
  VG Name
  PV Size               23.29 GB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               3upcZc-4eS2-h4r4-iBKK-gZJv-AYt3-EKdRK6
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏