河北省网站快速备案,深圳鹏洲建设工程有限公司网站,杭州网站建设哪家强,做预定网站的作用Linux常见的物理设备数据备份和负载均衡模式 1. LVM技术说明2. 相关概念3. 常用命令3.1 安装lvm命令3.2 创建分区3.3 格式化成LVM3.4 其他格式化 4. 常用场景4.1 创建LVM并挂载4.2 LVM扩容4.2.1 xfs扩容4.2.2 ext4扩容 4.2 缩减逻辑卷lv4.3 缩减vg#xff1a;#xff08;迁移… Linux常见的物理设备数据备份和负载均衡模式 1. LVM技术说明2. 相关概念3. 常用命令3.1 安装lvm命令3.2 创建分区3.3 格式化成LVM3.4 其他格式化 4. 常用场景4.1 创建LVM并挂载4.2 LVM扩容4.2.1 xfs扩容4.2.2 ext4扩容 4.2 缩减逻辑卷lv4.3 缩减vg迁移到闲置设备4.4 LVM快照创建4.5 删除设备 5. 参考文档 LVM是逻辑盘卷管理LogicalVolumeManager的简称它是Linux环境下对磁盘分区进行管理的一种机制LVM是建立在硬盘和 分区之上的一个逻辑层来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区如将若干个磁盘分区连接为一个整块的卷组 volumegroup形成一个存储池。管理员可以在卷组上随意创建逻辑卷组logicalvolumes并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小并且可以对磁盘存储按照组的方式进行命名、管理和分配例如按照使用用途进行定义“development”和“sales”而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间而是直接扩展文件系统跨越磁盘即可。 1. LVM技术说明
Linux的LVMLogical Volume Manager是一种磁盘管理工具可以用来对Linux系统中的磁盘进行灵活的管理和分区。
LVM可以将多个物理硬盘或分区组合在一起形成一个逻辑卷组Volume Group然后再从逻辑卷组中创建逻辑卷Logical Volumes。逻辑卷可以被格式化为文件系统并且可以像普通分区一样挂载到文件系统树中的任意位置。
LVM的主要优点有
可以动态地扩展和缩小逻辑卷的大小而无需重新分区或格式化磁盘。可以将不同的物理硬盘或分区组合在一起形成一个大的逻辑卷组从而充分利用磁盘空间。可以对逻辑卷进行快照备份以便在数据损坏或删除时进行恢复。可以通过移动数据块的方式进行数据迁移从而实现数据的高可用性和负载均衡。
2. 相关概念
PVPhysical Volume物理空间的意思其实就是指一个分区如/dev/sdb1 或者是一个盘如/dev/sdbVGVolume Group相当于一个Pool由多个PV组成的poolLVLogical Volume用来建立一个文件系统的空间这个空间来源于VG大小随意可以扩展。(比如/dev/mapper/rhel-root这个目录其实是一个文件系统挂载点这个点就是承载在一个LV上这个文件系统的大小就是这个LV的大小。 ) 3. 常用命令
3.1 安装lvm命令
yum install lvm2 -y常用的命令如下
PVPhysical(物理卷) pvcreate、pvs 、pvdisplay 、pvremove、pvmove、pvscanVGVolume Group(卷组) vgcreate、vgs、vgdisplay、vgremove、vgrename、vgreduce、vgextent LVlogical Volume(逻辑卷) lvs、lvdisplay、lvremove、lvextend、lvresize、lvscan、lvrename3.2 创建分区
[rootnode1 ~]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. Its strongly recommended to
switch off the mode (command c) and change display units to
sectors (command u).
Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units cylinders of 16065 * 512 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x39094458 Device Boot Start End Blocks Id SystemCommand (m for help): n Command action e extended p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1):
Using default value 1
Last cylinder, cylinders or size{K,M,G} (1-1305, default 1305): 3G Command (m for help): n
Command action e extended p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (394-1305, default 394):
Using default value 394Last cylinder, cylinders or size{K,M,G} (394-1305, default 1305): 5G
Command (m for help): pDisk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units cylinders of 16065 * 512 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x39094458Device Boot Start End Blocks Id System
/dev/sdb1 1 393 3156741 83 Linux
/dev/sdb2 394 1047 5253255 83 LinuxCommand (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.3.3 格式化成LVM
[rootnode1 ~]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. Its strongly recommended to
switch off the mode (command c) and change display units to
sectors (command u).Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units cylinders of 16065 * 512 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x39094458
Device Boot Start End Blocks Id System
/dev/sdb1 1 393 3156741 83 Linux
/dev/sdb2 394 1047 5253255 83 Linux
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): tPartition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units cylinders of 16065 * 512 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x39094458
Device Boot Start End Blocks Id System
/dev/sdb1 1 393 3156741 8e Linux LVM
/dev/sdb2 394 1047 5253255 8e Linux LVM
Command (m for help): wThe partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.3.4 其他格式化
# 格式化成xfsmkfs.xfs -n ftype1 /dev/vdb -f
# 格式化成ext4
mkfs.ext4 /dev/vdb4. 常用场景
4.1 创建LVM并挂载
[rootlocalhost ~]# pvcreate /dev/vdb1 ##创建物理卷
[rootlocalhost ~]# vgcreate -s 8M vg0 /dev/vdb1 ##创建物理卷组vg0,PE为8M
[rootlocalhost ~]# lvcreate -L 300M -n lv0 vg0 ##在卷组vg0上创建名为lv0大小为300M的逻辑卷[rootlocalhost ~]# mkfs.xfs -n ftype1 /dev/vg0/lv0 -f ##格式化逻辑卷并改系统格式为xfs
[rootlocalhost ~]# mkfs.ext4 /dev/vg0/lv0 ##格式化逻辑卷并改系统格式为ext4
[rootlocalhost ~]# mount /dev/vg0/lv0 /mnt ##挂载【linux下的文件系统需要被挂载后才能使用】
[rootlocalhost ~]# df -h4.2 LVM扩容
4.2.1 xfs扩容
分为2种情况
情况1: vg足够扩展
[rootlocalhost ~]# lvextend -L 500M /dev/vg0/lv0 ##扩展逻辑卷空间到500M
[rootlocalhost ~]# xfs_growfs /dev/vg0/lv0 ##扩展文件系统情况2vg不够拉伸得先扩大设备再扩大系统
先申请设备并扩容确保vg足够
[rootlocalhost ~]# pvcreate /dev/vdb2 ##创建物理卷/dev/vdb2
[rootlocalhost ~]# vgextend vg0 /dev/vdb2 ##将新的物理卷vdb2添加到现有的卷组vg0 扩展逻辑卷
[rootlocalhost ~]# lvextend -L 1500M /dev/vg0/lv0 ##增加逻辑卷空间到1500M
[rootlocalhost ~]# xfs_growfs /dev/vg0/lv0 ## 扩容xfs文件系统4.2.2 ext4扩容
分为2种情况
情况1: vg足够扩展
[rootlocalhost ~]# lvextend -L 500M /dev/vg0/lv0 ##扩展逻辑卷空间到500M
[rootlocalhost ~]# xfs_growfs /dev/vg0/lv0 ##扩展文件系统情况2vg不够拉伸得先扩大设备再扩大系统
先申请设备并扩容确保vg足够
[rootlocalhost ~]# pvcreate /dev/vdb2 ##创建物理卷/dev/vdb2
[rootlocalhost ~]# vgextend vg0 /dev/vdb2 ##将新的物理卷vdb2添加到现有的卷组vg0 扩展逻辑卷
[rootlocalhost ~]# lvextend -L 1500M /dev/vg0/lv0 ##增加逻辑卷空间到1500M
[rootlocalhost ~]# resize2fs /dev/vg0/lv0 ## 扩容ext4文件系统4.2 缩减逻辑卷lv
[rootlocalhost ~]# umount /mnt ##先卸载
[rootlocalhost ~]# e2fsck -f /dev/vg0/lv0 ##扫描逻辑卷上的空余空间
[rootlocalhost ~]# resize2fs /dev/vg0/lv0 1000M ##设备文件减少到1000M
[rootlocalhost ~]# lvreduce -L 1000M /dev/vg0/lv0 ##将逻辑卷减少到1000M
[rootlocalhost ~]# mount /dev/vg0/lv0 /mnt ##挂载4.3 缩减vg迁移到闲置设备
[rootlocalhost ~]# pvmove /dev/vdb1 /dev/vdb2 ##将vdb1的空间数据转移到vdb2/dev/vdb1: Moved: 88.0%/dev/vdb1: Moved: 100.0% ##转移数据成功
[rootlocalhost ~]# vgreduce vg0 /dev/vdb1 ##将/dev/vdb1分区从vg0卷组中移除Removed /dev/vdb1 from volume group vg0
[rootlocalhost ~]# pvremove /dev/vdb1 ##把/dev/vdb1分区从系统中删除Labels on physical volume /dev/vdb1 successfully wiped注意将vdb1的空间数据转移到vdb2时要确保vdb2的足够的空间能将vdb1的数据转移否则需要先将vdb1缩减。
4.4 LVM快照创建
[rootlocalhost ~]# touch /mnt/file{1..5}
[rootlocalhost ~]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##建立一个50M的快照
[rootlocalhost ~]# mount /dev/vg0/lv0backup /mnt ##挂载快照
[rootlocalhost ~]# cd /mnt
[rootlocalhost mnt]# ls
[rootlocalhost mnt]# rm -fr * ##删除所有文件
[rootlocalhost mnt]# cd
[rootlocalhost ~]# umount /mnt
[rootlocalhost ~]# lvremove /dev/vg0/lv0backup ##删除快照
[rootlocalhost ~]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##重建快照
[rootlocalhost ~]# mount /dev/vg0/lv0backup /mnt ##挂载快照
[rootlocalhost ~]# ls /mnt ##又可以看到之前建立的文件结论 LVM的快照可以将某一时刻的信息记录到快照区中因此可以利用这一特点对数据做完全备份。
4.5 删除设备
[rootlocalhost ~]# umount /mnt ##卸载
[rootlocalhost ~]# df
[rootlocalhost ~]# lvremove /dev/vg0/lv0backup ##删除快照
[rootlocalhost ~]# lvremove /dev/vg0/lv0 ##删除逻辑卷
[rootlocalhost ~]# vgremove vg0 ##删除物理卷组
[rootlocalhost ~]# pvremove /dev/vdb{1..2} ##删除物理卷5. 参考文档
暂无