一、概述
物理卷 (Physical Volume ,PV):指硬盘分区,创建的raid ,是LVM基本存储设备。
卷组(Volume Gruop,VG):由一个或多个物理卷组成的存储池 ,可划分一个或多个逻辑卷。
逻辑卷(Logical Volume,LV):它建立在卷组之上,由VG划出的逻辑卷,是一个标准的块设备,在逻辑卷之上可以建立文件系统。
二、创建物理分区
1.创建sdb1 sdc1分区 ,并把分区类型设置为Linux LVM
#分区前可先查看硬盘情况,找到磁盘名称 /dev/sdb [root@localhost ~]# fdisk -l
#对新的磁盘进行分区及格式化的工作 [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):m 帮助: DOS (MBR) a 开关 可启动 标志 b 编辑嵌套的 BSD 磁盘标签 c 开关 dos 兼容性标志 常规 d 删除分区 F 列出未分区的空闲区 l 列出已知分区类型 n 添加新分区 p 打印分区表 t 更改分区类型 v 检查分区表 i 打印某个分区的相关信息 杂项 m 打印此菜单 u 更改 显示/记录 单位 x 更多功能(仅限专业人员) 脚本 I 从 sfdisk 脚本文件加载磁盘布局 O 将磁盘布局转储为 sfdisk 脚本文件 保存并退出 w 将分区表写入磁盘并退出 q 退出而不保存更改 新建空磁盘标签 g 新建一份 GPT 分区表 G 新建一份空 GPT (IRIX) 分区表 o 新建一份的空 DOS 分区表 s 新建一份空 Sun 分区表 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039): 将使用默认值 41943039 分区 1 已设置为 Linux 类型,大小设为 20 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xb55f0820 设备 Boot Start End Blocks Id System /dev/sdb1 2048 41943039 20970496 83 Linux 命令(输入 m 获取帮助):T 已选择分区 1 Hex 代码(输入 L 列出所有代码):L 0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris 1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / 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 隐藏的 C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx 5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据 6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具 8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt 9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问 a OS/2 启动管理器 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 休 eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC 11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要 16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动 1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep 1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT 1e 隐藏的 W95 FAT1 80 旧 Minix Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xb55f0820 设备 Boot Start End Blocks Id System /dev/sdb1 2048 41943039 20970496 8e Linux LVM 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
2.partprobe #partprobe 内核重新读取sdb分区
[root@localhost ~]# partprobe /dev/sdb [root@localhost ~]#
3.fdisk -l #显示当前设备所有硬盘及分区情况
#分区前可先查看硬盘情况 [root@localhost ~]# fdisk -l 磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfb9825ed 设备 Boot Start End Blocks Id System /dev/sdc1 2048 41943039 20970496 8e Linux LVM 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xb55f0820 设备 Boot Start End Blocks Id System /dev/sdb1 2048 41943039 20970496 8e Linux LVM 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0008aef4 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 41943039 20458496 8e Linux LVM 磁盘 /dev/mapper/rhel-root:18.8 GB, 18798870528 字节,36716544 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/rhel-swap:2147 MB, 2147483648 字节,4194304 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
三、创建物理卷
1.pvcreate #分别把sdb1 ,sdc1创建为物理卷
[root@localhost ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created [root@localhost ~]# pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created
2.pvdisplay #查看当前物理卷
[root@localhost ~]# pvdisplay "/dev/sdb1" is a new physical volume of "20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 7IaXzk-kfTO-r6Jh-XN36-7taH-Qj6l-EtzBGu "/dev/sdc1" is a new physical volume of "20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc1 VG Name PV Size 20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID cUtMRf-2EZc-0UDy-Du1p-ccHz-WT6R-eqFHK3
四、创建卷组
1.vgcreate #创建卷组
vgcreate [卷组名] [物理卷] [root@localhost ~]# vgcreate today /dev/sdb1 /dev/sdc1 Volume group "today" successfully created
2.vgdisplay #查看当前卷组
[root@localhost ~]# vgdisplay --- Volume group --- VG Name today 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 39.99 GiB PE Size 4.00 MiB Total PE 10238 Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB VG UUID hcdQBj-UmEq-XGr1-ghTP-cQBz-avZp-Iaeip1
五、创建逻辑卷
1.lvcreate #创建逻辑卷(即* lv 名)
lvcreate -n [逻辑卷名] -L [逻辑卷大小K、M、G、T] [卷组名] [root@localhost ~]# lvcreate -n luojijuan -L 10G today Logical volume "luojijuan" created
2.lvdisplay #查看当前逻辑卷
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/today/luojijuan LV Name luojijuan VG Name today LV UUID SNnvB7-mjso-7LL9-Smki-7n0Z-QF1F-a10UBR LV Write Access read/write LV Creation host, time localhost.localdomain, 2022-06-12 20:14:00 +0800 LV Status available # open 0 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
3.mkfs.ext4 #创建文件系统(格式化mkfs -t ext4 /dev/today/luojijuan命令也可)
[root@localhost ~]# mkfs.ext4 /dev/today/luojijuan mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 2621440 blocks 131072 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2151677952 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
六、挂载文件分区
0.通过命令挂载逻辑卷 并 修改开机挂载文件
[root@localhost /]# mkdir /data [root@localhost /]# mount /dev/mapper/today-luojijuan /data [root@localhost /]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 9.7M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/rhel-root 36G 14G 22G 38% / /dev/nvme0n1p1 1014M 230M 785M 23% /boot tmpfs 376M 1.2M 375M 1% /run/user/42 tmpfs 376M 4.0K 376M 1% /run/user/0 /dev/mapper/today-luojijuan 7.9G 36M 7.4G 1% /data [root@localhost ~]# blkid /dev/sr0: UUID="2014-05-07-03-58-46-00" LABEL="RHEL-7.0 Server.x86_64" TYPE="iso9660" PTTYPE="dos" /dev/sdc1: UUID="cUtMRf-2EZc-0UDy-Du1p-ccHz-WT6R-eqFHK3" TYPE="LVM2_member" /dev/sdb1: UUID="7IaXzk-kfTO-r6Jh-XN36-7taH-Qj6l-EtzBGu" TYPE="LVM2_member" /dev/sda1: UUID="a8892d30-12d4-4528-88ee-df07c383a994" TYPE="xfs" /dev/sda2: UUID="albCC7-e3Og-43VO-Hjv9-7Wei-sTqJ-eulnJg" TYPE="LVM2_member" /dev/mapper/rhel-root: UUID="ec1e4e5d-bc8c-4a47-8dcf-4ceb862ae0a4" TYPE="xfs" /dev/mapper/rhel-swap: UUID="884f5087-f5b9-44d8-bfd1-afdb1f53fd21" TYPE="swap" /dev/mapper/today-luojijuan: UUID="b7abe21a-841e-46d3-a9cd-7b144a756f5b" TYPE="ext4" UUID=b7abe21a-841e-46d3-a9cd-7b144a756f5b /data ext4 defaults 0 0 #通过uuid把逻辑卷挂载在/data [root@localhost ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Wed Jun 1 21:59:54 2022 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/rhel-root / xfs defaults 1 1 UUID=a8892d30-12d4-4528-88ee-df07c383a994 /boot xfs defaults 1 2 /dev/mapper/rhel-swap swap swap defaults 0 0 UUID=b7abe21a-841e-46d3-a9cd-7b144a756f5b /data ext4 defaults 0 0
1.通过UUID挂载逻辑卷(直接通过修改文件)
blkid #查看UUID [root@localhost ~]# blkid /dev/sr0: UUID="2014-05-07-03-58-46-00" LABEL="RHEL-7.0 Server.x86_64" TYPE="iso9660" PTTYPE="dos" /dev/sdc1: UUID="cUtMRf-2EZc-0UDy-Du1p-ccHz-WT6R-eqFHK3" TYPE="LVM2_member" /dev/sdb1: UUID="7IaXzk-kfTO-r6Jh-XN36-7taH-Qj6l-EtzBGu" TYPE="LVM2_member" /dev/sda1: UUID="a8892d30-12d4-4528-88ee-df07c383a994" TYPE="xfs" /dev/sda2: UUID="albCC7-e3Og-43VO-Hjv9-7Wei-sTqJ-eulnJg" TYPE="LVM2_member" /dev/mapper/rhel-root: UUID="ec1e4e5d-bc8c-4a47-8dcf-4ceb862ae0a4" TYPE="xfs" /dev/mapper/rhel-swap: UUID="884f5087-f5b9-44d8-bfd1-afdb1f53fd21" TYPE="swap" /dev/mapper/today-luojijuan: UUID="b7abe21a-841e-46d3-a9cd-7b144a756f5b" TYPE="ext4" UUID=b7abe21a-841e-46d3-a9cd-7b144a756f5b /mnt/luojijuan ext4 defaults 0 0 #通过uuid把逻辑卷挂载在/mnt/luojijuan [root@localhost ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Wed Jun 1 21:59:54 2022 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/rhel-root / xfs defaults 1 1 UUID=a8892d30-12d4-4528-88ee-df07c383a994 /boot xfs defaults 1 2 /dev/mapper/rhel-swap swap swap defaults 0 0 UUID=b7abe21a-841e-46d3-a9cd-7b144a756f5b /mnt/luojijuan ext4 defaults 0 0
2.df -hT #查看当前挂载分区
[root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root xfs 18G 4.7G 13G 27% / devtmpfs devtmpfs 908M 0 908M 0% /dev tmpfs tmpfs 914M 0 914M 0% /dev/shm tmpfs tmpfs 914M 8.6M 905M 1% /run tmpfs tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/sda1 xfs 497M 96M 401M 20% /boot /dev/mapper/today-luojijuan ext4 9.8G 37M 9.2G 1% /mnt/luojijuan
七、扩容卷组 #卷组有多余容量,可以直接给逻辑卷扩容
pvcreate /dev/sdd1 #sdd1配置为物理卷 vgextend today /dev/sdd1 #物理卷ssd1扩容到today卷组 [root@localhost ~]# pvcreate /dev/sdd1 Physical volume "/dev/sdd1" successfully created [root@localhost ~]# vgextend today /dev/sdd1 Volume group "today" successfully extended [root@localhost ~]# vgdisplay --- Volume group --- VG Name today System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 3 Act PV 3 VG Size 49.99 GiB PE Size 4.00 MiB Total PE 12797 Alloc PE / Size 3072 / 12.00 GiB Free PE / Size 9725 / 37.99 GiB VG UUID hcdQBj-UmEq-XGr1-ghTP-cQBz-avZp-Iaeip1
八、扩容逻辑卷
lvextend -L +2G /dev/today/luojijuan #给逻辑卷增加2G容量 resize2fs /dev/today/luojijuan #使增加容量生效(ext4) [root@localhost ~]# lvextend -L +2G /dev/today/luojijuan Extending logical volume luojijuan to 12.00 GiB Logical volume luojijuan successfully resized [root@localhost ~]# resize2fs /dev/today/luojijuan resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/today/luojijuan is mounted on /mnt/luojijuan; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 2 The filesystem on /dev/today/luojijuan is now 3145728 blocks long. [root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root xfs 18G 4.7G 13G 27% / devtmpfs devtmpfs 908M 0 908M 0% /dev tmpfs tmpfs 914M 0 914M 0% /dev/shm tmpfs tmpfs 914M 8.6M 905M 1% /run tmpfs tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/sda1 xfs 497M 96M 401M 20% /boot /dev/mapper/today-luojijuan ext4 12G 41M 12G 1% /mnt/luojijuan [root@localhost ~]# [root@localhost ~]# lvdisplay /dev/today/luojijuan --- Logical volume --- LV Path /dev/today/luojijuan LV Name luojijuan VG Name today LV UUID SNnvB7-mjso-7LL9-Smki-7n0Z-QF1F-a10UBR LV Write Access read/write LV Creation host, time localhost.localdomain, 2022-06-12 20:14:00 +0800 LV Status available # open 1 LV Size 12.00 GiB Current LE 3072 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
九、 减少逻辑卷 #减少/缩小逻辑卷是数据损坏的最高风险。
1. 解挂载逻辑卷文件系统 2. e2fsck -f /dev/today/luojijuan #检查文件系统是否有错误 3. resize2fs /dev/today/luojijuan 8G #缩小文件系统至8G 4. lvreduce -L 8G /dev/today/luojijuan #减少逻辑卷至8G(LVM) 5. 挂载文件系统 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root 18G 4.7G 13G 27% / devtmpfs 908M 0 908M 0% /dev tmpfs 914M 0 914M 0% /dev/shm tmpfs 914M 8.6M 905M 1% /run tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/sda1 497M 96M 401M 20% /boot /dev/mapper/today-luojijuan 12G 41M 12G 1% /mnt/luojijuan [root@localhost ~]# umount /dev/today/luojijuan [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root 18G 4.7G 13G 27% / devtmpfs 908M 0 908M 0% /dev tmpfs 914M 0 914M 0% /dev/shm tmpfs 914M 8.6M 905M 1% /run tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/sda1 497M 96M 401M 20% /boot [root@localhost ~]# e2fsck -f /dev/today/luojijuan e2fsck 1.42.9 (28-Dec-2013) 第一步: 检查inode,块,和大小 第二步: 检查目录结构 第3步: 检查目录连接性 Pass 4: Checking reference counts 第5步: 检查簇概要信息 /dev/today/luojijuan: 11/786432 files (0.0% non-contiguous), 92388/3145728 blocks [root@localhost ~]# resize2fs /dev/today/luojijuan 8G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/today/luojijuan to 2097152 (4k) blocks. The filesystem on /dev/today/luojijuan is now 2097152 blocks long. [root@localhost ~]# lvreduce -L 8G /dev/today/luojijuan WARNING: Reducing active logical volume to 8.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce luojijuan? [y/n]: y Reducing logical volume luojijuan to 8.00 GiB Logical volume luojijuan successfully resized [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/today/luojijuan LV Name luojijuan VG Name today LV UUID SNnvB7-mjso-7LL9-Smki-7n0Z-QF1F-a10UBR LV Write Access read/write LV Creation host, time localhost.localdomain, 2022-06-12 20:14:00 +0800 LV Status available # open 0 LV Size 8.00 GiB Current LE 2048 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@localhost ~]# mount /dev/today/luojijuan /mnt/luojijuan/ [root@localhost ~]# [root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root xfs 18G 4.7G 13G 27% / devtmpfs devtmpfs 908M 0 908M 0% /dev tmpfs tmpfs 914M 0 914M 0% /dev/shm tmpfs tmpfs 914M 8.6M 905M 1% /run tmpfs tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/sda1 xfs 497M 96M 401M 20% /boot /dev/mapper/today-luojijuan ext4 7.8G 37M 7.3G 1% /mnt/luojijuan
十、删除逻辑卷步骤
1.取消挂载 umount /dev/today/luojijuan ,同时删除/etc/fstab文件内容
2.删除逻辑卷 lvremove /dev/today/luojijuan
3.删除卷组 vgremove today
4.删除物理卷 pvremove /dev/sdb1
添加物理盘可参考下篇 详解VMware虚拟机中添加新硬盘的方法
本文由一叶发布,不代表一叶立场,转载联系作者并注明出处:https://yiyeo.com/linux/299.html