前言:
Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。随着Linux的逻辑盘卷管理功能的出现,用户可以在无需停机的情况下方便地调整各个分区大小。
基本知识介绍:
关于物理存储介质(The physical media)
这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
物理卷(physicalvolume)
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个"LVM分区"(逻辑卷),LVM卷组由一个或多个物理卷组成。
逻辑卷(logicalvolume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
LE(logical extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
关于逻辑卷的创建步骤如下:
这里创建逻辑分区 /dev/mapper/data-data001
lsblk命令用于列出所有可用块设备的信息
[root@dn4 dev]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 278.9G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 277.7G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 27.6G 0 lvm [SWAP]
└─centos-home 253:2 0 200G 0 lvm /home
sdb 8:16 0 14.6T 0 disk
└─sdb1 8:17 0 14.6T 0 part /home/hadoop/dfs/data
sdc 8:32 0 14.6T 0 disk
├─sdc2 8:34 0 10G 0 part
└─sdc4 8:36 0 30G 0 part
sdd 8:48 0 7.3T 0 disk
├─sdd1 8:49 0 10G 0 part
└─sdd2 8:50 0 20G 0 part
sr0 11:0 1 1024M 0 rom
df命令用于显示磁盘分区上的可使用的磁盘空间
[root@dn4 dev]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 4.7G 42G 11% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 26M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda2 1014M 172M 843M 17% /boot
/dev/sda1 200M 9.8M 191M 5% /boot/efi
/dev/mapper/centos-home 197G 65M 187G 1% /home
/dev/sdb1 15T 19M 14T 1% /home/hadoop/dfs/data
tmpfs 3.2G 0 3.2G 0% /run/user/1001
tmpfs 3.2G 0 3.2G 0% /run/user/0
首先使用sdc2创建基于磁盘的物理卷(pv)
[root@dn4 dev]# pvcreate /dev/sdc2
Physical volume "/dev/sdc2" successfully created.
查看物理卷创建是否成功(pvdisplay)
[root@dn4 dev]# pvdisplay /dev/sdc2
"/dev/sdc2" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc2
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID NOOIT5-M6F3-0VvE-39Af-m6bf-h6oL-KR1C1L
创建data卷组(vg):
[root@dn4 dev]# vgcreate data /dev/sdc2
Volume group "data" successfully created
查看卷组是否创建成功(vgdisplay):
[root@dn4 dev]# vgdisplay data
--- Volume group ---
VG Name data
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 <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 0 / 0
Free PE / Size 2559 / <10.00 GiB
VG UUID 1s5sWc-0pkc-ADXJ-5qh9-I82F-c2OE-hA4VGY
激活卷组(vgchange)
[root@dn4 dev]# vgchange -a y data
0 logical volume(s) in volume group "data" now active
创建逻辑卷(lvcreate)并挂载:
创建指定大小的逻辑卷LV
[root@dn4 dev]# lvcreate -L 5G -n data001 data
Logical volume "data001" created.
查看Free PE
[root@dn4 dev]# vgdisplay data|grep "Free"
Free PE / Size 1279 / <5.00 GiB
格式化逻辑卷
[root@dn4 dev]# mkfs.ext4 /dev/data/data001
挂载
[root@dn4 dev]# mount /dev/data/data001 /home/fdse/test
删除示例(需要先umount)
删除逻辑卷 lv
[root@dn4 dev]# lvremove /dev/data/data001
Do you really want to remove active logical volume data/data001? [y/n]: y
Logical volume "data001" successfully removed
删除卷组 vg
[root@dn4 dev]# vgremove data
Volume group "data" successfully removed
删除物理卷
[root@dn4 dev]# pvremove /dev/sdd2
Labels on physical volume "/dev/sdd2" successfully wiped.
关于逻辑卷的扩容步骤如下:
创建新的物理卷
[root@dn4 dev]# pvcreate /dev/sdd2
Physical volume "/dev/sdd2" successfully created.
将新的物理卷添加到现有卷组:
[root@dn4 dev]# vgextend data /dev/sdd2
Volume group "data" successfully extended
扩充data001大小(lsblk 显示改变)
[root@dn4 dev]# lvextend -L +20G /dev/data/data001
Size of logical volume data/data001 changed from 5.00 GiB (1280 extents) to 25.00 GiB (6400 extents).
Logical volume data/data001 successfully resized.
查看lsblk
[root@dn4 dev]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 278.9G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 277.7G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 27.6G 0 lvm [SWAP]
└─centos-home 253:2 0 200G 0 lvm /home
sdb 8:16 0 14.6T 0 disk
└─sdb1 8:17 0 14.6T 0 part /home/hadoop/dfs/data
sdc 8:32 0 14.6T 0 disk
├─sdc2 8:34 0 10G 0 part
│ └─data-data001 253:3 0 25G 0 lvm /home/fdse/test
└─sdc4 8:36 0 30G 0 part
sdd 8:48 0 7.3T 0 disk
├─sdd1 8:49 0 10G 0 part
└─sdd2 8:50 0 20G 0 part
└─data-data001 253:3 0 25G 0 lvm /home/fdse/test
sr0 11:0 1 1024M 0 rom
扩充文件系统(df –h 会改变)
[root@dn4 dev]# resize2fs /dev/data/data001
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/data/data001 is mounted on /home/fdse/test; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/data/data001 is now 6553600 blocks long.
查看df –h
[root@dn4 dev]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 4.7G 42G 11% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 26M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda2 1014M 172M 843M 17% /boot
/dev/sda1 200M 9.8M 191M 5% /boot/efi
/dev/mapper/centos-home 197G 65M 187G 1% /home
/dev/sdb1 15T 19M 14T 1% /home/hadoop/dfs/data
tmpfs 3.2G 0 3.2G 0% /run/user/1001
tmpfs 3.2G 0 3.2G 0% /run/user/0
/dev/mapper/data-data001 25G 28M 24G 1% /home/fdse/tes
详细命令介绍可以通过以下页面查询
http://man.linuxde.net