摘要: 使用 Debian Linux 下的 lvm2 配置 LVM 磁盘系统 作者: By REISTLIN [雷斯林] MSN: Rexxxxxx@hotmail.com QQ: 3A984 版权: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要. 本文出自:http://www.reistlin.com/blog/493
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
(责任编辑:admin) |