准备磁盘分区

  • fdisk /dev/sdb

[root@linux1 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

  • n 创建三个新分区,分别1G

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB
  • t 改变分区类型为8e

命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p  #查看信息

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5ee022a3

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM

保存退出

fdisk -l 查看磁盘信息

[root@linux1 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a6fe6

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

#如下就是要找的信息 dev、sdb1-3 转成 8e了
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5ee022a3

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM

磁盘 /dev/mapper/centos_linux1-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos_linux1-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

准备物理卷

pvcreate 需要安装:yum install -y lvm

如果不记得包名可以根据命令去搜索:yum provides "/*/pvareate"

centos 7 lvm用法_第1张图片

fdisk -l /dev/sdb

[root@linux1 ~]# fdisk -l /dev/sdb

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5ee022a3

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM


partprobe 自动生成文件的命令

  • pvcreate /dev/sdb1

  • pvcreate /dev/sdb2

  • pvcreate /dev/sdb3

[root@linux1 ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
[root@linux1 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@linux1 ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.


  • pvdisplay 列出当前的物理卷 #pvs

centos 7 lvm用法_第2张图片

[root@linux1 ~]# pvs
  PV         VG            Fmt  Attr PSize   PFree
  /dev/sda2  centos_linux1 lvm2 a--  <19.00g    0 
  /dev/sdb1                lvm2 ---    1.00g 1.00g
  /dev/sdb2                lvm2 ---    1.00g 1.00g
  /dev/sdb3                lvm2 ---    1.00g 1.00g
  • pvremove /dev/sdb3 删除物理卷

[root@linux1 ~]# pvremove /dev/sdb3
  Labels on physical volume "/dev/sdb3" successfully wiped.

vgcreate vg1 /dev/sdb1 /dev/sdb2

[root@linux1 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
  Volume group "vg1" successfully created

vgs #查看卷组

[root@linux1 ~]# vgs
  VG            #PV #LV #SN Attr   VSize   VFree
  centos_linux1   1   2   0 wz--n- <19.00g    0 
  vg1             2   0   0 wz--n-   1.99g 1.99g

lvcreate -L 100M -n 1v1 vg1 

[root@linux1 ~]# lvcreate -L100M -n 1v1 vg1
  Logical volume "1v1" created.    #创建逻辑卷“1 v1”。


mkfs.ext4 /dev/vg1/1v1 #格式化成ext4

[root@linux1 ~]# lvcreate -L100M -n 1v1 vg1
  Logical volume "1v1" created.
[root@linux1 ~]# mkfs.ext4 /dev/vg1/1v1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

mount /dev/vg1/1v1 /mnt/ #进行挂载

[root@linux1 ~]# mount /dev/vg1/1v1 /mnt/

ls -l /dev/vg1/1v1 #查看

[root@linux1 ~]# ls -l /dev/vg1/1v1
lrwxrwxrwx. 1 root root 7 11月  7 09:51 /dev/vg1/1v1 -> ../dm-2

ls -l /dev/mapper/vg1-1v1

[root@linux1 ~]# ls -l /dev/mapper/vg1-1v1
lrwxrwxrwx. 1 root root 7 11月  7 09:51 /dev/mapper/vg1-1v1 -> ../dm-2

mkdir /mnt/1212 #目录

touch /mnt/12.txt #创建文件

echo "11111111" > /mnt/23.txt

[root@linux1 ~]# mkdir /mnt/1212
[root@linux1 ~]# touch /mnt/12.txt
[root@linux1 ~]# echo "111111111" > /mnt/23.txt

[root@linux1 ~]# cd /mnt/
[root@linux1 mnt]# ls
1212  12.txt  23.txt  lost+found
[root@linux1 mnt]# cat 23.txt
111111111


扩容逻辑卷

  • lvresize -L 300M /dev/vg1/1v1 #重新设置卷大小[不要挂载]

[root@linux1 mnt]# lvresize -L 300M /dev/vg1/1v1
  Size of logical volume vg1/1v1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
  Logical volume vg1/1v1 successfully resized.
  #中文翻译:
  #逻辑卷vg1 / 1v1的大小从100.00 MiB(25区段)改为300.00 MiB(75区段)。
  #逻辑卷vg1 / 1v1成功调整大小。
  • e2fsck -f /dev/vg1/1v1 #检查磁盘错误(ext4执行)

  • resize2fs /dev/vg1/1v1 #更新逻辑卷信息(ext4执行)

[root@linux1 mnt]# resize2fs /dev/vg1/1v1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/1v1 is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 3
The filesystem on /dev/vg1/1v1 is now 307200 blocks long.


  • xfs_growfs /dev/vg1/1v1 xfs文件系统需要执行(不需要卸载)

df -h 查看容量

[root@linux1 mnt]# df -h
文件系统                        容量  已用  可用 已用% 挂载点
/dev/mapper/centos_linux1-root   17G  1.4G   16G    9% /
devtmpfs                        478M     0  478M    0% /dev
tmpfs                           489M     0  489M    0% /dev/shm
tmpfs                           489M  6.7M  482M    2% /run
tmpfs                           489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                      1014M  125M  890M   13% /boot
tmpfs                            98M     0   98M    0% /run/user/0
/dev/mapper/vg1-1v1             287M  2.1M  270M    1% /mnt

缩减逻辑卷(xfs不支持)

  • 先umount

  • e2fsck -f /dev/vg1/1v1 检查磁盘错误(ext)

  • resize2fs /dev/vg1/1v1 100M 更新逻辑卷信息(ext)

  • lvresize -L 100M /dev/vg1/1v1 重新设置卷大小

[root@linux1 mnt]# lvresize -L 100M /dev/vg1/1v1
  WARNING: Reducing active and open logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
  Do you really want to reduce vg1/1v1? [y/n]: y
  Size of logical volume vg1/1v1 changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
  Logical volume vg1/1v1 successfully resized.


lvdisplay lvs #查看磁盘大小

centos 7 lvm用法_第3张图片

mkfs.xfs -f /dev/vg1/1v1 重新格式化

lvresize -L 300M /dev/vg1/1v1

扩展卷组

  • fdisk /dev/sdb 新增/dev/sdb5(逻辑分区8e) 2G

  • pvcreate /dev/sdb5

  • vgextend vg1 /dev/sdb5

  • lvresize -L 100M /dev/vg1/lv1 重新设置卷大小