前言
物理卷(physical volume):一个分区(比如windows下的c盘或者linux下的/dev/sda1注意是/dev/sda1不是/dev/sda。这是有区别的,/dev/sda指的是未经过格式化的磁盘。这里物理卷指的是一个经过格式化的分区。如何分区请参考:https://www.jianshu.com/p/520b3a405014
卷组(Volume Group):多个物理卷的集合。卷组是不能直接使用的。
逻辑卷(logical volume):在卷组上开辟的空间,你可以将卷组,想成是一块拼接在一起的巨大未格式化的磁盘(这个磁盘还可以不断的有新的磁盘加进来)。而逻辑卷就是从这个卷组中格式化的分区。
PE(physical extent):整个卷组可以看成是由很多的PE构成的,PE的大小是可配置的,默认为4MB。简称pe。
LE(logical extent):当卷组中开辟出了逻辑卷时,这个逻辑卷的基本组成单元就是LE,大小和PE相同并且也是一一对应的。
LVM制作步骤
1.创建LVM分区类型:方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。
创建完分区以后用t修改分区类型为8e
2.创建一个逻辑卷需要经过以下几个步骤;
创建物理卷(PV)-->创建卷组(VG)-->创建卷组(LV)
3.创建物理卷
创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷
用法:
创建物理卷
把我分区的sdb1创建为物理卷
[root@localhost /]#
[root@localhost /]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
[root@localhost /]#
使用 pvdisplay /dev/sdb1 可以查看刚刚创建的物理卷的信息【注:使用pvs也可以查看,但没有pvdisplay信息详细】
[root@localhost /]#
[root@localhost /]# pvdisplay /dev/sdb1
"/dev/sdb1" is a new physical volume of "509.84 MiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 509.84 MiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID gh3iwt-c61F-AvJx-AEUT-Wwfy-2Zte-IVMtRD
[root@localhost /]#
使用pvs查看物理卷信息
[root@localhost /]#
[root@localhost /]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup lvm2 a-- 9.51g 0
/dev/sdb1 lvm2 --- 509.84m 509.84m
[root@localhost /]#
创建卷组
- 创建卷组的命令为vgcreate
vgcreate VGNAME /dev/sdb1 vgcreate命令第一个参数是指定该卷组的逻辑名,后面参数是指定希望添加到该卷组的所有分区和磁盘,PE大小决定了逻辑卷的最大大小,
4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE。
PE大小范围为8KB到512MB,并且必须总是2的倍数(使用-s指定)。
vgdisplay 查看卷组的信息;vgs也可以查看;
创建卷组名为:stone_vg,把物理卷的sdb1加如到stone_vg 卷组中
[root@localhost /]#
[root@localhost /]# vgcreate stone_vg /dev/sdb1
Volume group "stone_vg" successfully created
[root@localhost /]#
使用vgdisplay 查看我们刚才创建的卷组详细信息
[root@localhost /]# vgdisplay
--- Volume group ---
VG Name stone_vg
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 508.00 MiB
PE Size 4.00 MiB
Total PE 127
Alloc PE / Size 0 / 0
Free PE / Size 127 / 508.00 MiB
VG UUID Mk2bwW-I6d9-qbiJ-8S23-3KuA-WStG-AMvN8C
创建逻辑卷
创建逻辑卷的命令
lvcreate -L SIZE -n LV_NAME VG_NAME
lvdisplay 查看创建的详细信息 vgs也可以查看
创建大小为500M 逻辑卷名字my_stone_lv,从stone_vg中添加
[root@localhost /]# lvcreate -L 500M -n my_stone_lv stone_vg
Logical volume "my_stone_lv" created
[root@localhost /]#
使用 lvdisplay 详细查看我们刚才创建的逻辑卷信息
[root@localhost /]# lvdisplay
--- Logical volume ---
LV Path /dev/stone_vg/my_stone_lv
LV Name my_stone_lv
VG Name stone_vg
LV UUID sl0TEZ-Ezba-pNu7-DMkc-Lb5d-Plt7-luJlHp
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2018-09-03 00:55:59 +0800
LV Status available
# open 0
LV Size 500.00 MiB
Current LE 125
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
创建文件系统【即格式化,这里我们格式化为ext4文件系统】
[root@localhost /]# mkfs.ext4 /dev/stone_vg/my_stone_lv
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=67633152
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost /]#
(格式化成功)
创建了文件系统以后,就可以加载并使用它
mount 逻辑卷路径 挂载点
[root@localhost /]# mount /dev/stone_vg/my_stone_lv /mnt/
[root@localhost /]#
[root@localhost /]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
ext4 8.3G 652M 7.3G 9% /
tmpfs tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 ext4 477M 25M 427M 6% /boot
/dev/mapper/stone_vg-my_stone_lv
ext4 477M 2.3M 449M 1% /mnt
[root@localhost /]#
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 420.8M 0 rom
sda 8:0 0 10G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 9.5G 0 part
├─VolGroup-lv_swap (dm-0) 253:0 0 996M 0 lvm [SWAP]
└─VolGroup-lv_root (dm-1) 253:1 0 8.5G 0 lvm /
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 509.9M 0 part
└─stone_vg-my_stone_lv (dm-2) 253:2 0 500M 0 lvm /mnt
sdc 8:32 0 1G 0 disk
sdd 8:48 0 1G 0 disk
sde 8:64 0 1G 0 disk
[root@localhost /]#
移除我们创建的LVM
需要先umount掉正在使用的lvm
umount /dev/mapper/stone_vg-my_stone_lv
移除逻辑卷
使用 lvremove /dev/mapper/stone_vg-my_stone_lv
[root@localhost /]#
[root@localhost /]# lvremove /dev/mapper/stone_vg-my_stone_lv
Do you really want to remove active logical volume my_stone_lv? [y/n]: y #输入 y
Logical volume "my_stone_lv" successfully removed
[root@localhost /]#
[root@localhost /]#
移除卷组
vgremove VG_NAME
[root@localhost /]#
[root@localhost /]# vgremove stone_vg
Volume group "stone_vg" successfully removed
[root@localhost /]#
移除物理卷
pvremove
[root@localhost /]#
[root@localhost /]# pvremove /dev/sdb1
Labels on physical volume "/dev/sdb1" successfully wiped
[root@localhost /]#
使用lsblk查看,sdb1已经没有了lvm
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 420.8M 0 rom
sda 8:0 0 10G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 9.5G 0 part
├─VolGroup-lv_swap (dm-0) 253:0 0 996M 0 lvm [SWAP]
└─VolGroup-lv_root (dm-1) 253:1 0 8.5G 0 lvm /
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 509.9M 0 part
sdc 8:32 0 1G 0 disk
sdd 8:48 0 1G 0 disk
sde 8:64 0 1G 0 disk
[root@localhost /]#