lvm基本组成

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_36199640/article/details/102611611

LVM基本组成

lvm手册

linux 命令查询手册

LVM利用Linux内核的device-mapper功能来实现存储系统的虚拟化(系统分区独立于底层硬件)。 通过LVM,你可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间,避免为正在使用的磁盘重新分区的麻烦、为调整分区而不得不移动其他分区的不便。

LVM的基本组成部分如下:

  • 物理卷 (PV)

    一个可供存储LVM的块设备. 例如: 一块硬盘, 一个MBR或GPT分区, 一个回环文件, 一个被内核映射的设备 (例如 dm-crypt).它包含一个特殊的LVM头。

  • 卷组 (VG)

    物理卷的一个组,作为存放逻辑卷的容器。 PEs are allocated from a VG for a LV.

  • 逻辑卷 (LV)

    "虚拟/逻辑卷"存放在一个卷组中并由物理块组成。是一个类似于物理设备的块设备,例如,你可以直接在它上面创建一个文件系统文件系统

  • 物理块 (PE)

    一个卷组中最小的连续区域(默认为4 MiB),多个物理块将被分配给一个逻辑卷。你可以把它看成物理卷的一部分,这部分可以被分配给一个逻辑卷。

优点

比起普通的硬盘分区管理方式,LVM更富于灵活性:

  • 将多块硬盘看作一块大硬盘
  • 使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。
  • 可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小。
  • 在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间。
  • 可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建、删除、调整大小等操作。不过LVM上的文件系统也需要重新调整大小,好在某些文件系统(例如ext4)也支持在线操作。
  • 无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上。
  • 允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小。
  • 支持各种设备映射目标(device-mapper targets),包括透明文件系统加密和缓存常用数据(caching of frequently used data)。这将允许你创建一个包含一个或多个磁盘、并用LUKS加密的系统,使用LVM on top 可轻松地管理和调这些整独立的加密卷 (例如. /, /home, /backup等) 并免去开机时多次输入密钥的麻烦。

创建物理卷(PV)

可通过以下命令列出可被用作物理卷的设备:

# lvmdiskscan ##警告:请确认你对正确的设备进行操作,否则会导致文件丢失!

扫描所有磁盘上的物理卷

pvscan  ##指令会扫描系统中连接的所有硬盘,列出找到的物理卷列表

主要参数
-d 调试模式s
-e 仅显示属于输出卷组的物理卷
-n 仅显示不属于任何卷组的物理卷
-s 短格式输出
-u 显示UUID

在列出的设备上查看物理卷:

pvs ##命令用于输出格式化的物理卷信息报表。使用pvs命令仅能得到物理卷的概要信息,如果要得到更加详细的信息可以使用pvdisplay命令。
--noheadings:不输出标题头; 
--nosuffix:不输出空间大小的单位。

显示物理卷属性

pvdisplay  ##指令用于显示物理卷的属性(大小,PE大小,被卷组描述符使用的空间)。

主要参数
-s 以短格式输出
-m 显示PE到LV和LE的映射

[root@www ~]# pvdisplay    #更详细的列示出系统上面每个 PV 资讯
  "/dev/hda6" is a new physical volume of "1.40 GB"
  --- NEW Physical volume ---
  PV Name               /dev/hda6  #实际的 partition 分区名称
  VG Name                          #因为尚未分配出去,所以空白!
  PV Size               1.40 GB    #就是容量说明
  Allocatable           NO         #是否已被分配,结果是 NO
  PE Size (KByte)       0          #在此 PV 內的 PE 大小
  Total PE              0          #共分割出几个 PE
  Free PE               0          #沒被 LV 用掉的 PE
  Allocated PE          0          #尚可分配出去的 PE 数量
  PV UUID               Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN

创建物理卷:

pvcreate /dev/sdb
pvcreate [选项] [参数] #指令用于将物理硬盘分区初始化为物理卷,以便被LVM使用。

主要参数
-f 强制创建物理卷,不需要用户确认
-u 指定设备的UUID
-y 所有的问题都回答“yes”
-Z 是否利用前4个扇区
fdisk -l
pvscan 
pvcreate /dev/sdb
pvs
pvdisplay 

删除物理卷

pvremove /dev/sdb

创建卷组(VG)

创建卷组

vgcreate [选项] [参数] #指令用于创建LVM卷组

主要参数
-l 卷组上允许创建的最大逻辑卷数
-p 卷组中允许添加的最大物理卷数
-s 卷组上的物理卷的PE大小
vgcreate VolGroup01 /dev/sdb #创建 卷组名 物理卷
vgcreate VolGroup00 /dev/sda2 /dev/sdb1 /dev/sdc #一步创建卷组

查看卷组

vgscan   #确定存在这个 vbirdvg 的 VG 
vgs  #:显示有关卷组的信息 

扩展卷组

vgextend rhel /dev/sdb #扩展 需要扩展的卷组名 新添加的物理卷,vgextend指令用于动态的扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。
[root@www ~]# vgdisplay         
  --- Volume group ---
  VG Name               vbirdvg
  System ID
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size               4.17 GB     #整个 VG 容量就这么大
  PE Size               16.00 MB    #內部每个 PE 的大小
  Total PE              267         #总共的 PE 数量!
  Alloc PE / Size       0 / 0
  Free  PE / Size       267 / 4.17 GB
  VG UUID               4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO
vgcreate -s 16M vbirdvg /dev/hda{6,7,8}    #将/dev/hda6-8 建立成为一个 VG,且指定 PE 为 16MB #

删除卷组

vgremove volGroup01 #删除这个卷组
vgreduce rhel /dev/sdb #将物理卷/dev/sdb2从卷组rhel中删除(缩减)

设置卷组属性

vgchange -ay vg1000    #将卷组"vg1000"设置为活动状态 

重命名卷组

vgrename /dev/vg02 /dev/my_volume_group #将卷组vg02重命名为my_volume_group
vgrename vg02 my_volume_group

激活卷组

vgchange -ay volGroup00

停用卷组

vgchange -a n volGroup00

创建逻辑卷

lvcreate指令:创建逻辑卷

【语    法】lvcreate [选项] [参数]
【功能介绍】lvcreate指令用于创建LVM的逻辑卷。

主要参数
-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(LE数)
-n 后面跟逻辑卷名 
-s 创建快照
lvcreate -L <卷大小> <"卷组名> -n <卷名>
lvcreate -L 10G VolGroup00 -n lvolhome #创建逻辑卷 指定大小为10G 在VolGroup00卷组中 卷名为lvolhome
lvcreate -L 10G VolGroup00 -n lvolhome /dev/sdc1 #希望在较小的SSD硬盘上创建根文件系统,并在较慢的机械硬盘上创建家目录卷,仅需把物理卷设备加入到命令中
lvcreate -l +100%FREE  <volume_group> -n <logical_volume> #将100%卷组分配给这个逻辑卷
 lvcreate -l 356 -n vbirdlv vbirdvg    #将整个 vbirdvg 通通分配給 vbirdlv 啊,要注意, PE 共有 356 个(忽略)

查看逻辑卷

lvs #查看逻辑卷信息
lvscan  #扫描逻辑卷

主要参数
-b 显示逻辑卷的主设备号和次设备号
vdisplay指令:显示逻辑卷属性
【语    法】lvdisplay
【功能介绍】lvdisplay指令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。

删除逻辑卷

警告: 在移除逻辑卷之前,请先备份好数据以免丢失!

lvremove指令:删除逻辑卷

【语    法】lvremove [选项] [参数]
【功能介绍】lvremove指令用于删除指定LVM逻辑卷。

主要参数
-f 强制删除
lvs #查看逻辑卷
lsblk #查看挂载点
umount /<mountpoint> #卸载挂载目录,
lvremove VolGroup00/lvolhome #移除逻辑卷,输入y移除,一定要先备份好数据
更新/etc/fstab
lvs命令来确认你的逻辑卷已被移除
 lvremove <volume_group>/<logical_volume>
 lvremove VolGroup00/lvolhome

扩展逻辑卷

lvresize -l +179 /dev/vbirdvg/vbirdlv   #利用 lvresize 的功能來增加LV
lvresize -L +10G --resizefs MyVolGroup/mediavol #MyVolGroup组中的逻辑卷mediavol扩大10GiB,并同时扩大其文件系统
lvresize -L 15G --resizefs MyVolGroup/mediavol #将MyVolGroup组中的逻辑卷mediavol大小调整为15GiB,并同时调整其文件系统
lvresize -l +100%FREE --resizefs MyVolGroup/mediavol #将卷组中的所有剩余空间分配给mediavol
lvresize -l +125 /dev/volGroup00/lv_log #加剩余的PE

或者

lvextend指令:扩展逻辑卷空间

【语    法】lvextend [选项] [参数]
【功能介绍】lvextend指令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。

主要参数
-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(LE数)
 lvextend -L +2G /dev/vbirdvg/vbirdlv #xfs_growfs搭配使用
 lvextend -l +100%FREE /dev/mapper/vg0-vg0_v1 #可能不会补全目录
 lvdisplay
resize2fs /dev/vbirdvg/vbirdlv   #LV分区重设大小,更新文件系统(不适用与xfs)
xfs_growfs /dev/mapper/vg0-vg0_v1 #xfs格式的文件扩充需要使用 xfs_growfs,在线更新,只支持增大,无法减少,要是减少需要重新格式化,需要提前做好备份
使用 resize2fs或xfs_growfs 对挂载目录在线扩容
resize2fs 针对文件系统ext2 ext3 ext4
xfs_growfs 针对文件系统xfs

缩减逻辑卷

警告:

  1. 尽管扩大一个文件系统可以“在线”(on-line),也就是当它已挂载时)完成,甚至对根分区。缩小一个文件系统却往往要求先卸载(umount)它,以避免丢失数据。请先确保你的文件系统支持相关操作。

  2. 只有ext4文件才能进行缩减,xfs文件只能扩展不能缩减

umount /mnt/lvm    #取消挂载
e2fsck -f /dev/vbirdvg/vbirdlv  #磁盘检测
resize2fs /dev/vbirdvg/vbirdlv 6900M  #重设大小
mount /dev/vbirdvg/vbirdlv /mnt/lvm  #挂载LVM
df /mnt/lvm
lvresize -l -89 /dev/vbirdvg/vbirdlv      #降低 LV 的容量
lvreduce -l -2048 /dev/vbirdvg/vbirdlv      #降低 LV 的容量
lvdisplay       #查看lv逻辑卷信息
pvdisplay      #先确认 /dev/hda6 是否將 PE 都移除了
pvmove /dev/hda6 /dev/hda10  #將 /dev/hda6 內的 PE 移动到 /dev/hda10
vgreduce vbirdvg /dev/hda6   #將 /dev/hda6从vbirdvg 移出
lvresize -L -500M volGroup00/lv_log

建立文件系统与挂载逻辑卷

查看逻辑卷位置

ll /dev/rhel/  #查看/dev/卷组/逻辑卷
/dev/mapper/
#无法在以上位置找到它,请使用以下命令来加载模块、并扫描与激活卷组:
# modprobe dm-mod
# vgscan
# vgchange -ay

在逻辑卷上创建文件系统并像普通分区一样挂载它

# mkfs.<类型> /dev/mapper/<卷组名>-<卷名>
# mount /dev/mapper/<卷组名>-<卷名> <挂载点>

mkfs.ext4 /dev/mapper/VolGroup00-lvolhome #格式化ext4
mkfs.xfs /dev/mapper/VolGroup00-lvolhome
mount /dev/mapper/VolGroup00-lvolhome /home

#如果在其他目录挂载它就要新建目录比如
mount /dev/mapper/volGroup00-lv_log /opt/log/
在/etc/fstab中加上挂载点
blkid 查看UUID
 df -ThP  | column -t #查看挂载盘,一行显示,显示文件系统

警告: 挂载点请选择你所新建的逻辑卷(例如:/dev/mapper/Volgroup00-lvolhome),不要使用逻辑卷所在的实际分区设备(即不要使用:/dev/sda2)。

实际应用

fidsk -l | grep '^Disk /dev'
pvs #确定新盘不在物理卷,确定哪一块是新盘
pvcreate /dev/sdm #把新盘加入pv物理卷
pvs
vgs #查看卷组
vgcreate VG00 /dev/sdm #把新的物理卷加入新的卷组
vgs
lvs #查看逻辑卷
lvcreate -l +100%FREE  VG00 -n lv_data0 #把所有空间都分配给新逻辑卷
lvs
mkdir /opt/data3 #创建新的挂载点

df -ThP  | column -t #查看当前使用的文件系统与挂载盘
mkfs.ext4 /dev/mapper/VG00-lv_data0 #按照ext4格式,格式化磁盘
vim /etc/fstab #盘路径与挂载点的对应关系写入这个文件
blkid  #查看UUID和文件系统(文件系统不好查看)
mount -a  #全部挂载,因为在/etc/fstab中写过了,所以没有被挂载的就自动被挂载了,还可以检测是否挂载错误
df -ThP  | column -t #检查挂载

lv_swap的缩和扩

扩:
vgdisplay #查看是否有空闲空间
 lvdisplay  #查看swap逻辑卷
 swapoff -a          #关闭交换空间
 lvextend -L 2GB /dev/centos/swap #扩展swap
 lvextend -l +100%FREE /dev/centos/swap  #扩展swap
 resize2fs /dev/linuxcast-vg/mylv #更新系统文件
 xfs_growfs /dev/centos/swap #xfs更新系统文件
 lvs #查案swap分区
 mkswap /dev/centos/swap
 free -h #查看swap空间
 swapon /dev/centos/swap #发现当前swap空间并未增加,需要打开内存交换
 #如果还没增加就只能重启了
缩:
pvdisplay 
vgdisplay 
lvdisplay 
swapoff -a
free  -h
lvreduce -L -200M /dev/centos/swap
mkswap /dev/centos/swap
swapon /dev/centos/swap
free  -h

lv_root的缩和扩

扩展
fdisk -l
pvs
pvcreate /dev/sdb
vgextend centos /dev/sdb
vgs
lvs
lvextend -l +100%FREE /dev/centos/root #扩展逻辑卷root分区,如果指定PE更准确
blkid #查看下文件系统
xfs_growfs /dev/centos/root #使系统重新读取大小
缩小只适用ext4
e2fsck  -f /dev/centos/root #检查磁盘
lvreduce -L -5G /dev/centos/root #减少,最好不要缩减,如果要做先做备份

xfsdump命令使用

详情见链接:xfsdump命令使用


快照区的建立

vgdisplay       #查看VG容量
pvcreate /dev/hda6    #创建PV物理卷
vgextend vbirdvg /dev/hda6    #将刚刚移除的 /dev/hda6 加入這個 VG
vgdisplay    #查看VG
lvcreate -l 60 -s -n vbirdss /dev/vbirdvg/vbirdlv    #利用 lvcreate 建立系统快照区,命名为vbirdss,且经于 60 个 PE

注意:更新快照内容只需将其卸载并删除卷再从新建立即可。

[root@www ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vbirdvg/vbirdss
  VG Name                vbirdvg
  LV UUID                K2tJ5E-e9mI-89Gw-hKFd-4tRU-tRKF-oeB03a
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/vbirdvg/vbirdlv
  LV Status              available
  # open                 0
  LV Size                6.97 GB    #原LV的大小
  Current LE             446
  COW-table size         960.00 MB  #新建快照区的实际大小
  COW-table LE           60         #快照区占有的PE
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

[root@www ~]# mkdir /mnt/snapshot
[root@www ~]# mount -o nouuid /dev/vbirdvg/vbirdss /mnt/snapshot
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda2              9920624   3859032   5549524  42% /
/dev/hda3              4956316   1056996   3643488  23% /home
/dev/hda1               101086     21408     74459  23% /boot
tmpfs                   371332         0    371332   0% /dev/shm
/dev/mapper/vbirdvg-vbirdlv
                       6955584    262632   6410328   4% /mnt/lvm        #二个一样
/dev/mapper/vbirdvg-vbirdss
                       6955584    262632   6410328   4% /mnt/snapshot   #二个一样

[root@localhost ~]# lvcreate  -s -l 100 -n vg0_lv0_snap /dev/mapper/vg0-vg0_lv0 #100PE ,一般建议是快照预留区的空间是原始卷的10%,同时快照了文件系统不需要格式化了
  Logical volume "vg0_lv0_snap" created.
  -s    关键选项,创建快照snap的意思    
  -l    后面跟快照包含多少个PE的数量
  -n    后面跟创建的快照的名字
  -p r  由于快照大多为只读,改选项为为修改权限位只读(r)
  命令最后记得加创建的快照的原始lv名称
lvcreate -s -l 100 -p r -n vg0_lv0_snap /dev/mapper/vg0-vg0_lv0
[root@localhost ~]# lvdisplay /dev/vg0/vg0_lv0_snap  #一般给系统或者数据库做快照
  --- Logical volume ---
  LV Path                /dev/vg0/vg0_lv0_snap
  LV Name                vg0_lv0_snap
  VG Name                vg0
  LV UUID                wznG5e-irWT-wIh0-g9t2-1fNG-tIbW-TRbzTm
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-10-16 04:12:28 -0400
  LV snapshot status     active destination for vg0_lv0
  LV Status              available
  # open                 0
  LV Size                4.49 GiB #原LV的大小,共享原始vg0_lv0
  Current LE             1150
  COW-table size         400.00 MiB #新建快照区的实际大小 #表示这个快照区能接受原始vg0_lv0数据变动的最大范围
  COW-table LE           100 #快照区占有的PE
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:5
mount -o nouuid /dev/mapper/vg0-vg0_lv0_snap /opt/snap/ #xfs不识别uuid挂载
mount -o nouuid,norecovery /dev/vg0/vg0_lv0_snap /opt/snap/ #xfs只读挂载

还原

1. dd if=/dev/zero if=/opt/log/test bs=1M count=10 #在vg0-vg0_lv0的挂载点/opt/log/test中写入文件
2. 以只读方式拍摄快照
3. 以只读的方式挂载快照
4. 删除/opt/log下的文件
5. 卸载/opt/log 和/opt/log/snap #快照挂载点
6. lvconvert --merge /dev/vg0/vg0_lv0_snap #合并快照内容,快照会被删除,需要重新快照

#注意每一步最好都查看下 lvs vgs pvs vgdisplay  lvdisplay pvdisplay

快照备份mysql


报错 error

[root@localhost ~]# mount /dev/mapper/volGroup00-lv_log /opt/log/
mount: /dev/mapper/volGroup00-lv_log: can't read superblock
[root@localhost ~]# lvs
  LV     VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   rhel       -wi-ao---- <17.00g                                                    
  swap   rhel       -wi-ao----   2.00g                                                    
  lv_log volGroup00 -wi-a-----  <4.51g 
[root@localhost ~]# e2fsck -f /dev/mapper/volGroup00-lv_log  #表分区损坏
e2fsck 1.42.9 (28-Dec-2013)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/mapper/volGroup00-lv_log

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000dee45

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


parted #进入工具
select /dev/sdb #进入需要编辑的分区磁盘
print #查看状态
(parted) print                                                            
Error: /dev/sdb: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)                                    
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 
[root@localhost ~]# pvcreate /dev/sdb
  Device /dev/sdb excluded by a filter.
dd if=/dev/urandom of=/dev/sdb bs=512 count=64
[root@localhost ~]# pvcreate /dev/sdb #因为之前做过了物理卷/vg/lv了
  Can't open /dev/sdb exclusively.  Mounted filesystem?
  Can't open /dev/sdb exclusively.  Mounted filesystem?
  
dmsetup remove volGroup00-lv_log #删除原来的vg/lv
[root@localhost ~]# resize2fs /dev/vg0/vg0_v1 
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/vg0/vg0_v1
Couldn't find valid filesystem superblock.
[root@localhost ~]# xfs_growfs /dev/mapper/vg0-vg0_v1  #xfs格式的文件扩充需要使用 xfs_growfs
LVM格式化的时候是用的xfs。
快照在挂载的时候由于和原来的lvm是同一个UUID所以会报错。XFS不允许相同UUID的文件系统挂载。

[root@localhost ~]# mount /dev/mapper/vg0-vg0_lv0_snap /opt/snap/
mount: wrong fs type, bad option, bad superblock on /dev/mapper/vg0-vg0_lv0_snap,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

mount -o nouuid /dev/gridvg/vbirdss /snapshot/ #就可以了

虚拟机热添加硬盘

fdisk -l | grep '/dev/sd*' #无法发现新添加的硬盘
解决:
进入/sys/class/scsi_host/
echo "- - -" > host0/scan #如果不是host0就可能是其他的,如果host*比较多建议写脚本
echo "- - -" > host1/scan
echo "- - -" > host2/scan
fdisk -l | grep '/dev/sd*' #发现磁盘

查看参数

pvs参数

pvs -v # 参数值默认显示中添加以下字段:dev_size,pv_uuid
pvs --segments #参数显示每个物理卷片段的信息,命令默认显示以下字段,pv_name, vg_name, pv_fmt, pv_attr, pv_size, pv_free, pvseg_start, pvseg_size。结果根据物理卷中的 pv_name 和 pvseg_size 排序
pvs -a #命令查看已被 LVM 探测到但尚未初始化为 LVM 物理卷的设备
dev_size DevSize 该物理卷所在底层设备的大小
pe_start 1st PE 底层设备中的第一个物理扩展偏差
pv_attr Attr 物理卷状态:(a)可分配;或者(x)导出。
pv_fmt Fmt 物理卷元数据格式(lvm2 或者 lvm1
pv_free PFree 物理卷中的剩余空间
pv_name PV 物理卷名称
pv_pe_alloc_count Alloc 已使用物理扩展数
pv_pe_count PE 物理扩展数
pvseg_size SSize 物理卷的片段大小
pvseg_start 起始 物理卷片段的起始物理扩展
pv_size PSize 物理卷大小
pv_tags PV 标签 附加到物理卷的 LVM 标签
pv_used 已使用 该物理卷中目前已使用的空间数量
pv_uuid PV UUID 该物理卷的 UUID

vgs参数

vgs -v #-v 参数值默认显示着添加以下字段:vg_extent_size,vg_uuid
参数 标头 描述
lv_count #LV 卷组所包含逻辑卷数
max_lv MaxLV 卷组允许的最大逻辑卷数(0 表示无限大)
max_pv MaxPV 卷组允许的最大物理卷数(0 表示无限)
pv_count #PV 定义该卷组的物理卷数
snap_count #SN 卷组包含的快照数
vg_attr Attr 卷组状态:(w)可写入;(r)只读;(z)可重新定义大小;(x)可导出;(p)部分;以及(c)集群。
vg_extent_count #Ext 卷组中的物理扩展数
vg_extent_size Ext 卷组中的物理扩展大小
vg_fmt Fmt 卷组的元数据格式(lvm2 或者 lvm1
vg_free VFree 卷组中剩余的可用空间大小
vg_free_count 可用 卷组中的可用物理扩展数
vg_name VG 卷组名称
vg_seqno Seq 代表卷组修改的次数
vg_size VSize 卷组大小
vg_sysid SYS ID LVM1 System ID
vg_tags VG 标签 附加到卷组的 LVM 标签
vg_uuid VG UUID 卷组的 UUID

lvs参数

lvs -v #参数将下面的字段添加到默认显示中:seg_count、lv_major、lv_minor、lv_kernel_major、lv_kernel_minor、lv_uuid
lvs --segments #参数显示默认栏信息,并强调片段信息。使用 segments 参数后,seg 前缀为自选项,命令默认显示下面的字段:lv_name、vg_name、lv_attr、stripes、segtype、seg_size。默认显示是根据卷组的 vg_name 和 lv_name,以及该逻辑卷的 seg_start 排序。如果逻辑卷碎片化,这个命令的输出结果会体现此状态
参数 标头 描述
chunksize``chunk_size 区块 快照卷的单位大小
copy_percent Copy% 镜像逻辑卷的同步百分比;也可在使用 pv_move 命令移动物理扩展时使用。
devices 设备 组成逻辑卷的底层设备:即物理卷、逻辑卷及起始物理扩展和逻辑扩展
lv_attr Attr 逻辑卷状态。逻辑卷的属性字节如下:字节 1:卷类型: (m)镜像卷,(M) 没有初始同步的镜像卷,(o)原始卷,(O)附带合并快照的原始卷,®阵列,®没有初始同步的阵列,(s)快照,(S)合并快照,§pvmove,(v)虚拟,(i)镜像或阵列映象,(I)未同步的镜像或阵列映象,(l)映象日志设备,©底层转换卷,(V)精简卷,(t)精简池,(T)精简池数据,(e)阵列或精简池元数据或池元数据备件,字节 2:授权:(w)写入,®只读,®非只读卷的只读激活字节 3:分配策略:(a)任意位置,©相邻,(i)继承,(l)紧邻,(n)常规。如果该卷目前锁定无法进行分配更改,则该字母会呈大写状态。例如执行 pvmove 命令时。字节 4:(m)固定镜像字节 5:状态:(a)激活, (s)挂起, (I) 无效快照, (S) 无效挂起快照, (m) 快照合并失败,(M) 挂起快照合并失败,(d) 显示的映射设备不包含表格,(i) 显示的映射设备中包含停用表格。字节 6:设备 (o) 开启字节 7:目标类型: (m)镜像,® RAID,(s) 快照,(t) 精简,(u)未知,(v) 虚拟。这样可将有类似内核目标的逻辑卷分在一组。比如镜像映象、镜像日志以及镜像本身分为组(m),它们使用原始设备映射器内核驱动程序,使用 md raid 内核驱动程序的类似的 raid 设备则分组为(r)。使用原始设备映射器驱动程序的快照则分组为(s),使用精简配置驱动程序的精简卷快照则分组为(t)。字节 8:使用前,以设置为 0 的块覆盖新分配了数据的块。字节 9:卷正常情况:§ 部分正常,® 需要刷新,(m) 存在映射错误,(w) 大部分写入。§ 部分正常表示该系统中缺少这个逻辑卷使用的一个或多个物理卷。§ 部分正常表示这个 RAID 逻辑卷使用的一个或多个物理卷有写入错误。该写入错误可能是由于该物理卷故障造成,也可能表示该物理卷正在出现问题。应刷新或替换该设备。(m) 存在映射错误表示 RAID 逻辑卷中有阵列不一致的部分。在 RAID 逻辑卷中启动 check 操作就会发现这些不一致之处。(取消该操作,可使用 lvchange 命令在 RAID 逻辑卷中执行 checkrepair )。(w) 大部分写入表示已将 RAID 1 逻辑卷中的设备标记为大部分写入。字节 10:(k) 跳过激活:将该卷标记为在激活过程中跳过。
lv_kernel_major KMaj 逻辑卷的实际主要设备数(若未激活则为 -1)
lv_kernel_minor KMIN 逻辑卷的实际次要设备数(若未激活则为 -1)
lv_major Maj 逻辑卷的持久主要设备数(若未指定则为 -1)
lv_minor Min 逻辑卷的持久次要设备数(若未指定则为 -1)
lv_name LV 逻辑卷名称
lv_size LSize 逻辑卷大小
lv_tags LV 标签 附加到逻辑卷的 LVM 标签
lv_uuid LV UUID 逻辑卷的 UUID
mirror_log Log 镜像日志所在设备
modules 模块 需要使用这个逻辑卷的对应内核设备映射器目标
move_pv 移动 使用 pvmove 命令创建的临时逻辑卷之源物理卷
origin Origin 快照卷的原始设备
regionsize``region_size 区域 镜像逻辑卷的单元大小
seg_count #Seg 逻辑卷中的片段数
seg_size SSize 逻辑卷的片段大小
seg_start 起始 逻辑卷中的片段偏移
seg_tags Seg 标签 附加到逻辑卷片段的 LVM 标签
segtype 类型 逻辑卷的片段类型(例如:镜像、条带、线性)
snap_percent Snap% 目前使用的快照卷百分比
stripes #Str 逻辑卷中的条状卷或镜像卷数
stripesize``stripe_size 条带 条带逻辑卷的单元大小

parted工具(操作前如果有数据都要备份好)

1. 进入:#parted   /dev/sdb

    查看:(parted)p

    删除:(parted)rm  1

              (parted)rm  2
              
2,将磁盘格式变成gpt的格式(因为parted只能针对gpt格式的磁盘进行操作)

   转换:(parted) mklabel  gpt
   				  mklabel  msdos
   分区:(parted) mkpart  primary  1  500                  (分第一个主分区500MB)

   分区:(parted) mkpart  primary  501  1000              (分第二个主分区500MB)

   分区:(parted) mkpart  logical  1001  2000              (分第三个逻辑分区1000MB)  (parted的逻辑分区不用先分扩展分区,直接一步到位)

   查看:(parted) p

   退出:(parted)quit             ( parted分区自动保存,不用手动保存 )

3,格式化已经分好的区

   # mkfs -t ext4 /dev/sdb1

4,挂载

  # mount  /dev/sdb1 /mnt

5,开机自动挂载:

 # echo  “/dev/sdb1 /mnt ext4 defaults 0 0”  >>/etc/fstab

fdisk工具

 fdisk /dev/sdb
 
 这块硬磁尚未分区
 
  按"p"键出现提示:"Partition number (1-4): "选择主分区号
 
"p"键打印分区表
Command (m for help): p

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00046d3a

   Device Boot      Start         End      Blocks   Id  System
"n"键新建一个分区。
  出现两个菜单e表示扩展分区,p表示主分区
  
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 

"p"键出现提示:"Partition number (1-4): "选择主分区号
输入"1"表示第一个主分区。
直接按回车表示1柱面开始分区。
提示最后一个柱面或大小。
输入+5620M 按回车
表示第一个分区为5G空间。
按"p"查看一下分区
按"w"键保存退出。 

eleSelect (default p): p
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): 
Using default value 10485759
Partition 1 of type Linux and of size 5 GiB is set
ct (default p): p
Partition number (1-4, default 1): 

猜你喜欢

转载自blog.csdn.net/qq_36199640/article/details/102611611