LVM分区

LVM理解

lvm结构图

LVM分区

LVM物理卷分配

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

命令(输入 m 获取帮助):n         #新建分区,p新建主分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (2099200-16777215,默认为 2099200):
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-16777215,默认为 16777215):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):n         #新建分区,p新建主分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (6293504-16777215,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-16777215,默认为 16777215):+3G
分区 3 已设置为 Linux 类型,大小设为 3 GiB

命令(输入 m 获取帮助):
命令(输入 m 获取帮助):p

磁盘 /dev/sdb:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xcfca8dcc

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     6293503     2097152   83  Linux
/dev/sdb3         6293504    12584959     3145728   83  Linux

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

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

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

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xcfca8dcc

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     6293503     2097152   8e  Linux LVM
/dev/sdb3         6293504    12584959     3145728   8e  Linux LVM

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

生成物理卷操作的过程中遇到没有pvcreate命令,然后通过yum安装pvcreate的包解决:yum install provides "//pvcreate" ,过程中使用pvcreate生成物理卷时提示 ~~Device /dev/sdb not found.
Device /dev/sdb1 excluded by a filter.~~的信息,无法识别分区号,重新给硬盘分区后解决

[root@localhost ~]# pvcreate /dev/sdb1
  WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter.
  WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter.
WARNING: dos signature detected on /dev/sdb1 at offset 510. Wipe it? [y/n]: y
  Wiping dos signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdb2
  WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter.
  WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter.
  Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdb3
  WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter.
  WARNING: Device for PV JdLqce-VUIR-45LR-L3Ag-b8EP-8hNA-TAYVh1 not found or rejected by a filter.
WARNING: xfs signature detected on /dev/sdb3 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdb3.
WARNING: xfs_external_log signature detected on /dev/sdb3 at offset 16384. Wipe it? [y/n]: y
  Wiping xfs_external_log signature on /dev/sdb3.     这里警告有xfs的格式日志,y擦除就可以了
WARNING: xfs_external_log signature detected on /dev/sdb3 at offset 17408. Wipe it? [y/n]: y
  Wiping xfs_external_log signature on /dev/sdb3.
WARNING: xfs_external_log signature detected on /dev/sdb3 at offset 18432. Wipe it? [y/n]: y
  Wiping xfs_external_log signature on /dev/sdb3.
  Physical volume "/dev/sdb3" successfully created.         
  以上是错误示范

  后来操作的另一种显示(正确的):
  [root@localhost ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
[root@localhost ~]# pvs                    pvs简单显示物理卷
  PV         VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  1.00g 1.00g
  /dev/sdb2     lvm2 ---  2.00g 2.00g
  /dev/sdb3     lvm2 ---  3.00g 3.00g

使用pvdisplay命令查看格式好的物理卷信息

[root@localhost ~]# pvdisplay
   "/dev/sdb2" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               8WkhP1-q83R-Ffty-F3XP-DSMm-Q7UC-ahYYCA

  "/dev/sdb3" is a new physical volume of "3.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb3
  VG Name               
  PV Size               3.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Uj8Uzj-wpoU-0zNC-tysH-Jf5q-dj3S-UCPMxK

  "/dev/sdb1" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               jC8cIm-I4Ve-23C9-c6N5-oGeH-dk8Y-Usl4W2

使用pvremove删除一个物理卷

[root@localhost ~]# pvremove /dev/sdb3
  Labels on physical volume "/dev/sdb3" successfully wiped.
[root@localhost ~]# pvdisplay
  "/dev/sdb2" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               8WkhP1-q83R-Ffty-F3XP-DSMm-Q7UC-ahYYCA

  "/dev/sdb1" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               jC8cIm-I4Ve-23C9-c6N5-oGeH-dk8Y-Usl4W2      /dev/sdb3物理卷已经被删除

LVM卷组管理

vgcreate命令划分卷组:

[root@localhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2        #组成卷组,卷组名称为vg1
  Volume group "vg1" successfully created
[root@localhost ~]# vgdisplay       #查看卷组详细信息
  --- Volume group ---
  VG Name vg1
  System ID             
  Format lvm2
  Metadata Areas 2
  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 2
  Act PV 2
  VG Size 2.99 GiB
  PE Size 4.00 MiB
  Total PE 766
  Alloc PE / Size 0 / 0   
  Free PE / Size 766 / 2.99 GiB
  VG UUID zcmq1s-lX9W-Mds8-KkZu-R8q7-9Xuo-MMmMdS

LVM逻辑卷分配

用一组卷组分配LV分区:

[root@localhost ~]# lvcreate -L 1G -n xuni1 vg1      卷组中分配一个LV分区名称为xuni1
  Logical volume "xuni1" created. 
[root@localhost ~]# mkfs.ext4 /dev/vg1/xuni1       对分配的LV格式化分区
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376

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

[root@localhost ~]# mount /dev/vg1/xuni1 /mnt/        挂载lv分区(xuni1)到mnt目录下
[root@localhost ~]# df -h                查看挂载的分区信息
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.9G 16G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 197M 108M 89M 55% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg1-xuni1 976M 2.6M 907M 1% /mnt         LV分区的挂载点

容量上的逻辑卷的扩展:
lvresize -L 1.5G /dev/vg1/xuni1 重新设置逻辑卷大小
扩展后执行更新逻辑卷信息:
e2fsck -f /dev/vg1/xuni1 检查磁盘错误(ext4执行)
resize2fs /dev/vg1/xuni1 更新逻辑卷信息(ext4执行)
xfs_growfs /dev/vg1/xuni1 xfs文件系统更新需要执行

ext4文件系统操作进行:

[root@localhost ~]# lvresize -L 1.5G /dev/vg1/xuni1       # 添加扩展容量,需要先umount卸掉挂载
  Size of logical volume vg1/xuni1 changed from 1.00 GiB (256 extents) to 1.50 GiB (384 extents).
  Logical volume vg1/xuni1 successfully resized.
[root@localhost ~]# e2fsck -f /dev/vg1/xuni1        #检查扩容信息
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/xuni1: 11/65536 files (0.0% non-contiguous), 12955/262144 blocks
[root@localhost ~]# resize2fs /dev/vg1/xuni1       更新扩容的容量(相当于格式化)
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/xuni1 to 393216 (4k) blocks.
The filesystem on /dev/vg1/xuni1 is now 393216 blocks long.

[root@localhost ~]# !mount           #挂载且查看新扩展的逻辑卷
mount /dev/vg1/xuni1 /mnt/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.9G 16G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 197M 108M 89M 55% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg1-xuni1 1.5G 3.0M 1.4G 1% /mnt

ext4文件系统的缩减LV逻辑分区:
e2fsck -f /dev/vg1/xuni1
resize2fs /dev/vg1/xuni1 1G
lvresize -L 1G /dev/vg1/xuni1
缩减逻辑卷之前需要卸载分区挂载才能正常缩减操作

[root@localhost ~]# umount /mnt/
[root@localhost ~]# e2fsck -f /dev/vg1/xuni1         更新逻辑分区信息
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/xuni1: 11/98304 files (0.0% non-contiguous), 15140/393216 blocks
[root@localhost ~]# resize2fs /dev/vg1/xuni1 1G       #更新逻辑分区容量
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/xuni1 to 262144 (4k) blocks.
The filesystem on /dev/vg1/xuni1 is now 262144 blocks long.

[root@localhost ~]# lvresize -L 1G /dev/vg1/xuni1       #指定逻辑分区大小
  WARNING: Reducing active logical volume to 1.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/xuni1? [y/n]: y
  Size of logical volume vg1/xuni1 changed from 1.50 GiB (384 extents) to 1.00 GiB (256 extents).
  Logical volume vg1/xuni1 successfully resized.
[root@localhost ~]# !mount
mount /dev/vg1/xuni1 /mnt/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.9G 16G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 197M 108M 89M 55% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg1-xuni1 976M 2.6M 907M 1% /mnt         #挂载并查看,已由1.5GB缩减到1GB大小

xfs格式的lv逻辑卷,xfs的逻辑卷不支持缩减大小

[root@localhost ~]# df -h               先查看一下现在的/mnt容量
文件系统               容量  已用  可用 已用% 挂载点
/dev/sda3               18G  1.9G   16G   11% /
devtmpfs               487M     0  487M    0% /dev
tmpfs                  497M     0  497M    0% /dev/shm
tmpfs                  497M  6.6M  490M    2% /run
tmpfs                  497M     0  497M    0% /sys/fs/cgroup
/dev/sda1              197M  108M   89M   55% /boot
tmpfs                  100M     0  100M    0% /run/user/0
/dev/mapper/vg1-xuni1  1.3G   33M  1.3G    3% /mnt

[root@localhost ~]# lvresize -L 1.5G /dev/vg1/xuni1      指定更新的容量大小
  Size of logical volume vg1/xuni1 changed from <1.27 GiB (325 extents) to 1.50 GiB (384 extents).
  Logical volume vg1/xuni1 successfully resized.
[root@localhost ~]# xfs_growfs /dev/vg1/xuni1      格式化成xfs的文件系统分区卷
meta-data=/dev/mapper/vg1-xuni1 isize=512 agcount=4, agsize=83200 blks
         = sectsz=512 attr=2, projid32bit=1
         = crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=332800, imaxpct=25
         = sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
         = sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 332800 to 393216
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.9G 16G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 6.6M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 197M 108M 89M 55% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg1-xuni1 1.5G 33M 1.5G 3% /mnt         更新后的大小增加200M

增加扩展卷组的容量
首先新增一个8e格式的分区,然后需要格式化成物理卷,其次再加入卷组,最后重新指定逻辑卷大小
fidsk /dev/sdb 新增/dev/sdb3的分区
pvcreate /dev/sdb3 新增一个物理卷

[root@localhost ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
[root@localhost ~]# pvs
  PV VG Fmt Attr PSize PFree   
  /dev/sdb1 vg1 lvm2 a-- 1020.00m 1016.00m
  /dev/sdb2 vg1 lvm2 a-- <2.00g 0 
  /dev/sdb3 lvm2 --- 3.00g 3.00g

vgextend vg1 /dev/sdb3 将物理卷加入到卷组当中,vg1位置指定的是卷组名称

[root@localhost ~]# vgextend vg1 /dev/sdb3
  Volume group "vg1" successfully extended

lvresize -L 4G /dev/vg1/xuni1 重新指定逻辑卷大小

[root@localhost ~]# vgextend vg1 /dev/sdb3       首先加入卷组
  Volume group "vg1" successfully extended
[root@localhost ~]# lvresize -L 4G /dev/vg1/xuni1 
  Size of logical volume vg1/xuni1 changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
  Logical volume vg1/xuni1 successfully resized.
[root@localhost ~]# lvs
  LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  xuni1 vg1 -wi-a----- 4.00g 

这里踩过的坑,没有把/dev/sdb3先进行生成物理卷,而是给直接加入卷组当中,导致分配卷组时一直报物理卷ID找不到的提示,折腾到最后还把逻辑卷给搞崩坏了,没办法最后重新添加虚拟磁盘重新做了一遍试验

摘抄:

pvcreate
pvcreate 设备全路径名,物理卷的创建

pvmove物理卷的删除

vgscan检测系统中所有磁盘

vgck [卷组名]检测卷组中卷组描述区域信息的一致性。

vgdisplay [卷组名] 显示卷组的属性信息

vgrename 原卷组名 新卷组名

#vgchange -a y|n [卷组名] //改变卷组的相应属性,是否可分配

#vgchange -l 最大逻辑卷数 //卷组可容纳最大逻辑卷数

#vgchange -x y|n [卷组名] //卷是否有效

vgexport卷组的输入

vgimport卷组的输出

pvs #显示PV的显示信息

vgcfgbackup [卷组名] //把卷组中VGDA信息备份到"/etc/vmconf"目录中的文件

vgcfgrestore -n [卷组名] 物理卷全路径名 //从备份文件中得到指定物理卷的信息

vgcreate 卷组创建

vgmove 卷组删除

vgextend 卷组扩展

vgreduce 卷组缩小

vgmerge 卷组合并

vgsplit 卷组拆分

vgs 显示VG简要信息

lvcreate 逻辑卷创建

lvremove 逻辑卷删除

lvextend 逻辑卷扩展

lvreduce 逻辑卷缩小

lvmdiskscan 检查所有的SCSI,IDE等存储设备

lvscan 检测逻辑卷的状态

lvdisplay 显示LV属性信息

lvchange 修改LV属性信息,-ay:标记LV为可用状态, -an:标记lv为不可用状态

lvs 显示LV 简要信息

转载于:https://blog.51cto.com/8844414/2130694

要挂载 LVM 分区,需要进行以下步骤: 1. 确认系统上已经安装了 LVM 相关的软件包,例如 lvm2。 2. 使用 pvscan 命令扫描系统上的物理卷,确认 LVM 分区所在的物理卷。 3. 使用 vgscan 命令扫描系统上的卷组,确认 LVM 分区所在的卷组。 4. 使用 lvscan 命令扫描系统上的逻辑卷,确认 LVM 分区所在的逻辑卷。 5. 使用 mkdir 命令创建一个挂载点目录。 6. 使用 mount 命令将 LVM 分区挂载到指定的挂载点目录上。 下面是具体的操作步骤,假设要将 /dev/sdd3 挂载到 /mnt/mylvm 目录上: 1. 确认系统上已经安装了 LVM 相关的软件包: ``` sudo apt-get install lvm2 ``` 2. 使用 pvscan 命令扫描系统上的物理卷: ``` sudo pvscan ``` 如果 /dev/sdd3 所在的物理卷没有被扫描到,可以使用 pvscan /dev/sdd3 命令进行单独扫描。 3. 使用 vgscan 命令扫描系统上的卷组: ``` sudo vgscan ``` 如果 /dev/sdd3 所在的卷组没有被扫描到,可以使用 vgscan my_vg 命令进行单独扫描。 4. 使用 lvscan 命令扫描系统上的逻辑卷: ``` sudo lvscan ``` 如果 /dev/my_vg/my_lv 没有被扫描到,可以使用 lvscan /dev/my_vg/my_lv 命令进行单独扫描。 5. 使用 mkdir 命令创建一个挂载点目录: ``` sudo mkdir /mnt/mylvm ``` 6. 使用 mount 命令将 LVM 分区挂载到指定的挂载点目录上: ``` sudo mount /dev/my_vg/my_lv /mnt/mylvm ``` 现在,/dev/my_vg/my_lv 分区就已经被挂载到了 /mnt/mylvm 目录上。可以通过 cd /mnt/mylvm 命令切换到该目录,查看其中的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值