26

Debian Linux LVM 配置手册

作者: 本文主要通过实际部署和配置LVM. (Debian 5.0环境) 希望能与大家分享一些经验.文章在不断的修订与完善中.有错误欢迎大家批评指正.谢谢. (文章写的不累.排版很辛苦.受不鸟啦~)

LVM 介绍:

LVM – Logical Volume Manager 是Linux系统下最强大的磁盘管理技术之一.它将您从不得不思考物理容量中解脱出来,代之以逻辑形式来思考这些容量. 当您需要考虑如何替用户数据和系统文件分配空间的时候,LVM可以让您彻底忘记传统的分区做法.

简单地来说,LVM就是将众多物理设备组合成一个大的虚拟设备,用户只需思考如何在虚拟设备上做传统的空间分配策略,而将物理设备的管理交由LVM自己去处理.这个由物理设备组合所成的虚拟设备称为卷组(Volume Group),简称为VG;而用户在卷组VG上所划分的磁盘空间则称为逻辑卷(Logical Volume),简称为LV;而原始物理设备必须经过初始化处理才能加入卷组集合,这种经过特别处理的原始设备或磁盘空间则称为物理卷(Physical Volume),简称为PV.

LVM磁盘空间管理系统允许您在需要的时候重新调整大小, 这也就意味着在管理磁盘空间资源方面, 您将获得极大程度的自由.  基本上这是很有诱惑力的, 但您应该留心硬盘出错的情况,如果您没有在LVM管理中为出现这种情况而做好计划,那么您可能会丢失大量数据.

LVM 术语:

PV – Physical Volume     物理卷,例如一个硬盘,或一个Software RAID设备;
VG – Volume Group       卷组,将一组物理卷收集为一个管理单元;
LV – Logical Volume       逻辑卷,等同于传统分区,可看作便准的块设备,以容纳文件系统;
PE – Physical Extent       物理块,划分物理卷的数据块;
LE – Logical Extent         逻辑块,划分逻辑卷的数据块;

LVM 结构:

为了让大家了解关于LVM的概念和结构.实现方式等.作者花了整整一天时间画了一个图.
突然发现自己的”设计”水准很前卫很潮流. (谁说图片不好看谁就不要看文章了! :-) )

说明: /boot 这个挂载分区不能存在于VG卷组里.所以我们一般是建议单独分区.

使用LVM的基本步骤如下:

1. 安装lvm2 ( apt-get install lvm2 )

2. 使用fdisk分区指定的物理硬盘

3. 使用lvm管理工具进行lvm配置 (建立PV / VG / LV)

4. 格式化已经设置好的LV逻辑卷.挂载到指定目录.

5. 关于如何增加/删除/修改LV逻辑卷大小.请期待第2季.

LVM 配置步骤:

// 查看物理磁盘状态 – 硬盘(容量1GB) /dev/sdb 已经识别

Debian:/home/reistlin# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×0002db3a

Device Boot         Start         End        Blocks    Id   System
/dev/sda1                 1      1033     8297541   83  Linux
/dev/sda2           1034      1305     2184840   82  Linux swap / Solaris

Disk /dev/sdb: 1073 MB, 1073741824 bytes
128 heads, 32 sectors/track, 512 cylinders
Units = cylinders of 4096 * 512 = 2097152 bytes
Disk identifier: 0×00000000

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

// 使用 fdisk 对 /dev/sdb 分区

Debian:/home/reistlin# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0×4e896764.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won’t be recoverable.

Warning: invalid flag 0×0000 of partition table 4 will be corrected by w(rite)

Command (m for help): new
Command action
e   extended
p   primary partition (1-4)

p

Partition number (1-4): 1
First cylinder (1-512, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-512, default 512):
Using default value 512

Command (m for help): m
Command action
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition’s system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

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

Calling ioctl() to re-read partition table.
Syncing disks.

// 查看分区后的物理磁盘信息 – /dev/sdb1 状态正常

Debian:/home/reistlin# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×0002db3a

Device Boot         Start         End        Blocks    Id   System
/dev/sda1                1       1033     8297541   83  Linux
/dev/sda2          1034       1305     2184840   82  Linux swap / Solaris

Disk /dev/sdb: 1073 MB, 1073741824 bytes
128 heads, 32 sectors/track, 512 cylinders
Units = cylinders of 4096 * 512 = 2097152 bytes
Disk identifier: 0×4e896764

Device Boot         Start         End      Blocks      Id   System
/dev/sdb1                1         512     1048560   83  Linux

// 进入 LVM 模式

Debian:/home/reistlin# lvm

// 查看 LVM 磁盘状态 – 目前没有任何 LVM 磁盘信息

lvm> lvmdiskscan
/dev/ram0  [        8.00 MB]
/dev/ram1  [        8.00 MB]
/dev/root    [        7.91 GB]
/dev/ram2  [        8.00 MB]
/dev/sda2   [        2.08 GB]
/dev/ram3  [        8.00 MB]
/dev/ram4  [        8.00 MB]
/dev/ram5  [        8.00 MB]
/dev/ram6  [        8.00 MB]
/dev/ram7  [        8.00 MB]
/dev/ram8  [        8.00 MB]
/dev/ram9  [        8.00 MB]
/dev/ram10 [        8.00 MB]
/dev/ram11 [        8.00 MB]
/dev/ram12 [        8.00 MB]
/dev/ram13 [        8.00 MB]
/dev/ram14 [        8.00 MB]
/dev/ram15 [        8.00 MB]
/dev/sdb     [        1.00 GB]
2 disks
17 partitions
0 LVM physical volume whole disks
0 LVM physical volumes

// 查看 LVM 配置文件 – dump 模式

lvm> dumpconfig
devices {
dir=”/dev”
scan=”/dev”
preferred_names=[]
filter=”a/.*/”
cache_dir=”/etc/lvm/cache”
cache_file_prefix=”"
write_cache_state=1
sysfs_scan=1
md_component_detection=1
ignore_suspended_devices=0
}
activation {
missing_stripe_filler=”/dev/ioerror”
reserved_stack=256
reserved_memory=8192
process_priority=-18
mirror_region_size=512
readahead=”auto”
mirror_log_fault_policy=”allocate”
mirror_device_fault_policy=”remove”
}
global {
umask=63
test=0
units=”h”
activation=1
proc=”/proc”
locking_type=1
fallback_to_clustered_locking=1
fallback_to_local_locking=1
locking_dir=”/var/lock/lvm”
}
shell {
history_size=100
}
backup {
backup=1
backup_dir=”/etc/lvm/backup”
archive=1
archive_dir=”/etc/lvm/archive”
retain_min=10
retain_days=30
}
log {
verbose=0
syslog=1
overwrite=0
level=0
indent=1
command_names=0
prefix=”  ”
}

// 创建 Physical Volume (PV)

lvm> pvcreate
Please enter a physical volume path
lvm> pvcreate /dev/sdb1
Physical volume “/dev/sdb1″ successfully created

// 查看 Physical Volume (PV) 状态

lvm> pvdisplay
CTRL-c detected: giving up waiting for lock
— Physical volume —
PV Name            /dev/sdb1
VG Name            vg_test
PV Size               1023.98 MB / not usable 3.98 MB
Allocatable         yes (but full)
PE Size (KByte)    4096
Total PE              255
Free PE                0
Allocated PE       255
PV UUID              SwfyW5-veGN-1Ptd-VIUo-0I3I-CdVB-QF7BwC

// 再次查看 LVM 磁盘状态

lvm> lvmdiskscan
/dev/ram0  [        8.00 MB]
/dev/ram1  [        8.00 MB]
/dev/root    [        7.91 GB]
/dev/ram2  [        8.00 MB]
/dev/sda2  [        2.08 GB]
/dev/ram3  [        8.00 MB]
/dev/ram4  [        8.00 MB]
/dev/ram5  [        8.00 MB]
/dev/ram6  [        8.00 MB]
/dev/ram7  [        8.00 MB]
/dev/ram8  [        8.00 MB]
/dev/ram9  [        8.00 MB]
/dev/ram10 [        8.00 MB]
/dev/ram11 [        8.00 MB]
/dev/ram12 [        8.00 MB]
/dev/ram13 [        8.00 MB]
/dev/ram14 [        8.00 MB]
/dev/ram15 [        8.00 MB]
/dev/sdb1   [     1023.98 MB] LVM physical volume
1 disk
17 partitions
0 LVM physical volume whole disks
1 LVM physical volume

// 创建 Volume Group (VG)

lvm> vgcreate vg_test
Please enter physical volume name(s)
lvm> vgcreate vg_test /dev/sdb1
Volume group “vg_test” successfully created

// 查看 Volume Group (VG) 状态

lvm> vgdisplay
— Volume group —
VG Name                vg_test
System ID
Format                    lvm2
Metadata Areas       1
Metadata Sequence No  1
VG Access           read/write
VG Status            resizable
MAX LV                0
Cur LV                 0
Open LV              0
Max PV                0
Cur PV                 1
Act PV                 1
VG Size               1020.00 MB
PE Size                4.00 MB
Total PE              255
Alloc PE / Size    0 / 0
Free  PE / Size    255 / 1020.00 MB
VG UUID             Dbm7gQ-HDao-0z2Z-2u3q-XK9A-bmEv-ES3qC0

// 创建 Logical Volume (LV) – 如果需要使用全部VG空间. 输入 -l <Total PE> 的值.
// <Total PE> 的值可以使用 vgdisplay 命令查看: Total PE = 255

lvm> lvcreate -l 255 vg_test -n lv_test
Logical volume “lv_test” created

// 查看 Logical Volume (LV) 状态

lvm> lvdisplay
— Logical volume —
LV Name                /dev/vg_test/lv_test
VG Name                vg_test
LV UUID                 l3GUct-M3nG-m837-wOe2-4EWo-ZPU6-xskaq8
LV Write Access     read/write
LV Status               available
# open                   0
LV Size                  1020.00 MB
Current LE             255
Segments              1
Allocation              inherit
Read ahead sectors  auto
- currently set to     256
Block device             254:0

// 输入 exit 退出 LVM 配置模式. Ext3 格式化 lv_test 逻辑卷

Debian:/home/reistlin# mkfs -t ext3 -j /dev/vg_test/lv_test
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
65280 inodes, 261120 blocks
13056 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

// 挂载 lv_test 逻辑卷到 /mnt 目录. 你也可以挂载到 /home 目录

Debian:/home/reistlin# mount /dev/vg_test/lv_test /mnt
Debian:/home/reistlin# cd /mnt

// 测试文件读写. Reistlin.Com. OKay.

Debian:/mnt# vim Reistlin.Com
Debian:/mnt# cat Reistlin.Com
Welcome to Reistlin.Com

( *更新中* 原始链接: http://www.reistlin.com/blog/493)

原载: OwnLinux.cn
原文标题: Debian Linux LVM 配置手册
原文链接:http://www.ownlinux.cn/2009/03/26/debian-linux-lvm.html
OwnLinux.cn 版权所有,转载时必须以链接形式注明作者和原始出处及本声明。否则,请勿转载!!


任何商业网站未经许可请勿转摘!本站将保留追究其法律责任的权利。

阅读相关内容

没有评论

第一个在本文留言。

发表评论

名字(必须)
邮箱(不会被公布)(必须)
网址
  • :em48:
  • :em01:
  • :em44:
  • :em29:
  • :em30:
  • :em56:
  • :em36:
  • :em04:
  • :em65:
  • :em59:
  • :em64:
  • :em54:
  • :em25:
  • :em34:
  • :em13:
  • :em37:
  • :em09:
  • :em08:
  • :em57:
  • :em06:
  • :em16:
  • :em31:
  • :em46:
  • :em10:
  • :em17:
  • :em62:
  • :em60:
  • :em61:
  • :em52:
  • :em07:
  • :em12:
  • :em20:
  • :em39:
  • :em38:
  • :em68:
  • :em53:
  • :em19:
  • :em35:
  • :em45:
  • :em66:
  • :em21:
  • :em72:
  • :em24:
  • :em14:
  • :em28:
  • :em71:
  • :em11:
  • :em47:
  • :em41:
  • :em55:
  • :em03:
  • :em58:
  • :em15:
  • :em42:
  • :em49:
  • :em18:
  • :em70:
  • :em43:
  • :em33:
  • :em67:
  • :em69:
  • :em23:
  • :em22:
  • :em50:
  • :em02:
  • :em63:
  • :em32:
  • :em27:
  • :em26:
  • :em05:
  • :em40:
  • :em51:

字体为 粗体 是必填项目,邮箱地址 永远不会 公布。

允许部分 HTML 代码:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URLs(网站链接)必须完整有效 (比如: http://www.ownlinux.cn),所有标签都必须完整的关闭。

超出部分系统将会自动分段及换行。

请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 可能 会被编辑或删除。

    站内搜索

    赞助商

    标签

    最近访问