gtxyzz

Debian Linux LVM配置手册

gtxyzz 运维技术 2022-11-07 373浏览 0

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的概念和结构.实现方式等.作者花了整整一天时间画了一个图.

突然发现自己的”设计”水准很前卫很潮流. (谁说图片不好看谁就不要看文章了! :-))

Debian Linux 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, default1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-512, default512):

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

#p#

// 进入 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 的值.

// 的值可以使用 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

继续浏览有关 系统运维 的文章
发表评论