LVM逻辑详解
[toc]
物理卷就是指硬盘分区或从逻辑分区具有同样功能的设备(如RAID),是lvm的基本存储逻辑块,它是LVM构建的实际硬件或存储系统。
lvm卷组类似于非lvm系统中的物理硬盘。其由物理卷组成,可以在卷组上创建一个或多个lvm分区,由一个或者多个物理卷组成。设备文件系统中显示为/dev/name_vg。
逻辑卷是可供系统使用的最终元设备,他们在卷组中创建和管理,由物理块组成,实际上就是一个虚拟分区,并显示为/dev/name_vg/name_lv,通常再其上可以创建文件系统。
一个卷组中最小的连续区域(默认为4MiB),多个物理块将被分配给一个逻辑卷。你可以把它看成物理卷的一部分,这部分可以被分配给一个逻辑卷。
LE:逻辑卷也被划分为被称为LE的可被寻址的基本单位,在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
比起传统的硬盘分区管理方式,LVM更富于灵活性
- 将多块硬盘看做一块大硬盘
- 使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区
- 可以创建小的逻辑卷(LV),在空间不足的时候在动态调整它的大小
- 在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续的空间
- 可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建,删除,调整大小等操作。不过LVM上的文件系统也需要重新调整大小,好在某些文件系统(例如ext4)也支持在线操作
- 无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上
- 允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小
- 支持各种设备映射目标,包括透明文件系统加密和缓存常用数据。这将允许你创建一个包含一个或多个磁盘,并用LUKS加密的系统,使用LVM on top可轻松的管理和调整这些独立的加密卷,并免去开机时多次输入密钥的麻烦
- 在系统设置时需要更复杂的额外步骤
- Windows系统不支持LVM,若使用双系统,你将无法在Windows上访问LVM分区
创建LV有两种方式,一种是基于磁盘的,另一种是基于分区的。如果是基于分区的需要通过fdisk或者parted方式划好分区,但不要继续格式化,然后使用pvcreate创建物理卷;如果基于磁盘的就不要创建分区,直接通过pvcreate来创建物理卷,只有创建好了物理卷之后才能添加到卷组,并且卷组里面创建逻辑卷后格式化才能存放数据
依次为:disk(磁盘)->PV(物理卷)->VG(卷组)->LV(逻辑卷)->fs
- [root@blogdriverzhang ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 203.6M 0 rom
- vda 253:0 0 50G 0 disk
- └─vda1 253:1 0 50G 0 part /
- vdb 253:16 0 60G 0 disk
- vdc 253:32 0 60G 0 disk
- [root@blogdriverzhang ~]# lvmdiskscan
- /dev/vda1 [ <50.00 GiB]
- /dev/vdb [ 60.00 GiB]
- /dev/vdc [ 60.00 GiB]
- 2 disks
- 1 partition
- 0 LVM physical volume whole disks
- 0 LVM physical volumes
从上面可以看到sda是系统分区,vdb和vdc是数据盘
- #创建物理卷
- [root@blogdriverzhang ~]# pvcreate -f /dev/vdb
- Wiping dos signature on /dev/vdb.
- Physical volume "/dev/vdb" successfully created.
- #查看
- [root@blogdriverzhang ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vdb lvm2 --- 60.00g 60.00g
- #创建卷组
- [root@blogdriverzhang ~]# vgcreate -f data01-vg /dev/vdb
- Volume group "data01-vg" successfully created
- #查看
- [root@blogdriverzhang ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- data01-vg 1 0 0 wz--n- <60.00g <60.00g
注:
data01-vg是子集命令的便于识别的卷组标识名;
要划分多个目录数小于物理卷数,可以将具体的单个磁盘作为一个卷组早划分一个逻辑卷提供给一个集体目录使用;
如果要划分的目录数大于物理卷数。比如俩个物理卷要划分3个目录使用的情况,可以将俩个物理卷分给同一个卷组: vgcreate -f ocloud-vg /dev/nvme0n1 /dev/nvme0n2 (以此类推),再在卷组上划分多个逻辑卷给多个目录使用;
- #在前一个的基础上添加新的物理卷
- [root@blogdriverzhang ~]# pvcreate -f /dev/vdc
- Physical volume "/dev/vdc" successfully created.
- #查看
- [root@blogdriverzhang ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vdb data01-vg lvm2 a-- <60.00g <60.00g
- /dev/vdc lvm2 --- 60.00g 60.00g
- [root@blogdriverzhang ~]# vgextend data01-vg /dev/vdc
- Volume group "data01-vg" successfully extended
- #查看
- [root@blogdriverzhang ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- data01-vg 2 0 0 wz--n- 119.99g 119.99g
可以发现2个大小60G的物理卷组成了一个120G的卷组
要从一个卷组中删除一个物理卷,首先确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命名查看一个该物理卷的信息,如果某个物理卷正在被逻辑卷所使用,就需要将改物理卷的数据备份到其他地方,然后在删除。移除卷组中物理卷的命令为:vgreduce
- #未删除前物理卷的信息
- [root@blogdriverzhang ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vdb data01-vg lvm2 a-- <60.00g <60.00g
- /dev/vdc data01-vg lvm2 a-- <60.00g <60.00g
- #未删除前卷组的信息
- [root@blogdriverzhang ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- data01-vg 2 0 0 wz--n- 119.99g 119.99g
- #删除卷组中的一个物理卷
- [root@blogdriverzhang ~]# vgreduce data01-vg /dev/vdc
- Removed "/dev/vdc" from volume group "data01-vg"
- #再次查看发现卷组中只有一个物理卷大小由120G变为60G
- [root@blogdriverzhang ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- data01-vg 1 0 0 wz--n- <60.00g <60.00g
- #物理卷中vdc无卷组
- [root@blogdriverzhang ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vdb data01-vg lvm2 a-- <60.00g <60.00g
- /dev/vdc lvm2 --- 60.00g 60.00g
- #指定大小的逻辑卷
- [root@blogdriverzhang ~]# lvcreate -n data01-lv -L +10G data01-vg
- Logical volume "data01-lv" created.
- #查看
- [root@blogdriverzhang ~]# lvs
- LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
- data01-lv data01-vg -wi-a----- 10.00g
- #扩张逻辑卷(逻辑卷只能扩展不能缩)
- [root@blogdriverzhang ~]# lvextend -L +5G /dev/data01-vg/data01-lv
- Size of logical volume data01-vg/data01-lv changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
- Logical volume data01-vg/data01-lv successfully resized.
- #查看
- [root@blogdriverzhang ~]# lvs
- LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
- data01-lv data01-vg -wi-a----- 15.00g
注意:
如果逻辑卷已经创建好文件系统后扩了逻辑卷,文件系统容量不能增加。需要执行如下命 令后文件系统容量才会显示正常:
xfs_growfs /dev/ocloud-vg/data1-lv
8)通过百分比的方式将卷组的空间分成相同大小的逻辑卷(第二种方式)
- #添加之前查看
- [root@blogdriverzhang ~]# lvs
- LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
- data01-lv data01-vg -wi-a----- 15.00g
- #添加
- [root@blogdriverzhang ~]# lvcreate -l 50%Free -n data2-lv data01-vg
- Logical volume "data2-lv" created.
- #查看
- [root@blogdriverzhang ~]# lvs
- LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
- data01-lv data01-vg -wi-a----- 15.00g
- data2-lv data01-vg -wi-a----- <22.50g
- #再添加
- [root@blogdriverzhang ~]# lvcreate -l 100%Free -n data3-lv data01-vg
- Logical volume "data3-lv" created.
- #查看将剩余的45个G平均分配两个逻辑卷
- [root@blogdriverzhang ~]# lvs
- LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
- data01-lv data01-vg -wi-a----- 15.00g
- data2-lv data01-vg -wi-a----- <22.50g
- data3-lv data01-vg -wi-a----- 22.50g
注:
剩余空间分成相同的2份,第一次lvcreate时候应该写50%Free,第2次lvcreate的时候写成100%Free
同理剩余空间分成相同的3份,第一次lvcreate时候写35%Free,第二次执行lvcreate的时候写50%Free。第三次执行lvcreate的时候写100%Free。
- [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data01-lv
- meta-data=/dev/data01-vg/data01-lv isize=512 agcount=4, agsize=983040 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=0, sparse=0
- data = bsize=4096 blocks=3932160, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal log bsize=4096 blocks=2560, version=2
- = sectsz=512 sunit=0 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
- [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data2-lv
- meta-data=/dev/data01-vg/data2-lv isize=512 agcount=4, agsize=1474304 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=0, sparse=0
- data = bsize=4096 blocks=5897216, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal log bsize=4096 blocks=2879, version=2
- = sectsz=512 sunit=0 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
- [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data3-lv
- meta-data=/dev/data01-vg/data3-lv isize=512 agcount=4, agsize=1474560 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=0, sparse=0
- data = bsize=4096 blocks=5898240, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal log bsize=4096 blocks=2880, version=2
- = sectsz=512 sunit=0 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
- #创建挂载目录
- [root@blogdriverzhang ~]# mkdir -p /{data1,data2,data3}
- #写入挂载文件
- [root@blogdriverzhang ~]# cat >>/etc/fstab<< eof
- > /dev/data01-vg/data01-lv /data1 xfs defaults 0 0
- > /dev/data01-vg/data2-lv /data2 xfs defaults 0 0
- > /dev/data01-vg/data3-lv /data3 xfs defaults 0 0
- > eof
- #挂载
- [root@blogdriverzhang ~]# mount -a
- #查看
- [root@blogdriverzhang ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 203.6M 0 rom
- vda 253:0 0 50G 0 disk
- └─vda1 253:1 0 50G 0 part /
- vdb 253:16 0 60G 0 disk
- ├─data01--vg-data01--lv 252:0 0 15G 0 lvm /data1
- ├─data01--vg-data2--lv 252:1 0 22.5G 0 lvm /data2
- └─data01--vg-data3--lv 252:2 0 22.5G 0 lvm /data3
- vdc 253:32 0 60G 0 disk
- [root@blogdriverzhang ~]# df -h
- Filesystem Size Used Avail Use% Mounted on
- devtmpfs 3.8G 0 3.8G 0% /dev
- tmpfs 3.8G 24K 3.8G 1% /dev/shm
- tmpfs 3.8G 540K 3.8G 1% /run
- tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
- /dev/vda1 50G 2.4G 45G 5% /
- tmpfs 760M 0 760M 0% /run/user/0
- /dev/mapper/data01--vg-data01--lv 15G 33M 15G 1% /data1
- /dev/mapper/data01--vg-data2--lv 23G 33M 23G 1% /data2
- /dev/mapper/data01--vg-data3--lv 23G 33M 23G 1% /data3
- #卸载挂载目录
- [root@blogdriverzhang ~]# umount /data1 /data2 /data3
- #注释/etc/fstab的信息
- #/dev/data01-vg/data01-lv /data1 xfs defaults 0 0
- #/dev/data01-vg/data2-lv /data2 xfs defaults 0 0
- #/dev/data01-vg/data3-lv /data3 xfs defaults 0 0
- #查看磁盘信息显示分区挂载已经卸载
- [root@blogdriverzhang ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 203.6M 0 rom
- vda 253:0 0 50G 0 disk
- └─vda1 253:1 0 50G 0 part /
- vdb 253:16 0 60G 0 disk
- ├─data01--vg-data01--lv 252:0 0 15G 0 lvm
- ├─data01--vg-data2--lv 252:1 0 22.5G 0 lvm
- └─data01--vg-data3--lv 252:2 0 22.5G 0 lvm
- vdc 253:32 0 60G 0 disk
- #删除逻辑卷
- [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data01-lv
- Logical volume "data01-lv" successfully removed
- [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data
- [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data2-lv
- Logical volume "data2-lv" successfully removed
- [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data3-lv
- Logical volume "data3-lv" successfully removed
- #查看是否已删除
- [root@blogdriverzhang ~]# lvs
- #查看是否存在
- [root@blogdriverzhang ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- data01-vg 1 0 0 wz--n- <60.00g <60.00g
- #删除卷组
- [root@blogdriverzhang ~]# vgremove -f data01-vg
- Volume group "data01-vg" successfully removed
- #在查看无卷组
- [root@blogdriverzhang ~]# vgs
- #查看
- [root@blogdriverzhang ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vdb lvm2 --- 60.00g 60.00g
- /dev/vdc lvm2 --- 60.00g 60.00g
- #删除
- [root@blogdriverzhang ~]# pvremove -f /dev/vdb
- Labels on physical volume "/dev/vdb" successfully wiped.
- [root@blogdriverzhang ~]# pvremove -f /dev/vdc
- Labels on physical volume "/dev/vdc" successfully wiped.
- #查看
- [root@blogdriverzhang ~]# pvs
- dd if=/dev/zero of=/dev/vdb bs=50M count=1024
- dd if=/dev/zero of=/dev/vdc bs=50M count=1024
依次为disk(磁盘)->partition(分区)->PV(物理卷)->VG(卷组)->(逻辑卷)->文件系统
使用fdisk或者parted工具进行,创建分区时注意分区类型的设置(类型为linux lvm)
- 如果使用的MBR,设置分区类型要为8e
- 如果使用的是GPT,设置分区类型要为E6D6D379-F507-44C2-A23C-238F2A3DF928
- #查看
- [root@blogdriverzhang ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 203.6M 0 rom
- vda 253:0 0 50G 0 disk
- └─vda1 253:1 0 50G 0 part /
- vdb 253:16 0 60G 0 disk
- vdc 253:32 0 60G 0 disk
- #创建分区
- [root@blogdriverzhang ~]# fdisk /dev/vdb
- Welcome to fdisk (util-linux 2.23.2).
- Changes will remain in memory only, until you decide to write them.
- Be careful before using the write command.
- Device does not contain a recognized partition table
- Building a new DOS disklabel with disk identifier 0x0564503c.
- Command (m for help): h #帮助
- h: unknown command
- Command action
- a toggle a bootable flag
- b edit bsd disklabel
- c toggle the dos compatibility flag
- d delete a partition
- g create a new empty GPT partition table
- G create an IRIX (SGI) partition table
- l list known partition types
- m print this menu
- n add a new partition
- o create a new empty DOS partition table
- p print the partition table
- q quit without saving changes
- s create a new empty Sun disklabel
- t change a partition's system id
- u change display/entry units
- v verify the partition table
- w write table to disk and exit
- x extra functionality (experts only)
- 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, default 1): #回车
- First sector (2048-125829119, default 2048): #回车
- Using default value 2048
- Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119): +10G #设置大小
- Partition 1 of type Linux and of size 10 GiB is set
- Command (m for help): t #更该系统分区的id
- Selected partition 1
- Hex code (type L to list all codes): L #列出id代码
- 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
- 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
- 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
- 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
- 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
- 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
- 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
- a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
- b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
- c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
- e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
- f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
- 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
- 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
- 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
- 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
- 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
- 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
- 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
- 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
- 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
- 1e Hidden W95 FAT1 80 Old Minix
- Hex code (type L to list all codes): 8e #linux lvm类型
- Changed type of partition 'Linux' to 'Linux LVM'
- Command (m for help): p #输出打印
- Disk /dev/vdb: 64.4 GB, 64424509440 bytes, 125829120 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: 0x0564503c
- Device Boot Start End Blocks Id System
- /dev/vdb1 2048 20973567 10485760 8e Linux LVM
- Command (m for help): w #保存退出 这一步完成才算成功
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- Syncing disks.
- #查看
- [root@blogdriverzhang ~]# fdisk -l
- Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 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: 0x0009ac89
- Device Boot Start End Blocks Id System
- /dev/vda1 * 2048 104857566 52427759+ 83 Linux
- Disk /dev/vdb: 64.4 GB, 64424509440 bytes, 125829120 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: 0x0564503c
- Device Boot Start End Blocks Id System
- /dev/vdb1 2048 20973567 10485760 8e Linux LVM
- Disk /dev/vdc: 64.4 GB, 64424509440 bytes, 125829120 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
- #查看
- [root@blogdriverzhang ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 203.6M 0 rom
- vda 253:0 0 50G 0 disk
- └─vda1 253:1 0 50G 0 part /
- vdb 253:16 0 60G 0 disk
- └─vdb1 253:17 0 10G 0 part
- vdc 253:32 0 60G 0 disk
同时在创建一个大小为15G的linux lvm类型分区
- [root@blogdriverzhang ~]# pvcreate -f /dev/vdb1 /dev/vdc1
- Wiping xfs signature on /dev/vdb1.
- Wiping xfs signature on /dev/vdc1.
- Physical volume "/dev/vdb1" successfully created.
- Physical volume "/dev/vdc1" successfully created.
- #查看
- [root@blogdriverzhang ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vdb1 lvm2 --- 10.00g 10.00g
- /dev/vdc1 lvm2 --- 15.00g 15.00g
- 或者
- [root@blogdriverzhang ~]# pvscan
- PV /dev/vdc1 lvm2 [15.00 GiB]
- PV /dev/vdb1 lvm2 [10.00 GiB]
- Total: 2 [25.00 GiB] / in use: 0 [0 ] / in no VG: 2 [25.00 GiB]
- [root@blogdriverzhang ~]# pvdisplay
- [root@blogdriverzhang ~]# vgcreate data01-vg /dev/vdb1 /dev/vdc1
- Volume group "data01-vg" successfully created
- [root@blogdriverzhang ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- data01-vg 2 0 0 wz--n- 24.99g 24.99g
- #通过pvs知道物理卷所在卷组
- [root@blogdriverzhang ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vdb1 data01-vg lvm2 a-- <10.00g <10.00g
- /dev/vdc1 data01-vg lvm2 a-- <15.00g <15.00g
- #创建的两种方式
- [root@blogdriverzhang ~]# lvcreate -L +5G data01-vg -n data01-lv
- Logical volume "data01-lv" created.
- [root@blogdriverzhang ~]# lvcreate -l 100%Free data01-vg -n data02-lv
- Logical volume "data02-lv" created.
- #查看
- [root@blogdriverzhang ~]# lvs
- LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
- data01-lv data01-vg -wi-a----- 5.00g
- data02-lv data01-vg -wi-a----- 19.99g
上面逻辑卷LV创建之后,通常是已经可以在/dev/ocloud/或者/dev/vg_name/下面找到该逻辑卷了,如果找不到的话,可以执行如下命令
- # modprobe dm-mod
- # vgscan
- # vgchange -ay
- #格式化
- [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data01-lv
- [root@blogdriverzhang ~]# mkfs.xfs /dev/data01-vg/data02-lv
- #挂载
- [root@blogdriverzhang ~]# mount /dev/data01-vg/data01-lv /data1
- [root@blogdriverzhang ~]# mount /dev/data01-vg/data02-lv /data2
- #查看
- [root@blogdriverzhang ~]# df -h
- Filesystem Size Used Avail Use% Mounted on
- devtmpfs 3.8G 0 3.8G 0% /dev
- tmpfs 3.8G 24K 3.8G 1% /dev/shm
- tmpfs 3.8G 544K 3.8G 1% /run
- tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
- /dev/vda1 50G 2.4G 45G 5% /
- tmpfs 760M 0 760M 0% /run/user/0
- /dev/mapper/data01--vg-data01--lv 5.0G 33M 5.0G 1% /data1
- /dev/mapper/data01--vg-data02--lv 20G 33M 20G 1% /data2
- #卸载
- [root@blogdriverzhang ~]# umount /data1
- [root@blogdriverzhang ~]# umount /data2
- #删除逻辑卷
- ^[[D[root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data01-lv
- Logical volume "data01-lv" successfully removed
- [root@blogdriverzhang ~]# lvremove -f /dev/data01-vg/data02-lv
- Logical volume "data02-lv" successfully removed
- [root@blogdriverzhang ~]# lvs
- #删除卷组
- [root@blogdriverzhang ~]# vgremove -f data01-vg
- Volume group "data01-vg" successfully removed
- [root@blogdriverzhang ~]# vgs
- #删除物理卷
- [root@blogdriverzhang ~]# pvremove -f /dev/vdb1
- Labels on physical volume "/dev/vdb1" successfully wiped.
- [root@blogdriverzhang ~]# pvremove -f /dev/vdc1
- Labels on physical volume "/dev/vdc1" successfully wiped.
- [root@blogdriverzhang ~]# pvs
7)删除磁盘分区
- [root@blogdriverzhang ~]# fdisk /dev/vdb
- Welcome to fdisk (util-linux 2.23.2).
- Changes will remain in memory only, until you decide to write them.
- Be careful before using the write command.
- Command (m for help): d #删除分区
- Selected partition 1
- Partition 1 is deleted
- Command (m for help): w #保存退出
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- Syncing disks.
- #查看分区信息
- [root@blogdriverzhang ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sr0 11:0 1 203.6M 0 rom
- vda 253:0 0 50G 0 disk
- └─vda1 253:1 0 50G 0 part /
- vdb 253:16 0 60G 0 disk
- vdc 253:32 0 60G 0 disk