目录
一、准备物理分区(Physical Partions)
首先,我们要选择用于 LVM 的物理存储器(磁盘)。
这里我利用fdisk命令,将sdb、sdc、sdd 三块磁盘分了三个区sdb1、sdc1、sdd1, 通过fdisk的t指令指定分区为8e类型(Linux LVM) ,最后一定要注意输入w进行保存修改。
如下:
[root@server3 ~]# fdisk -l #查看添加磁盘
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@server3 ~]# fdisk /dev/sdb #对磁盘/dev/sdb 设置修改
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x24789b1c 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n #新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t #更改类型
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e #指定system id为8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w #保存设置,退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
同样sdc、sdd 也是一样的操作。
最后用 fdisk -l 查看分区是否成功!
[root@server3 ~]# fdisk -l
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x184155e5
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 8e Linux LVM
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x24789b1c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 8e Linux LVM
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe9b3ac39
设备 Boot Start End Blocks Id System
/dev/sdd1 2048 41943039 20970496 8e Linux LVM
二、创建物理卷PV(Physical Volumes)
在这里可以使用pvcreate /dev/sd[b…c]1,也可以一个一个设置。
[root@server3 ~]# pvcreate /dev/sdb1 # 如果没有pvcreate\命令,可以使用yum install -y lvm2进行安装
Physical volume "/dev/sdb1" successfully created.
[root@server3 ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created.
[root@server3 ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.
三、创建卷组VG(Volume Groups),命名为vgtest
[root@server3 ~]# vgcreate vgtest /dev/sd[b,c,d]1
Volume group "vgtest" successfully created
四、创建逻辑卷LV(Logical Volumes) ,命名为lvtest
创建逻辑卷的命令为lvcreate,-l 参数为定PE数来设定逻辑分区大小,也可以使用-L参数直接指定逻辑分区大小,-n参数指定逻辑分区名称。
要输入的命令:
[root@server3 ~]# lvcreate -L 30G -n lvtest vgtest
Logical volume "lvtest" created.
[root@server3 ~]# lvdisplay #查看逻辑卷详细配置
--- Logical volume ---
LV Path /dev/centos/swap
...
--- Logical volume ---
LV Path /dev/vgtest/lvtest
LV Name lvtest #逻辑卷名
VG Name vgtest #卷组名
LV UUID LgBQPQ-32ek-LpBt-uIz4-rwWO-sF6T-fpVa3B
LV Write Access read/write
LV Creation host, time server3, 2020-10-29 21:57:18 +0800
LV Status available
# open 0
LV Size 30.00 GiB #逻辑卷大小
Current LE 7680
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
五、创建文件系统并挂载
在逻辑卷上创建ext4文件系统:
[root@server3 ~]# mkfs -t ext4 /dev/vgtest/lvtest #格式化为EXT4格式
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1966080 inodes, 7864320 blocks
393216 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2155872256
240 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@server3 ~]# mkdir /data #建立挂在目录
[root@server3 ~]# mount /dev/vgtest/lvtest /data #挂在磁盘
[root@server3 ~]# df -Th #查看挂在详情
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 39G 4.4G 34G 12% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
/dev/sda1 xfs 1014M 179M 836M 18% /boot
/dev/mapper/centos-home xfs 19G 33M 19G 1% /home
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vgtest-lvtest ext4 30G 45M 28G 1% /data #挂在完成
六、动态调整LVM分区大小
LVM的最大好处就是可以动态地调整分区大小,而无须重新启动,下面让我们来体验一下吧!
假设逻辑卷 /dev/vgtest/lvtest空间不足,卷组中有剩余的空间时,需要增加逻辑卷的大小。
通过vgdisplay命令可以检查当前卷组空间使用情况:
[root@server3 ~]# vgdisplay #查看卷组信息
--- Volume group ---
VG Name centos
System ID
...
--- Volume group ---
VG Name vgtest
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <59.99 GiB
PE Size 4.00 MiB
Total PE 15357
Alloc PE / Size 7680 / 30.00 GiB #已用30G
Free PE / Size 7677 / <29.99 GiB #未用29.99G
VG UUID 2vVzuU-29ts-ZidF-gHJw-2tq2-fm4v-e5RKys
在这里给逻辑卷 /dev/vgtest/lvtest 增加 5 G的空间,最后通过resize2fs来修改文件系统的大小:
[root@server3 ~]# lvextend -L +5G /dev/vgtest/lvtest
Size of logical volume vgtest/lvtest changed from 30.00 GiB (7680 extents) to 35.00 GiB (8960 extents).
Logical volume vgtest/lvtest successfully resized.
[root@server3 ~]# resize2fs /dev/vgtest/lvtest
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vgtest/lvtest is mounted on /data; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 5
The filesystem on /dev/vgtest/lvtest is now 9175040 blocks long.
再次查看文件系统的容量是否变化。
[root@server3 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 39G 4.4G 34G 12% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.1M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
/dev/sda1 xfs 1014M 179M 836M 18% /boot
/dev/mapper/centos-home xfs 19G 33M 19G 1% /home
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/vgtest-lvtest ext4 35G 48M 33G 1% /data #容量更改为35G