LVM和硬盘

本文详细介绍了LVM(逻辑卷管理)在Linux系统中的组成,包括物理卷、卷组、逻辑卷和物理块的概念,以及其优点和缺点。文章通过实例演示了如何创建和管理LVM,包括基于磁盘和分区的方式创建逻辑卷,格式化文件系统,挂载、卸载和删除逻辑卷、卷组及物理卷的步骤。此外,还提到了LVM在系统扩展性和灵活性方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LVM逻辑详解

[toc]

一、LVM的组成

1、物理卷-pv

物理卷就是指硬盘分区或从逻辑分区具有同样功能的设备(如RAID),是lvm的基本存储逻辑块,它是LVM构建的实际硬件或存储系统。

2、卷组-vg

lvm卷组类似于非lvm系统中的物理硬盘。其由物理卷组成,可以在卷组上创建一个或多个lvm分区,由一个或者多个物理卷组成。设备文件系统中显示为/dev/name_vg

3、逻辑卷-lv

逻辑卷是可供系统使用的最终元设备,他们在卷组中创建和管理,由物理块组成,实际上就是一个虚拟分区,并显示为/dev/name_vg/name_lv,通常再其上可以创建文件系统。

4、物理块-pe

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

LE:逻辑卷也被划分为被称为LE的可被寻址的基本单位,在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

二、lvm的优缺点

1、优点

比起传统的硬盘分区管理方式,LVM更富于灵活性

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

2、缺点

  • 在系统设置时需要更复杂的额外步骤
  • Windows系统不支持LVM,若使用双系统,你将无法在Windows上访问LVM分区

三、创建和管理LVM

创建LV有两种方式,一种是基于磁盘的,另一种是基于分区的。如果是基于分区的需要通过fdisk或者parted方式划好分区,但不要继续格式化,然后使用pvcreate创建物理卷;如果基于磁盘的就不要创建分区,直接通过pvcreate来创建物理卷,只有创建好了物理卷之后才能添加到卷组,并且卷组里面创建逻辑卷后格式化才能存放数据

1、基于磁盘的方式创建lv

依次为:disk(磁盘)->PV(物理卷)->VG(卷组)->LV(逻辑卷)->fs

1)查看磁盘信息

  1. [root@blogdriverzhang ~]# lsblk
  2. NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  3. sr0     11:0    1 203.6M  0 rom 
  4. vda    253:0    0    50G  0 disk
  5. └─vda1 253:1    0    50G  0 part /
  6. vdb    253:16   0    60G  0 disk
  7. vdc    253:32   0    60G  0 disk
  8. [root@blogdriverzhang ~]# lvmdiskscan
  9.   /dev/vda1 [     <50.00 GiB]
  10.   /dev/vdb  [      60.00 GiB]
  11.   /dev/vdc  [      60.00 GiB]
  12.   2 disks
  13.   1 partition
  14.   0 LVM physical volume whole disks
  15.   0 LVM physical volumes

从上面可以看到sda是系统分区,vdbvdc是数据盘

2)使用数据盘创建磁盘的物理卷

  1. #创建物理卷
  2. [root@blogdriverzhang ~]# pvcreate -f /dev/vdb
  3.   Wiping dos signature on /dev/vdb.
  4.   Physical volume "/dev/vdb" successfully created.
  5.  
  6. #查看
  7. [root@blogdriverzhang ~]# pvs
  8.   PV         VG Fmt  Attr PSize  PFree
  9.   /dev/vdb      lvm2 ---  60.00g 60.00g

3)创建卷组

  1. #创建卷组
  2. [root@blogdriverzhang ~]# vgcreate -f data01-vg /dev/vdb
  3.   Volume group "data01-vg" successfully created
  4.     
  5. #查看
  6. [root@blogdriverzhang ~]# vgs
  7.   VG        #PV #LV #SN Attr   VSize   VFree 
  8.   data01-vg   1   0   0 wz--n- <60.00g <60.00g

注:
data01-vg是子集命令的便于识别的卷组标识名;
要划分多个目录数小于物理卷数,可以将具体的单个磁盘作为一个卷组早划分一个逻辑卷提供给一个集体目录使用;
如果要划分的目录数大于物理卷数。比如俩个物理卷要划分3个目录使用的情况,可以将俩个物理卷分给同一个卷组: vgcreate -f ocloud-vg /dev/nvme0n1 /dev/nvme0n2 (以此类推),再在卷组上划分多个逻辑卷给多个目录使用;

4)添加新的物理卷

  1. #在前一个的基础上添加新的物理卷
  2. [root@blogdriverzhang ~]# pvcreate -f /dev/vdc
  3.   Physical volume "/dev/vdc" successfully created.
  4.     
  5. #查看  
  6. [root@blogdriverzhang ~]# pvs
  7.   PV         VG        Fmt  Attr PSize   PFree 
  8.   /dev/vdb   data01-vg lvm2 a--  <60.00g <60.00g
  9.   /dev/vdc             lvm2 ---   60.00g  60.00g

5)将新的物理卷添加到现有的卷组

  1. [root@blogdriverzhang ~]# vgextend data01-vg /dev/vdc
  2.   Volume group "data01-vg" successfully extended
  3.     
  4. #查看
  5. [root@blogdriverzhang ~]# vgs
  6.   VG        #PV #LV #SN Attr   VSize   VFree 
  7.   data01-vg   2   0   0 wz--n- 119.99g 119.99g

可以发现2个大小60G的物理卷组成了一个120G的卷组

6)从现有的卷组中删除一个物理卷

要从一个卷组中删除一个物理卷,首先确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命名查看一个该物理卷的信息,如果某个物理卷正在被逻辑卷所使用,就需要将改物理卷的数据备份到其他地方,然后在删除。移除卷组中物理卷的命令为:vgreduce

  1. #未删除前物理卷的信息
  2. [root@blogdriverzhang ~]# pvs
  3.   PV         VG        Fmt  Attr PSize   PFree 
  4.   /dev/vdb   data01-vg lvm2 a--  <60.00g <60.00g
  5.   /dev/vdc   data01-vg lvm2 a--  <60.00g <60.00g
  6.     
  7. #未删除前卷组的信息
  8. [root@blogdriverzhang ~]# vgs
  9.   VG        #PV #LV #SN Attr   VSize   VFree 
  10.   data01-vg   2   0   0 wz--n- 119.99g 119.99g
  11.  
  12. #删除卷组中的一个物理卷
  13. [root@blogdriverzhang ~]# vgreduce data01-vg /dev/vdc
  14.   Removed "/dev/vdc" from volume group "data01-vg"
  15.     
  16. #再次查看发现卷组中只有一个物理卷大小由120G变为60G   
  17. [root@blogdriverzhang ~]# vgs
  18.   VG        #PV #LV #SN Attr   VSize   VFree 
  19.   data01-vg   1   0   0 wz--n- <60.00g <60.00g
  20.  
  21.  #物理卷中vdc无卷组
  22. [root@blogdriverzhang ~]# pvs
  23.   PV         VG        Fmt  Attr PSize   PFree 
  24.   /dev/vdb   data01-vg lvm2 a--  <60.00g <60.00g
  25.   /dev/vdc             lvm2 ---   60.00g  60.00g

7)创建逻辑卷(第一种方式)

  1. #指定大小的逻辑卷
  2. [root@blogdriverzhang ~]# lvcreate -n data01-lv -L +10G data01-vg
  3.   Logical volume "data01-lv" created.
  4.  
  5. #查看
  6. [root@blogdriverzhang ~]# lvs
  7.   LV        VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  8.   data01-lv data01-vg -wi-a----- 10.00g      
  9.     
  10. #扩张逻辑卷(逻辑卷只能扩展不能缩)
  11. [root@blogdriverzhang ~]# lvextend -L +5G /dev/data01-vg/data01-lv
  12.   Size of logical volume data01-vg/data01-lv changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
  13.   Logical volume data01-vg/data01-lv successfully resized.
  14.   
  15.  
  16. #查看
  17.     [root@blogdriverzhang ~]# lvs
  18.   LV        VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  19.   data01-lv data01-vg -wi-a----- 15.00g  

注意:
如果逻辑卷已经创建好文件系统后扩了逻辑卷,文件系统容量不能增加。需要执行如下命 令后文件系统容量才会显示正常:
xfs_growfs /dev/ocloud-vg/data1-lv

8)通过百分比的方式将卷组的空间分成相同大小的逻辑卷(第二种方式)

  1. #添加之前查看
  2. [root@blogdriverzhang ~]# lvs
  3.   LV        VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  4.   data01-lv data01-vg -wi-a----- 15.00g            
  5.     
  6. #添加
  7. [root@blogdriverzhang ~]# lvcreate -l 50%Free -n data2-lv data01-vg
  8.   Logical volume "data2-lv" created.
  9.  
  10. #查看
  11. [root@blogdriverzhang ~]# lvs
  12.   LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  13.   data01-lv data01-vg -wi-a-----  15.00g                                                   
  14.   data2-lv  data01-vg -wi-a----- <22.50g          
  15.     
  16. #再添加
  17. [root@blogdriverzhang ~]# lvcreate -l 100%Free -n data3-lv data01-vg
  18.   Logical volume "data3-lv" created.
  19.     
  20. #查看将剩余的45G平均分配两个逻辑卷
  21. [root@blogdriverzhang ~]# lvs
  22.   LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  23.   data01-lv data01-vg -wi-a-----  15.00g                                                   
  24.   data2-lv  data01-vg -wi-a----- <22.50g                                                   
  25.   data3-lv  data01-vg -wi-a-----  22.50g

注:
剩余空间分成相同的2份,第一次lvcreate时候应该写50%Free,第2lvcreate的时候写成100%Free
同理剩余空间分成相同的3份,第一次lvcreate时候写35%Free,第二次执行lvcreate的时候写50%Free。第三次执行lvcreate的时候写100%Free

9)格式化文件系统

  1. [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data01-lv
  2. meta-data=/dev/data01-vg/data01-lv isize=512    agcount=4, agsize=983040 blks
  3.          =                       sectsz=512   attr=2, projid32bit=1
  4.          =                       crc=1        finobt=0, sparse=0
  5. data     =                       bsize=4096   blocks=3932160, imaxpct=25
  6.          =                       sunit=0      swidth=0 blks
  7. naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
  8. log      =internal log           bsize=4096   blocks=2560, version=2
  9.          =                       sectsz=512   sunit=0 blks, lazy-count=1
  10. realtime =none                   extsz=4096   blocks=0, rtextents=0
  11. [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data2-lv
  12. meta-data=/dev/data01-vg/data2-lv isize=512    agcount=4, agsize=1474304 blks
  13.          =                       sectsz=512   attr=2, projid32bit=1
  14.          =                       crc=1        finobt=0, sparse=0
  15. data     =                       bsize=4096   blocks=5897216, imaxpct=25
  16.          =                       sunit=0      swidth=0 blks
  17. naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
  18. log      =internal log           bsize=4096   blocks=2879, version=2
  19.          =                       sectsz=512   sunit=0 blks, lazy-count=1
  20. realtime =none                   extsz=4096   blocks=0, rtextents=0
  21. [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data3-lv
  22. meta-data=/dev/data01-vg/data3-lv isize=512    agcount=4, agsize=1474560 blks
  23.          =                       sectsz=512   attr=2, projid32bit=1
  24.          =                       crc=1        finobt=0, sparse=0
  25. data     =                       bsize=4096   blocks=5898240, imaxpct=25
  26.          =                       sunit=0      swidth=0 blks
  27. naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
  28. log      =internal log           bsize=4096   blocks=2880, version=2
  29.          =                       sectsz=512   sunit=0 blks, lazy-count=1
  30. realtime =none                   extsz=4096   blocks=0, rtextents=0

10)挂载文件系统

  1. #创建挂载目录
  2. [root@blogdriverzhang ~]# mkdir -p /{data1,data2,data3}
  3.  
  4. #写入挂载文件
  5. [root@blogdriverzhang ~]# cat >>/etc/fstab<< eof
  6. > /dev/data01-vg/data01-lv /data1 xfs defaults 0 0
  7. > /dev/data01-vg/data2-lv /data2 xfs defaults 0 0
  8. > /dev/data01-vg/data3-lv /data3 xfs defaults 0 0
  9. > eof
  10.  
  11. #挂载
  12. [root@blogdriverzhang ~]# mount -a
  13.     
  14. #查看
  15. [root@blogdriverzhang ~]# lsblk
  16. NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  17. sr0                      11:0    1 203.6M  0 rom 
  18. vda                     253:0    0    50G  0 disk
  19. └─vda1                  253:1    0    50G  0 part /
  20. vdb                     253:16   0    60G  0 disk
  21. ├─data01--vg-data01--lv 252:0    0    15G  0 lvm  /data1
  22. ├─data01--vg-data2--lv  252:1    0  22.5G  0 lvm  /data2
  23. └─data01--vg-data3--lv  252:2    0  22.5G  0 lvm  /data3
  24. vdc                     253:32   0    60G  0 disk
  25. [root@blogdriverzhang ~]#  df -h
  26. Filesystem                         Size  Used Avail Use% Mounted on
  27. devtmpfs                           3.8G     0  3.8G   0% /dev
  28. tmpfs                              3.8G   24K  3.8G   1% /dev/shm
  29. tmpfs                              3.8G  540K  3.8G   1% /run
  30. tmpfs                              3.8G     0  3.8G   0% /sys/fs/cgroup
  31. /dev/vda1                           50G  2.4G   45G   5% /
  32. tmpfs                              760M     0  760M   0% /run/user/0
  33. /dev/mapper/data01--vg-data01--lv   15G   33M   15G   1% /data1
  34. /dev/mapper/data01--vg-data2--lv    23G   33M   23G   1% /data2
  35. /dev/mapper/data01--vg-data3--lv    23G   33M   23G   1% /data3

11)删除逻辑卷

  1. #卸载挂载目录
  2. [root@blogdriverzhang ~]# umount /data1 /data2 /data3
  3.  
  4. #注释/etc/fstab的信息
  5. #/dev/data01-vg/data01-lv /data1 xfs defaults 0 0
  6. #/dev/data01-vg/data2-lv /data2 xfs defaults 0 0
  7. #/dev/data01-vg/data3-lv /data3 xfs defaults 0 0
  8.  
  9. #查看磁盘信息显示分区挂载已经卸载
  10. [root@blogdriverzhang ~]# lsblk
  11. NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  12. sr0                      11:0    1 203.6M  0 rom 
  13. vda                     253:0    0    50G  0 disk
  14. └─vda1                  253:1    0    50G  0 part /
  15. vdb                     253:16   0    60G  0 disk
  16. ├─data01--vg-data01--lv 252:0    0    15G  0 lvm 
  17. ├─data01--vg-data2--lv  252:1    0  22.5G  0 lvm 
  18. └─data01--vg-data3--lv  252:2    0  22.5G  0 lvm 
  19. vdc                     253:32   0    60G  0 disk
  20.  
  21. #删除逻辑卷
  22. [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data01-lv
  23.   Logical volume "data01-lv" successfully removed
  24. [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data 
  25. [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data2-lv
  26.   Logical volume "data2-lv" successfully removed
  27. [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data3-lv
  28.   Logical volume "data3-lv" successfully removed
  29.  
  30. #查看是否已删除
  31. [root@blogdriverzhang ~]# lvs

12)删除卷组

  1. #查看是否存在
  2. [root@blogdriverzhang ~]# vgs
  3.   VG        #PV #LV #SN Attr   VSize   VFree 
  4.   data01-vg   1   0   0 wz--n- <60.00g <60.00g
  5.  
  6. #删除卷组
  7. [root@blogdriverzhang ~]# vgremove -f data01-vg
  8.   Volume group "data01-vg" successfully removed
  9.     
  10. #在查看无卷组
  11. [root@blogdriverzhang ~]# vgs

13)删除物理卷

  1. #查看
  2. [root@blogdriverzhang ~]# pvs
  3.   PV         VG Fmt  Attr PSize  PFree
  4.   /dev/vdb      lvm2 ---  60.00g 60.00g
  5.   /dev/vdc      lvm2 ---  60.00g 60.00g
  6.  
  7. #删除
  8. [root@blogdriverzhang ~]# pvremove -f /dev/vdb
  9.   Labels on physical volume "/dev/vdb" successfully wiped.
  10. [root@blogdriverzhang ~]# pvremove -f /dev/vdc
  11.   Labels on physical volume "/dev/vdc" successfully wiped.
  12.  
  13. #查看
  14. [root@blogdriverzhang ~]# pvs

14)把磁盘还原为裸盘方式

  1. dd if=/dev/zero of=/dev/vdb bs=50M count=1024
  2. dd if=/dev/zero of=/dev/vdc bs=50M count=1024

二、基于分区的方式创建逻辑卷

依次为disk(磁盘)->partition(分区)->PV(物理卷)->VG(卷组)->(逻辑卷)->文件系统

1)创建分区

使用fdisk或者parted工具进行,创建分区时注意分区类型的设置(类型为linux lvm

  • 如果使用的MBR,设置分区类型要为8e
  • 如果使用的是GPT,设置分区类型要为E6D6D379-F507-44C2-A23C-238F2A3DF928
  1. #查看
  2. [root@blogdriverzhang ~]# lsblk
  3. NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  4. sr0     11:0    1 203.6M  0 rom 
  5. vda    253:0    0    50G  0 disk
  6. └─vda1 253:1    0    50G  0 part /
  7. vdb    253:16   0    60G  0 disk
  8. vdc    253:32   0    60G  0 disk
  9.     
  10. #创建分区
  11. [root@blogdriverzhang ~]# fdisk /dev/vdb
  12. Welcome to fdisk (util-linux 2.23.2).
  13.  
  14. Changes will remain in memory only, until you decide to write them.
  15. Be careful before using the write command.
  16.  
  17. Device does not contain a recognized partition table
  18. Building a new DOS disklabel with disk identifier 0x0564503c.
  19.  
  20. Command (m for help): h  #帮助
  21. h: unknown command
  22. Command action
  23.    a   toggle a bootable flag
  24.    b   edit bsd disklabel
  25.    c   toggle the dos compatibility flag
  26.    d   delete a partition
  27.    g   create a new empty GPT partition table
  28.    G   create an IRIX (SGI) partition table
  29.    l   list known partition types
  30.    m   print this menu
  31.    n   add a new partition
  32.    o   create a new empty DOS partition table
  33.    p   print the partition table
  34.    q   quit without saving changes
  35.    s   create a new empty Sun disklabel
  36.    t   change a partition's system id
  37.    u   change display/entry units
  38.    v   verify the partition table
  39.    w   write table to disk and exit
  40.    x   extra functionality (experts only)
  41. Command (m for help): n  #创建新分区
  42. Partition type:
  43.    p   primary (0 primary, 0 extended, 4 free)
  44.    e   extended
  45. Select (default p): p  #选择分区类型主分区还是扩展分区
  46. Partition number (1-4, default 1):  #回车
  47. First sector (2048-125829119, default 2048):  #回车
  48. Using default value 2048
  49. Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119): +10G  #设置大小
  50. Partition 1 of type Linux and of size 10 GiB is set
  51. Command (m for help): t  #更该系统分区的id
  52. Selected partition 1
  53. Hex code (type L to list all codes): L  #列出id代码
  54.  0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris       
  55.  1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
  56.  2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
  57.  3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
  58.  4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx        
  59.  5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data   
  60.  6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
  61.  7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility  
  62.  8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt        
  63.  9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access    
  64.  a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O       
  65.  b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor     
  66.  c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs       
  67.  e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT           
  68.  f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
  69. 10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
  70. 11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor     
  71. 12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor     
  72. 14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary 
  73. 16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS   
  74. 17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
  75. 18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
  76. 1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep       
  77. 1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT           
  78. 1e  Hidden W95 FAT1 80  Old Minix     
  79. Hex code (type L to list all codes): 8e #linux lvm类型
  80. Changed type of partition 'Linux' to 'Linux LVM'
  81.  
  82. Command (m for help): p  #输出打印
  83.  
  84. Disk /dev/vdb: 64.4 GB, 64424509440 bytes, 125829120 sectors
  85. Units = sectors of 1 * 512 = 512 bytes
  86. Sector size (logical/physical): 512 bytes / 512 bytes
  87. I/O size (minimum/optimal): 512 bytes / 512 bytes
  88. Disk label type: dos
  89. Disk identifier: 0x0564503c
  90.  
  91.    Device Boot      Start         End      Blocks   Id  System
  92. /dev/vdb1            2048    20973567    10485760   8e  Linux LVM
  93.  
  94. Command (m for help): w #保存退出 这一步完成才算成功
  95. The partition table has been altered!
  96.  
  97. Calling ioctl() to re-read partition table.
  98. Syncing disks.
  99.                                                    
  100.                                                     #查看                      
  101. [root@blogdriverzhang ~]# fdisk -l
  102.  
  103. Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
  104. Units = sectors of 1 * 512 = 512 bytes
  105. Sector size (logical/physical): 512 bytes / 512 bytes
  106. I/O size (minimum/optimal): 512 bytes / 512 bytes
  107. Disk label type: dos
  108. Disk identifier: 0x0009ac89
  109.  
  110.    Device Boot      Start         End      Blocks   Id  System
  111. /dev/vda1   *        2048   104857566    5242775983  Linux
  112.  
  113. Disk /dev/vdb: 64.4 GB, 64424509440 bytes, 125829120 sectors
  114. Units = sectors of 1 * 512 = 512 bytes
  115. Sector size (logical/physical): 512 bytes / 512 bytes
  116. I/O size (minimum/optimal): 512 bytes / 512 bytes
  117. Disk label type: dos
  118. Disk identifier: 0x0564503c
  119.  
  120.    Device Boot      Start         End      Blocks   Id  System
  121. /dev/vdb1            2048    20973567    10485760   8e  Linux LVM
  122.  
  123. Disk /dev/vdc: 64.4 GB, 64424509440 bytes, 125829120 sectors
  124. Units = sectors of 1 * 512 = 512 bytes
  125. Sector size (logical/physical): 512 bytes / 512 bytes
  126. I/O size (minimum/optimal): 512 bytes / 512 bytes
  127.  
  128.                                                  
  129.                                                    #查看
  130. [root@blogdriverzhang ~]# lsblk
  131. NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  132. sr0     11:0    1 203.6M  0 rom 
  133. vda    253:0    0    50G  0 disk
  134. └─vda1 253:1    0    50G  0 part /
  135. vdb    253:16   0    60G  0 disk
  136. └─vdb1 253:17   0    10G  0 part
  137. vdc    253:32   0    60G  0 disk

同时在创建一个大小为15Glinux lvm类型分区

2)创建物理卷

  1. [root@blogdriverzhang ~]# pvcreate -f /dev/vdb1 /dev/vdc1
  2.   Wiping xfs signature on /dev/vdb1.
  3.   Wiping xfs signature on /dev/vdc1.
  4.   Physical volume "/dev/vdb1" successfully created.
  5.   Physical volume "/dev/vdc1" successfully created.
  6.  
  7. #查看  
  8. [root@blogdriverzhang ~]# pvs
  9.   PV         VG Fmt  Attr PSize  PFree
  10.   /dev/vdb1     lvm2 ---  10.00g 10.00g
  11.   /dev/vdc1     lvm2 ---  15.00g 15.00g
  12.     
  13. 或者
  14.     
  15. [root@blogdriverzhang ~]# pvscan
  16.   PV /dev/vdc1                      lvm2 [15.00 GiB]
  17.   PV /dev/vdb1                      lvm2 [10.00 GiB]
  18.   Total: 2 [25.00 GiB] / in use: 0 [0   ] / in no VG: 2 [25.00 GiB]
  19. [root@blogdriverzhang ~]# pvdisplay

3)创建卷组

  1. [root@blogdriverzhang ~]# vgcreate data01-vg /dev/vdb1 /dev/vdc1
  2.   Volume group "data01-vg" successfully created
  3. [root@blogdriverzhang ~]# vgs
  4.   VG        #PV #LV #SN Attr   VSize  VFree
  5.   data01-vg   2   0   0 wz--n- 24.99g 24.99g
  6.     
  7. #通过pvs知道物理卷所在卷组
  8. [root@blogdriverzhang ~]# pvs
  9.   PV         VG        Fmt  Attr PSize   PFree 
  10.   /dev/vdb1  data01-vg lvm2 a--  <10.00g <10.00g
  11.   /dev/vdc1  data01-vg lvm2 a--  <15.00g <15.00g

4)创建逻辑卷

  1. #创建的两种方式
  2. [root@blogdriverzhang ~]# lvcreate -L +5G data01-vg -n data01-lv
  3.   Logical volume "data01-lv" created.
  4. [root@blogdriverzhang ~]# lvcreate -l 100%Free data01-vg -n data02-lv
  5.   Logical volume "data02-lv" created.
  6.     
  7.  
  8. #查看
  9. [root@blogdriverzhang ~]# lvs
  10.   LV        VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  11.   data01-lv data01-vg -wi-a-----  5.00g                                                   
  12.   data02-lv data01-vg -wi-a----- 19.99g

5)格式化

上面逻辑卷LV创建之后,通常是已经可以在/dev/ocloud/或者/dev/vg_name/下面找到该逻辑卷了,如果找不到的话,可以执行如下命令

  1. # modprobe dm-mod
  2. # vgscan
  3. # vgchange -ay
  1. #格式化
  2. [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data01-lv
  3. [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data02-lv
  4.  
  5.  
  6. #挂载
  7. [root@blogdriverzhang ~]# mount /dev/data01-vg/data01-lv /data1
  8. [root@blogdriverzhang ~]# mount /dev/data01-vg/data02-lv /data2
  9.     
  10. #查看
  11. [root@blogdriverzhang ~]# df -h
  12. Filesystem                         Size  Used Avail Use% Mounted on
  13. devtmpfs                           3.8G     0  3.8G   0% /dev
  14. tmpfs                              3.8G   24K  3.8G   1% /dev/shm
  15. tmpfs                              3.8G  544K  3.8G   1% /run
  16. tmpfs                              3.8G     0  3.8G   0% /sys/fs/cgroup
  17. /dev/vda1                           50G  2.4G   45G   5% /
  18. tmpfs                              760M     0  760M   0% /run/user/0
  19. /dev/mapper/data01--vg-data01--lv  5.0G   33M  5.0G   1% /data1
  20. /dev/mapper/data01--vg-data02--lv   20G   33M   20G   1% /data2

6)删除lv,vg,pv

  1. #卸载
  2. [root@blogdriverzhang ~]# umount /data1
  3. [root@blogdriverzhang ~]# umount /data2
  4.  
  5.     
  6. #删除逻辑卷
  7. ^[[D[root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data01-lv
  8.   Logical volume "data01-lv" successfully removed
  9. [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data02-lv
  10.   Logical volume "data02-lv" successfully removed
  11. [root@blogdriverzhang ~]# lvs
  12.  
  13.    
  14. #删除卷组
  15. [root@blogdriverzhang ~]# vgremove -f data01-vg
  16.   Volume group "data01-vg" successfully removed
  17. [root@blogdriverzhang ~]# vgs
  18.   
  19.    
  20. #删除物理卷
  21. [root@blogdriverzhang ~]# pvremove -f /dev/vdb1
  22.   Labels on physical volume "/dev/vdb1" successfully wiped.
  23. [root@blogdriverzhang ~]# pvremove -f /dev/vdc1
  24.   Labels on physical volume "/dev/vdc1" successfully wiped.
  25. [root@blogdriverzhang ~]# pvs

7)删除磁盘分区

  1. [root@blogdriverzhang ~]# fdisk /dev/vdb
  2. Welcome to fdisk (util-linux 2.23.2).
  3.  
  4. Changes will remain in memory only, until you decide to write them.
  5. Be careful before using the write command.
  6.  
  7.  
  8. Command (m for help): d  #删除分区
  9. Selected partition 1
  10. Partition 1 is deleted
  11.  
  12. Command (m for help): w  #保存退出
  13. The partition table has been altered!
  14.  
  15. Calling ioctl() to re-read partition table.
  16. Syncing disks.
  17.     
  18.     
  19. #查看分区信息
  20. [root@blogdriverzhang ~]# lsblk
  21. NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  22. sr0     11:0    1 203.6M  0 rom 
  23. vda    253:0    0    50G  0 disk
  24. └─vda1 253:1    0    50G  0 part /
  25. vdb    253:16   0    60G  0 disk
  26. vdc    253:32   0    60G  0 disk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值